写8位的比较简单,最大计数也只有256而已,我现在是64位计数器,32位总线输出,数值比较大,而我用的芯片是EPM7128,我不知道会出现什么问题或者有些什么因素需要我考虑,经验欠缺,贴个代码吧,虽然感到惭愧,但希望各位不要见笑,我只是个菜鸟。<br />/***********ADDRESS DECODER***************<br /> Input: global clk;<br /> Output: data_out[31:0];<br />***************************************/<br />module Bit_64count(clk,data_out);<br />input clk;<br />output [31:0] data_out;<br />reg [31:0] data_out;<br />reg[63:0] Bit_count;<br />reg Cnt_flag ;<br /><br />always @(clk)<br />begin<br /> Cnt_flag <= Cnt_flag == 1? 0:1;<br /> if(!Cnt_flag)<br /> begin<br /> Bit_count <= Bit_count + 1;<br /> data_out <= Bit_count[31:0];<br /> end<br /> else<br /> data_out <= Bit_count[63:32];<br />end <br /> <br />endmodule
|