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

Quartus數(shù)字秒表verilog代碼青創(chuàng)QC-FPGA開發(fā)板

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

2-2312201533323V.doc

共1個文件

名稱:Quartus數(shù)字秒表verilog代碼青創(chuàng)QC-FPGA開發(fā)板

軟件:Quartus

語言:Verilog

代碼功能:

數(shù)字秒表設計:

1、支持復位、啟動、暫停;

2、具有量程切換功能,可以切換顯示小時、分鐘或者秒、毫秒;

3、數(shù)碼管顯示時間,精確到10毫秒。

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

本代碼已在青創(chuàng)QC-FPGA開發(fā)板驗證,青創(chuàng)QC-FPGA開發(fā)板如下,其他開發(fā)板可以修改管腳適配:青創(chuàng)QC-FPGA開發(fā)板.png

演示視頻:

設計文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. 管腳分配

5. RTL圖

6. 仿真圖

頂層整體仿真圖

分頻模塊

控制模塊

顯示模塊

部分代碼展示:

LIBRARY?ieee;
USE?ieee.std_logic_1164.all;?
--秒表設計
ENTITY?miaobiao?IS?
PORT
(
???sysclk_in?:??IN??STD_LOGIC;--48MHZ
???S1?:??IN??STD_LOGIC;--復位
S2?:??IN??STD_LOGIC;--啟動
S3?:??IN??STD_LOGIC;--停止
sw_in???????:?IN?STD_LOGIC;--量程切換
LEDA?:??OUT??STD_LOGIC_VECTOR(7?DOWNTO?0);--數(shù)碼管段選
SEL?:??OUT??STD_LOGIC_VECTOR(3?DOWNTO?0)--數(shù)碼管位選
);
END?miaobiao;
ARCHITECTURE?RTL?OF?miaobiao?IS?
--參數(shù)化的分頻模塊--可以支持不同的輸入時鐘
COMPONENT?div?IS
?generic?(N:integer);
???PORT?(
??????clk_in????:?IN?STD_LOGIC;--輸入
??????S1??????:?IN?STD_LOGIC;--復位
??????clk_out??:?OUT?STD_LOGIC--輸出時鐘
???);
END?COMPONENT;
--秒表控制模塊
COMPONENT?control
???PORT?(
??????clk_100Hz??????????????:?IN?STD_LOGIC;--100Hz
??????S2??????????????:?IN?STD_LOGIC;--啟動
??????S3???????????????:?IN?STD_LOGIC;--停止
??????S1??????????????:?IN?STD_LOGIC;--復位
Millisecond??:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);--10毫秒BCD碼
second???????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);--秒BCD碼
minute???????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);--分BCD碼
hour???????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)--時BCD碼
???);
END?COMPONENT;
--數(shù)碼管顯示模塊
COMPONENT?display
PORT(clk?:?IN?STD_LOGIC;
?S1?:?IN?STD_LOGIC;
?sw_in???????:?IN?STD_LOGIC;--量程切換
?hour?:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);
?Millisecond?:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);
?minute?:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);
?second?:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);
?LEDA?:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);
?SEL?:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0)
);
END?COMPONENT;
SIGNALhour?:??STD_LOGIC_VECTOR(7?DOWNTO?0);
SIGNALMillisecond?:??STD_LOGIC_VECTOR(7?DOWNTO?0);
SIGNALminute?:??STD_LOGIC_VECTOR(7?DOWNTO?0);
SIGNALsecond?:??STD_LOGIC_VECTOR(7?DOWNTO?0);
SIGNALclk_100Hz?:??STD_LOGIC;
SIGNALclk_in?:??STD_LOGIC;
BEGIN?
--分頻到1000Hz--參數(shù)化的分頻模塊--可以支持不同的輸入時鐘
U1K_div?:?div
generic?map(48000)
PORT?MAP(
?clk_in?=>?sysclk_in,
?S1?=>?S1,
?clk_out?=>?clk_in
?);
--分頻到100Hz---參數(shù)化的分頻模塊--可以支持不同的輸入時鐘
U100_div?:?div
generic?map(10)
PORT?MAP(
?clk_in?=>?clk_in,
?S1?=>?S1,
?clk_out?=>?clk_100Hz
?);
?
--秒表計時模塊
U_control?:?control
PORT?MAP(
?clk_100Hz?=>?clk_100Hz,
?S2?=>?S2,
?S3?=>?S3,
?S1?=>?S1,
?hour?=>?hour,
?Millisecond?=>?Millisecond,
?minute?=>?minute,
?second?=>?second
?);
--顯示模塊
U_display?:?display
PORT?MAP(
?????clk?=>?clk_in,
?S1?=>?S1,
?sw_in=>?sw_in,--量程切換
?hour?=>?hour,
?Millisecond?=>?Millisecond,
?minute?=>?minute,
?second?=>?second,
?LEDA?=>?LEDA,
?SEL?=>?SEL
?);
END?RTL;

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

  • 2-2312201533323V.doc
    下載

相關(guān)推薦