名稱:模塊化設(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