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

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

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

名稱:模塊化設(shè)計數(shù)字時鐘Verilog代碼Quartus仿真

軟件:Quartus

語言:Verilog

代碼功能:

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

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

1、23:01:33 24小時制

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

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

clr,輸入,清零信號,低電平有效

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

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

dp輸出信號,小數(shù)點,用于模擬時間分隔符:

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

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

模塊名clk_div_1s

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

端口列表:

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

clr、低電平使能

en、高電平使能

ld、低電平使能

輸出Q[3:0]

Cout 進位

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

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

en使能

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

dp 小數(shù)點

5、seg7decimal模塊

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

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

clr,輸入,清零信號,低電平有效

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

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

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

dp輸出信號,小數(shù)點,用于模擬時間分隔符:

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

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

6、要求編寫測試模塊,進行功能仿真測試

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

演示視頻:

部分代碼展示:

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

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

相關(guān)推薦