📄 clock_gen.v
字号:
// Copyright 2007 Actel Corporation. All rights reserved.
// ANY USE OR REDISTRIBUTION IN PART OR IN WHOLE MUST BE HANDLED IN
// ACCORDANCE WITH THE ACTEL LICENSE AGREEMENT AND MUST BE APPROVED
// IN ADVANCE IN WRITING.
// Rev: 3.0 21FEB07 HJ : v3.0 CoreConsole Release
`define CUARTO \
1 \
'b \
0
`define CUARTI \
1 \
'b \
0
`define CUARTl \
1 \
'b \
1
`define CUARTOI \
1 \
'b \
1
`timescale 1ns/1ns
module
Clock_gen
(
clk
,
reset_n
,
baud_val
,
baud_clock
,
xmit_pulse
)
;
input
clk
;
input
reset_n
;
input
[
7
:
0
]
baud_val
;
output
baud_clock
;
output
xmit_pulse
;
wire
baud_clock
;
wire
xmit_pulse
;
reg
[
7
:
0
]
CUARTII
;
reg
CUARTlI
;
reg
CUARTOl
;
reg
[
3
:
0
]
CUARTIl
;
always
@
(
posedge
clk
or
negedge
reset_n
)
begin
:
CUARTll
if
(
reset_n
===
1
'b
0
)
begin
CUARTII
<=
8
'b
00000000
;
CUARTlI
<=
1
'b
0
;
end
else
begin
if
(
CUARTII
===
8
'b
00000000
)
begin
CUARTII
<=
baud_val
;
CUARTlI
<=
1
'b
1
;
end
else
begin
CUARTII
<=
CUARTII
-
1
'b
1
;
CUARTlI
<=
1
'b
0
;
end
end
end
always
@
(
posedge
clk
or
negedge
reset_n
)
begin
:
CUARTO0
if
(
reset_n
===
1
'b
0
)
begin
CUARTIl
<=
4
'b
0000
;
CUARTOl
<=
1
'b
0
;
end
else
begin
if
(
CUARTlI
===
1
'b
1
)
begin
CUARTIl
<=
CUARTIl
+
1
'b
1
;
if
(
CUARTIl
===
4
'b
1111
)
begin
CUARTOl
<=
1
'b
1
;
end
else
begin
CUARTOl
<=
1
'b
0
;
end
end
end
end
assign
xmit_pulse
=
CUARTOl
&
CUARTlI
;
assign
baud_clock
=
CUARTlI
;
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -