信息化和网站建设管理工作情况,WordPress没有必要缓存插件,企业形象vi设计公司,wap文字网页游戏文章目录前言一、数据位宽1、有符号定点数2、Nbit和Mbit相加或相乘二、阻塞赋值和非阻塞赋值三、timescale四、三态门的设计五、verilog模块编程原则六、二进制码、独热码、格雷码比较1、独热码2、格雷码3、二进制码前言
2023.4.5 清明节 一、数据位宽
N位有符号数#xff1…
文章目录前言一、数据位宽1、有符号定点数2、Nbit和Mbit相加或相乘二、阻塞赋值和非阻塞赋值三、timescale四、三态门的设计五、verilog模块编程原则六、二进制码、独热码、格雷码比较1、独热码2、格雷码3、二进制码前言
2023.4.5 清明节 一、数据位宽
N位有符号数-2^(N-1) ~ 2^(N-1) -1 N位无符号数0 ~ 2^N-1 如8bit无符号数范围0-255有符号数范围-128-1270占掉了正数
1、有符号定点数
范围 最大值3 2^-1 2^-2 2^-3 2^-4 最小值-4 - (2^-1 2^-2 2^-3 2^-4 2^-5)
N 8,3Q5 //总共8位数整数部分3位小数部分5位2、Nbit和Mbit相加或相乘
相加位数1 相乘位数NM
二、阻塞赋值和非阻塞赋值
组合电路要使用阻塞赋值时序电路使用非阻塞赋值
阻塞赋值非阻塞赋值立刻执行立刻改变一个周期计算右边的值下个周期赋值给左边在过程块结束时才完成赋值操作执行过程不受其他语句执行的影响不影响其他语句的执行其他语句在执行后顺序执行并行执行在串行语句块中顺序执行在并行语句块中同时执行在串行语句块中执行没有先后之分各条语句并行执行
三、timescale
时间精度要小于等于时间单位只能是1、10、100这样的数verilog是没有默认的timescale没有声明的模块可能会错误的使用前面模块的定义
timescale 时间单位/时间精度
timescale 1ns/1ps四、三态门的设计
三态门既不是0也不是1电阻很大相当于开路
always(din or en)beginif(en)dout din;elsedout 1bz;
end//或者assign赋值
assign dout en ? din : 1bz;五、verilog模块编程原则
时序电路建模时用非阻塞赋值。锁存器电路建模时用非阻塞赋值。用always块建立组合逻辑模型时用阻塞赋值。在同一个always块中建立时序和组合逻辑电路时用非阻塞赋值。在同一个always块中不要既用非阻塞赋值又用阻塞赋值。不要在一个以上的 always 块中为同一个变量赋值。用$strobe系统任务来显示用非阻塞赋值的变量值。在赋值时不要使用#0延时。
六、二进制码、独热码、格雷码比较
1、独热码
一种使用N位状态寄存器来对N个状态进行编码的方法每个状态都由它独立的寄存器位并且在任意时候其中只有一位有效。 优点状态比较时仅需要比较一位从而在一定程度上简化了译码逻辑节约了组合逻辑资源速度更快 缺点需要较多的寄存器资源且编码效率低适合用于状态数较少的情况。
2、格雷码
每次只有一位发生变化的二进制编码方法
优点每次只改变1bit低功耗发送亚稳态概率降低缺点无权码不能直接进行计算
3、二进制码
编码简单可以进行运算但是翻转较多容易产生亚稳态