![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
verilog常见问题
暖暖的时间回忆
这个作者很懒,什么都没留下…
展开
-
verilog多种方式实现乘法器
乘法器的verilog实现(并行、移位相加、查找表)并行乘法器,也就是用乘法运算符实现,下面的代码实现8bit无符号数的乘法。代码:module mult_parrell(rst_n, clk, a, b, ...转载 2020-04-17 14:30:54 · 11033 阅读 · 3 评论 -
Verilog流水线设计
流水线概述如下图为工厂流水线,工厂流水线就是将一个工作(比如生产一个产品)分成多个细分工作,在生产流水线上由多个不同的人分步完成。这个待完成的产品在流水线上一级一级往下传递。比如完成一个产品,需要8道工序,每道工序需要10s,那么流水线启动后,不间断工作的话,第一个产品虽然要80s才完成,但是接下来每10s就能产出一个产品。使得速度大大提高。当然这也增加了人员等资源的付出。对于电路的流水线...转载 2020-04-15 16:39:53 · 1744 阅读 · 1 评论 -
verilog语言中任务和函数的区别
任务和函数有助于简化程序,有点类似与Fortran语言的subroutine和function。任务和函数的共同点:1.任务和函数必须在模块内定义,其作用范围仅适用于该模块,可以在模块内多次调用。2.任务和函数中可以声明局部变量,如寄存器,时间,整数,实数和事件,但是不能声明线网类型的变量。3.任务和函数中只能使用行为级语句,但是不能包含always和initial块,设计者可以在alwa...转载 2020-04-15 10:46:01 · 1701 阅读 · 0 评论 -
Verilog实现状态机与状态机经典示例——序列检测器、自动饮料售卖机
原文链接:https://blog.csdn.net/qq_34070723/article/details/100737225作者:King阿金 目录1.状态机原理与三段式状态机2.状...转载 2020-04-10 22:27:13 · 1126 阅读 · 0 评论 -
一道verilog笔试题考察的generate特性
生成语句可以动态的生成verilog代码,当对矢量中的多个位进行重复操作时,或者当进行多个模块的实例引用的重复操作时,或者根据参数的定义来确定程序中是否应该包含某段Verilog代码的时候,使用生成语句能大大简化程序的编写过程。生成语句生成的实例范围,关键字generate-endgenerate用来指定该范围。生成实例可以是以下的一个或多个类型:(1)模块;(2)用户定义原语;(3)门级语...原创 2020-04-09 09:07:30 · 308 阅读 · 0 评论 -
Verilog实现偶数、奇数、半整数、分数(小数)分频,画电路图用D触发器实现分频
学习摘自FPGA开源工作室通常我们说对原时钟进行N分频,即分频后的时钟的一个周期是原时钟周期的N倍。N可以为偶数、奇数、半整数、分数(小数)。1.偶数分频Verilog:N为偶数,使用一个计数器循环0-(N-1)进行计数,在N/2-1与N-1分别将输出取反,即完成了N分频。若果采用D触发器画出分频器,单个D触发器的反向输出到输入就构成了一个简单的2分频器,以此为基础,其分频输出作为下一级D...转载 2020-04-06 17:57:50 · 744 阅读 · 0 评论 -
Verilog重点解析(3)
学习摘自数字芯片实验室forever,repeat,while,for和do-while之间有什么区别?在Verilog-2001中支持forever, repeat,while和for循环语句,do-while结构是在SystemVerilog中引入的。这些语句根本上的不同在于begin-end语句块中执行了多少次循环。以下总结了这些差异:forever:forever语句块中的语句会一...原创 2020-04-05 21:45:05 · 806 阅读 · 0 评论 -
verilog重点解析(2)
学习摘自数字芯片实验室1、连续赋值和过程赋值之间有什么区别?2、initial和always中的赋值有什么区别?3、阻塞和非阻塞赋值之间有什么区别?个人觉得阻塞非阻塞是仿真电路下的描述,实际电路中是没有这个描述的。实际的电路中只有组合逻辑和时序逻辑,不可能存在谁阻塞了谁。只是仿真中需要特别注意。按照书上的描述:阻塞相当于软件中的顺序执行,非阻塞相当于并发执行。类比为阻塞就是一个...原创 2020-04-05 21:35:30 · 474 阅读 · 0 评论 -
Verilog重点解析(1)
学习摘自数字芯片实验室Verilog运算符==,=====之间有什么区别?“= =”逻辑相等运算符用于建模硬件,不比较高阻抗或不定值。如果“==”运算符的操作数包含X或Z,那么结果是不定值,是一个“X”。 例如,a = 2’b1x ;b = 2’b1x ; if(a == b) $display(“reachedif”) ;else $display...原创 2020-04-05 21:11:00 · 643 阅读 · 0 评论 -
Verilog读取波形文件数据
Verilog读取波形文件数据原创 2020-04-03 20:34:01 · 1565 阅读 · 0 评论 -
FPGA时序约束问题一图总览
原创 2020-04-03 20:29:39 · 181 阅读 · 0 评论 -
verilog一二三段式状态机的标准区别和示例
状态机标准状态机描述时关键是要描述清楚前面提到的几个状态机的要素,即如何进行状态转移;每个状态的输出是什么;状态转移是否和输入条件相关等。具体描述时方法各种各样,有的设计者习惯将整个状态机写到1 个always 模块里面,在该模块中即描述状态转移,又描述状态的输入和输出,这种写法一般被称为一段式FSM 描述方法;还有一种写法是用2 个always 模块,其中一个always 模块采用同步时...原创 2020-04-03 20:22:46 · 3221 阅读 · 0 评论 -
FPGA浮点数的定点化以及浮点数和十进制数的转换
转换成十进制的时候,浮点数的阶码需要先减去127;首先明确输入的浮点数是什么格式的:其次明白要输出的定点数又是怎样的,最后两者之间的转换也就明了了:输入的浮点数是:f[31:0]表示一个单精度32位浮点数,f[31]是符号位,其为‘0’表示正数、为‘1’表示负数;f[30:23]这8位为指数位,为了能表示负指数,将在实际指数的基础上加上127得到的结果存入f[30:23];f[22:0]表...原创 2020-02-23 22:09:43 · 1237 阅读 · 0 评论