作业帮 > 综合 > 作业

在FPGA上制作一个9秒的计数器.

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/30 05:15:09
在FPGA上制作一个9秒的计数器.
开发板上有一个50MHZ的晶振,也就是单周期为20nS,对该信号进行50,000,000次分频后可行到1HZ的信号,再对这1HZ的信号进行计数就可以了.
在FPGA上制作一个9秒的计数器.
using counter directly.
clock freq = 50MHz,
output freq = 1/9 Hz
counter width = ceil(log2(9*450*10^6)) = 29
CONSTANT cnt_norm :UNSIGNED(28 DOWNTO 0) := TO_UNSIGNED(9*450*(10**6)-1,29);
SIGNAL counter :UNSIGNED(28 DOWNTO 0) := (OTHERS=>'0');
SIGNAL pulse :STD_LOGIC := '0';
cnt_proc:PROCESS(clk)
BEGIN
IF RISING_EDGE(clk) THEN
IF counter = cnt_norm THEN
counter '0');
pulse