Verilog 設(shè)計初學(xué)者例程一 時序電路設(shè)計
Verilog 設(shè)計初學(xué)者例程一 時序電路設(shè)計
By 上海 無極可米
12/13/2001
---------基礎(chǔ)-----------
1. 1/2分頻器
module halfclk(reset,clkin,clkout);
input clkin,reset;
output clkout;
reg clkout; //輸出設(shè)為reg
always @(posedge clkin) //上升沿觸發(fā)
begin
if(!reset) clkout=0; //復(fù)位
else clkout=~clkout;
end
endmodule
得到的波形
__--__--__--__--__--__--__--__
_____-----_____-----_____-----_____
-----------提高--------------
2. 1/50分頻
module f50(reset,clkin,clkout);
input clkin,reset;
output clkout;
reg clkout; //輸出設(shè)為reg
reg [7:0] j; //計數(shù)器
always @(posedge clk) //上升沿觸發(fā)
if(!reset) //低電平復(fù)位。
begin
clkout <= 0;
j <= 0;
end
else
begin
if(j==49) //對計數(shù)器進(jìn)行判斷,以確定clkout信號是否反轉(zhuǎn)。
begin
j <= 0;
clkout <= ~clkout;
end
else
j <= j+1;
end
endmodule
得到的波形
__--__--... __--__--__--__--__--__
50個clk
__________________________-----------------------
------------進(jìn)階---------------
3. 設(shè)計習(xí)題
----------
------------------ -------------------
20個clk 10個clk 20個clk
提示:因為電平為1和0的時間不等,所以要用兩個計數(shù)器。
來源:0次