• 方案介紹
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

模塊化設(shè)計(jì)數(shù)字時(shí)鐘Verilog代碼Quartus仿真

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

名稱(chēng):模塊化設(shè)計(jì)數(shù)字時(shí)鐘Verilog代碼Quartus仿真

軟件:Quartus

語(yǔ)言:Verilog

代碼功能:

模塊化設(shè)計(jì)數(shù)字時(shí)鐘

設(shè)計(jì)數(shù)字鐘,要求如下:

1、23:01:33 24小時(shí)制

整個(gè)數(shù)字鐘端口列表:

clk,輸入,外部時(shí)鐘信號(hào),假設(shè)為50MHz

clr,輸入,清零信號(hào),低電平有效

seg_atog[6:0]輸出信號(hào),用于驅(qū)動(dòng)7段數(shù)碼管,高電平有效

an[5:0]輸出信號(hào),用于使能每個(gè)7段數(shù)碼管,低電平有效,分別連接6個(gè)7段數(shù)碼管的com端

dp輸出信號(hào),小數(shù)點(diǎn),用于模擬時(shí)間分隔符:

2、設(shè)計(jì)分頻電路,產(chǎn)生1s輸出時(shí)鐘

根據(jù)所選板卡外部時(shí)鐘進(jìn)行分頻,或根據(jù)仿真時(shí)間單位進(jìn)行分頻

模塊名clk_div_1s

3、仿照74160端口及功能設(shè)計(jì)4位10進(jìn)制計(jì)數(shù)器模塊,模塊名counter_10,實(shí)例化組成數(shù)字鐘計(jì)數(shù)電路

端口列表:

輸入clk、上升沿觸發(fā)

clr、低電平使能

en、高電平使能

ld、低電平使能

輸出Q[3:0]

Cout 進(jìn)位

4、設(shè)計(jì)七段顯示譯碼器,模塊名seg7

輸入:d[3:0]要顯示數(shù)字的8421BCD碼

en使能

輸出:seg_atog[6:0],[0]-a,[6]-g

dp 小數(shù)點(diǎn)

5、seg7decimal模塊

本模塊作用在于將數(shù)字鐘計(jì)時(shí)電路中每位十進(jìn)制數(shù)字(共6位,例如23:01:33)轉(zhuǎn)換為7段led顯示驅(qū)動(dòng)碼(6個(gè)7段led顯示器分時(shí)復(fù)用

clk,輸入,外部時(shí)鐘信號(hào),假設(shè)為50MHz

clr,輸入,清零信號(hào),低電平有效

Q[23:0]4位對(duì)應(yīng)1個(gè)74160計(jì)數(shù)器模塊

seg_atog[6:0]輸出信號(hào),用于驅(qū)動(dòng)7段數(shù)碼管,高電平有效

an[5:0]輸出信號(hào),用于使能每個(gè)7段數(shù)碼管,低電平有效,分別連接6個(gè)7段數(shù)碼管的com端

dp輸出信號(hào),小數(shù)點(diǎn),用于模擬時(shí)間分隔符:

5、整個(gè)設(shè)計(jì)框架為:由分頻電路產(chǎn)生1s時(shí)鐘脈沖,經(jīng)過(guò)秒鐘計(jì)數(shù),將秒鐘計(jì)數(shù)進(jìn)位信號(hào)輸出給分鐘計(jì)數(shù)電路,再將分鐘計(jì)數(shù)進(jìn)位信號(hào)輸出給小時(shí)計(jì)數(shù)電路,再

利用seg7decimal模塊驅(qū)動(dòng)2位小時(shí)、2位分鐘、2位秒鐘顯示數(shù)字

6、要求編寫(xiě)測(cè)試模塊,進(jìn)行功能仿真測(cè)試

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

演示視頻:

部分代碼展示:

//數(shù)字鐘
module?clock(
inputclk,//輸入,外部時(shí)鐘信號(hào),假設(shè)為50MHz
inputclr,//輸入,清零信號(hào),低電平有效
output[6:0]seg_atog,//輸出信號(hào),用于驅(qū)動(dòng)7段數(shù)碼管,高電平有效
output[5:0]an,//輸出信號(hào),用于使能每個(gè)7段數(shù)碼管,低電平有效,分別連接6個(gè)7段數(shù)碼管的com端
outputdp//輸出信號(hào),小數(shù)點(diǎn),用于模擬時(shí)間分隔符:?
);
wire?clk_1hz;
wire?cout_second;
wire?cout_minute;
wire?[3:0]?cnt_ten_second;//計(jì)數(shù)值十位
wire?[3:0]?cnt_one_second;//計(jì)數(shù)值個(gè)位
wire?[3:0]?cnt_ten_minute;//計(jì)數(shù)值十位
wire?[3:0]?cnt_one_minute;//計(jì)數(shù)值個(gè)位
wire?[3:0]?cnt_ten_hour;//計(jì)數(shù)值十位
wire?[3:0]?cnt_one_hour;//計(jì)數(shù)值個(gè)位
wire?[23:0]Q;//4位對(duì)應(yīng)1個(gè)74160計(jì)數(shù)器模塊
assign?Q={cnt_ten_hour,cnt_one_hour,cnt_ten_minute,cnt_one_minute,cnt_ten_second,cnt_one_second};
//分頻電路,產(chǎn)生1s輸出時(shí)鐘
clk_div_1s?i_clk_div_1s(
.clk(clk),//輸入,外部時(shí)鐘信號(hào),假設(shè)為50MHz
.clr(clr),//輸入,清零信號(hào),低電平有效
.clk_1hz(clk_1hz)?//1s輸出時(shí)鐘
);

點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1312

相關(guān)推薦