本文主要是介绍HDLbits: ece241 2014 q7b,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目要求用10进制的BCD计数器来构造1000计数,其实也是将1000hz的时钟信号改造成1hz,我们首先计算出10的三次方等于1000,需要三个10进制的计数器,去计999的中高低位。
最低位的计数器一直在对时钟信号计数,因此enable=1,中间位的计数器在最低位的计数器达到9时计数,因此enable=(Q1==9),最高位的计数器在中间位的计数器和最低位的计数器同时达到9时才计数。
module top_module (input clk,input reset,output OneHertz,output [2:0] c_enable
); //wire [3:0] Q1,Q2,Q3;assign c_enable[0] = 1;assign c_enable[1] = (Q1==9);assign c_enable[2] = (Q2==9 && Q1==9);assign OneHertz = (Q3==9 && Q2==9 && Q1==9); bcdcount counter0 (clk, reset, c_enable[0], Q1);bcdcount counter1 (clk, reset, c_enable[1], Q2);bcdcount counter2 (clk, reset, c_enable[2], Q3);endmodule
这篇关于HDLbits: ece241 2014 q7b的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!