zoukankan      html  css  js  c++  java
  • 惯性延迟与阻塞/非阻塞赋值

      最近在编写仿真的时候顺便研究了一下电路延迟,延迟分两种,一种是惯性延迟,一种是传输延迟.

      惯性延迟可以理解为滤波,其本身的产生原因也是电路中存在的大量电容,电容有充放电效应,因此可以平波峰波谷,类似水库.

      但是要注意的一点是,网上的解释里面的图片都是一个带尖峰脉冲的输入进来,输出丝毫不变,这是不可能的,实际的图像应该是这个尖峰被平滑成了土堆,能量依然能够传递,但是触发器的0/1判断也是有界限的,所以平滑之后没有达到输出改变的界限.就相当于没有起效,尖峰脉冲似乎就被"滤掉了".

      传输延迟不能拿来滤波,就是走线的延迟,器件的延迟.尖峰脉冲会被它们如实传递下去.

      阻塞赋值和非阻塞赋值,在verilog里是一个难点,但是我觉得不存在这个概念,因为同为硬件描述语言,,VHDL中不存在这个概念.

      总的来说电路里只有组合逻辑和时序逻辑,所谓阻塞和非阻塞,只是VERILOG在时序格式(always)的代码段里硬写组合逻辑所造成的问题.对于我个人而言,写时序逻辑一律使用"<=",写组合逻辑都使用"=".

      而且,reg和wire声明的优先级很低,也就是说,假如我们声明了一个信号为reg,在always块里按照组合逻辑给它写,综合出来还是wire,这就很无语了,整这些语法特性画蛇添足.

  • 相关阅读:
    C语言I作业12—学期总结
    # 第一周作业
    C语言Ⅰ博客作业11
    C语言Ⅰ博客作业10
    C语言Ⅰ博客作业09
    C语言Ⅰ博客作业08
    C语言||作业01
    C语言寒假大作战04
    C语言寒假大作战03
    C语言寒假大作战02
  • 原文地址:https://www.cnblogs.com/aliothx/p/13455452.html
Copyright © 2011-2022 走看看