微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请教一个计数器的小问题!

请教一个计数器的小问题!

时间:10-02 整理:3721RD 点击:
请教一个计数器的小问题:
当侦测到第一个输入为47时,计数器开始16进制计数。此后不再受输入信号的影响,独立计数。小弟刚
入门,请问各位大侠,如何用verilog编写?

计数到47时,给一个寄存器赋个值,你的计数器根据这个寄存器的值进行相应的操作!

很简单的一个问题,画一画电路图就知道怎么些了,。

一个简单的例子,希望对你有所帮助。
//
module cnt(
       mclk,
       mrst,
       data_from_input,
       cnt_data
       );
   input                    mclk;
   input                    mrst;
   input  [7:0]             data_from_input;
   output [7:0]             cnt_data;
   
   reg                            cnt_en;
   reg   [7:0]                    cnt_data;
   
   always @(posedge mclk or posedge mrst)
   begin
         if(mrst==1'b1)
         begin
               cnt_en <= 1'b0;
         end
         else
         begin
               if( data_from_input==8'd47 )
               begin
                     cnt_en <= 1'b1;
               end
         end
   end
   
   always @(posedge mclk or posedge mrst)
   begin
         if(mrst==1'b1)
         begin
               cnt_data <= {8{1'b0}};
         end
         else
         begin
               if( cap_en==1'b1 )
               begin
                     cnt_data <= cnt_data+1'b1;
               end
         end
   end
   
endmodule

上一篇:信号使能问题
下一篇:求助 异步fifo

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top