美文网首页
verilog中计数器和信号展宽的小技巧

verilog中计数器和信号展宽的小技巧

作者: 喜欢萝莉的逗逼青年 | 来源:发表于2016-05-24 20:08 被阅读644次

1 Verilog中信号展宽的两种写法


第一种写法: 把信号signal_a 展宽8拍

    reg signal_a_dly1....signal_a_dly8  
    然后,把这些中间信号进行或操作
    out_signal_a<=(signal_a_dly1|signal_a_dly2|...signal_a_8)

第二种写法: 利用移位寄存器把信号signal_a 展宽8拍

     reg[7:0]signal_a_shift;
     signal_a_shift<={signal_a[6:0],signal_a};
     out_signal_a<=|{signal_a_shift};
     如果写成了这种形式,实际上就展宽了9拍。
     out_signal_a<=|{signal_a_shift,signal_a};

2 verilog中计数器的一种实现


我们要实现在96cycle内,只计前32个cycle(只有前32个cycle有效,后面cycle数据不做处理),后面不计.

   always@(posedge clk or negedge rst)
     if(!rst)
         cnt<=6'd0;
     else if(fr&&str)
         cnt<=6'd1;
     else if(cnt==32)
         cnt<=6'd0;
     else if(cnt)
         cnt<=cnt+6'd1;//将计数器非0作为加1的控制条件(精髓)
     else 
         cnt<=6'd0;.

实际上用到的是计数器从1-32这32cycle内有效的数据,0,1...32,0,1...32
避免了使用中间控制信号及信号flag。

相关文章

  • verilog中计数器和信号展宽的小技巧

    1 Verilog中信号展宽的两种写法 第一种写法: 把信号signal_a 展宽8拍 第二种写法: 利用移位寄...

  • vcs仿真vhdl和verilog语言混合仿真的问题

    当用vcs对vhdl和verilog语言混合仿真时,遇到verilog语言的模块的信号无dump波形,解决方法:在...

  • 周期计数器

    写完了再看感觉逻辑很清晰: cpu中实现计数器(reg变量+always时序,注意verilog综合规范),值赋给...

  • 一些Verilog的小东西

    一些Verilog的小东西 [TOC] 常用小模块 奇数次分频 PWM的FPGA控制 任意时钟分频 格雷码计数器 ...

  • 边沿检测器

    对clk时钟信号的边沿检测在Verilog中是支持posedge clk这种语法格式的,但是对于一个普通的信号边沿...

  • 理解semaphore

    Semaphore(信号量) 信号量可以简单的概括为:一个计数器,一个等待队列,三个方法。在信号量模型里,计数器和...

  • Verilog进行饱和与截位操作

    转载自jgliu的博客 Verilog进行饱和与截位操作 一、引言 在利用Verilog写数字信号处理相关算法的过...

  • 2019-07-25

    verilog语言使用 rtl级建模和组合逻辑级区别:rtl级包含rst和clk信号 变量类型 wire 连线 r...

  • Verilog学习笔记(一)wire与reg

    Verilog基本语法学习笔记 两个重要的基本类型 类型说明wirewire就是数字电路中的信号线regreg就是...

  • Verilog——格雷码计数器

    - 格雷码(Gray code):​ 第一次接触格雷码是在本科的数电课本上,其在可靠性编码占据重要位置...

网友评论

      本文标题:verilog中计数器和信号展宽的小技巧

      本文链接:https://www.haomeiwen.com/subject/guizrttx.html