微言电子 MicroLan https://bbs.21ic.com/?663866 [收藏] [复制] [RSS] 微言电子致力于国内领先的嵌入式系统解决方案的研发、实施,拥有一批思想先进,技术过硬的软硬件工程师组成,可向中小企业提供完整的嵌入式解决方案。

日志

verilog hdl输出单个脉冲

已有 1538 次阅读2012-8-26 13:27 |个人分类:一日一志|系统分类:EDA/PLD

AddressComparator地址比较器,将自身地址与下行命令中的地址相比较,若相同则输出一个VLDCMD脉冲,该脉冲是一个时钟周期,用于触发其他模块,解析下行命令寄存器,并控制电磁阀等动作。




`timescale 10us/1us


module enc;


  reg reset;


  reg clk;


  wire va;


  always #1 clk=~clk;


  initial


  begin


      clk=0;


      #1 reset=0;


      #2 reset=1;


      #3 reset=0;


  end


  tt u1(.reset(reset),.clk(clk),.valid_(va));


endmodule


module tt(reset,clk,valid_);


input reset;


input clk;


output valid_;


reg valid_;


reg[31:0] counter;


always@(posedge clk or posedge reset)


begin


  if(reset) counter=0;


else


    if(counter==10)


      counter<=0;


      else


        counter<=counter+1;


end


always@(posedge clk or posedge reset)


begin


  if(reset) valid_=0;


    else


      begin


          if(valid_) valid_=0;


          if(counter==10 && !valid_)


            begin


                valid_=1;


              end


        end


  end


endmodule


 


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)