
Verilog
ffdia
嵌入式软件工程师,FPGA ARM DSP
展开
-
阻塞与非阻塞赋值的区别
https://blog.youkuaiyun.com/fzr_en/article/details/89552323侵删阻塞赋值:前面语句执行完,才可执行下一条语句;即:前面语句的执行(b=a)阻塞了后面语句的执行(c=b)。即:always块内,2条语句顺序执行。always @(posedge i_clk)beginb = a;c = b;e...原创 2019-12-12 13:16:56 · 500 阅读 · 0 评论 -
verilog中非与按位取反
verilog中,“!”表示逻辑求反,“~”表示按位求反。当对位宽为1的变量进行操作时,这两个操作符的作用是一样的,都是求反。当对位宽为2的变量a[1:0]进行操作时,这两个操作符的作用就不一样了:“!”表示~(a[0] | a[1]),只有当a的每一位都为0时,结果才为1,条件判断中 if(!a) 等价于 if(a == 0);“~”表示对每一位按位取反,只有当a的每一位都为1时,结...原创 2019-12-12 08:12:08 · 41005 阅读 · 2 评论 -
Verilog模块概念和实例化
模块的概念模块(module)是verilog最基本的概念,是v设计中的基本单元,每个v设计的系统中都由若干module组成。1、模块在语言形式上是以关键词module开始,以关键词endmodule结束的一段程序。2、模块的实际意义是代表硬件电路上的逻辑实体。3、每个模块都实现特定的功能。4、模块的描述方式有行为建模和结构建模之分。5、模块之间是并行运行的。6、模块是...转载 2018-11-28 10:12:04 · 45826 阅读 · 6 评论 -
有限状态机(FSM)写法的总结(一段式,二段式,三段式)
状态机描述时关键是要描述清楚几个状态机的要素,即如何进行状态转移,每个状态的输出是什么,状态转移的条件等。具体描述时方法各种各样,最常见的有三种描述方式: (1)一段式:整个状态机写到一个always模块里面,在该模块中既描述状态转移,又描述状态的输入和输出; (2)二段式:用两个always模块来描述状态机,其中一个always模块采用同步时序描述状态转移;另一个模块采...原创 2019-03-24 09:51:33 · 17226 阅读 · 2 评论 -
乘法器的Verilog HDL实现
1. 串行乘法器两个N位二进制数x、y的乘积用简单的方法计算就是利用移位操作来实现。module multi_CX(clk, x, y, result); input clk; input [7:0] x, y; output [15:0] result; reg [15:0] result; parameter s0 = 0, s1...转载 2019-03-24 15:55:41 · 1870 阅读 · 0 评论