Verilog
文章平均质量分 79
Verilog
Num One
IC Verifier
展开
-
verilog中的generate
一、generate介绍在设计中,很多情况下需要编写很多结构相同但是参数不同的赋值语句或者逻辑语句,如果在参数量很大的的情况下,原本的列举就会显得心有余而力不足。c语言中常用for语句来解决此类问题,verilog则为我们提供了generate语句。generate生成语句可以动态的生成verilog代码,当对矢量中的多个位进行重复操作 时,或者当进行多个模块的实例引用的重复操作时,或者根据参数的定义来确定程序中是否应该包含某段Verilog代码的时候,使用生成语句能大大简化程序的编写过程。生成语句生成原创 2021-03-31 00:02:31 · 1258 阅读 · 0 评论 -
【转载】葵花宝典:DFT问答第二篇
转载自https://mp.weixin.qq.com/s/RChXpJYni0vqZdJgWtFqJQBoundary Scan: A:Boundary scan 顾名思义,是附加在芯片I/O 周边的扫描测试链,它通过专门的测试端口(TAP)访问。在测试模式下,边界扫描链会接管功能逻辑,对I/O进行灵活访问。边界扫描链的结构,测试端口,以及其控制器(TAP Controller),被IEEE定为标准协议(IEEE 1149), 也称做JTAG. 边界扫描链最早应用于印刷电路板上芯片间的互联测转载 2021-02-18 19:58:32 · 1597 阅读 · 0 评论 -
【转载】CDC的那些事:CDC工程经验总结
这一篇老李给大家简单介绍一下工业界常用的CDC检查工具Spyglass,然后奉上CDC设计和验证中的工程经验总结。如果你已经熟悉Spyglass CDC,那么你可以跳过第一部分。全篇干货满满,总计三千多字,希望大家一定能够读到最后。一、CDC检查工具 我们先来说CDC检查工具。业界三大EDA公司Synopsys, Cadence, Mentor都有各自的CDC工具:Synopsys Spyglass CDC®, Cadence Conformal Constraint Designer®, Mento转载 2021-02-18 19:25:18 · 7183 阅读 · 4 评论 -
网表仿真基础知识
一、意义网表是逻辑/电路设计转化为物理实现的工作产品。按照芯片后端流程,主要分为综合网表,DFT网表,PR网表,其中PR网表是包含SDF的最终版网表。网表验证一般有三种形式,分别是仿真验证、形式验证和静态时序分析STA。其中网表仿真,尤其是PR网表仿真,时间紧,资源消耗大,debug困难,因此费时费力,且验证不全面。网表仿真的目的有以下几点:第一、功能仿真不包含的信息,如DFT插入的扫描链,或者基于工艺单元的功耗评估以及时序信息等。第二、其它方法无法处理的内容,如跨时钟域cdc接口或多周期multi-原创 2021-02-09 23:02:57 · 8205 阅读 · 0 评论 -
specify的含义、作用及vcs对应仿真选项
转载自https://www.cnblogs.com/hxing/p/9584190.html一、specify的含义specify block用来描述从源点(source:input/inout port)到终点(destination:output/inout port)的路径延时(path delay),由specify开始,到endspecify结束,并且只能在模块内部声明,具有精确性(accuracy)和模块性(modularity)的特点。二、specify的作用specify bloc原创 2021-02-08 21:35:18 · 13551 阅读 · 5 评论 -
clock skew vs uncertainty
https://www.sohu.com/a/140706292_485357时钟作为数字电路中最重要的信号,几乎每一个ASIC实现环节都需要针对时钟信号做很多特殊的处理,其主要原因在于时钟信号有着巨大的扇出。在电路网表里,可以看到一个时钟信号会从一个源头延伸出许许多多的支路到达一个个DFF(D触发器)的时钟输入端。这些时钟的分支就好像一颗树的分出的树枝一样,而那些DFF就好像一片片叶子。时钟树就是对这种时钟在电路中分支延展的一种形象而生动的比喻和说法。上图就是最原始简单的时钟树示意图。很显然,从时钟源原创 2021-01-14 20:28:03 · 947 阅读 · 0 评论 -
时序约束sdc之set_max_delay/set_min_delay及异步fifo格雷码的约束
1、什么是Min/Max Delays?Min/Max Delays可以理解为端到端的延时大小。port到port。Min Delay约束直接影响的是保持关系,因为延时最小对应的保持关系最差的情况;用于覆盖默认的hold(removal)约束。Max Delay约束直接影响的是建立关系,因为延时最大对应的建立关系最差的情况。用于覆盖默认的setup(recovery)约束。2、语法格式:set_max_delay <delay_value> [-datapath_only] [-fro原创 2021-01-12 20:18:55 · 14319 阅读 · 0 评论 -
verilog 时延相关语法
《Verilog HDL与数字系统设计简明教程》吴戈 人民邮电出版社 p34~351、时延的概念连续赋值语句中经常出现时延,时延就是给出一个值,程序执行到此处就会暂停下来,等待这个值规定的若干个单位时间(单位时间的大小是默认值或由预处理指令timescale定义),然后再继续执行后面的语句。定义时延的形式是使用符号“#”,如#3就表示在此等待3个单位时间。时延可以单独作为一句,如“#3;”就是程序中的一条语句。时延也可以内嵌在连续赋值语句中,跟在关键词assign之后。如果在连续赋值语句中没有定义时延原创 2021-01-11 20:33:37 · 4862 阅读 · 2 评论 -
UART基础知识(一)
一、基础知识UART:通用异步收发传输器,universal asynchronous receiver transmitter作用:低速接口,串并转换。把并行输入的信号转换成串行输出,作为连接外部设备的接口,如EEPROM通信。原理:异步串口通信协议,把传输数据的每个字符按一位一位地传输。TTL电平信号:vcc=0v时,代表逻辑0;vcc=3.3v/5v,代表逻辑1。RS232标准电平信号:vcc为-3v~-13v时,代表逻辑0;vcc为+3v~+13v时,代表逻辑1;UART内部可设电平转换原创 2020-12-20 20:41:09 · 1586 阅读 · 1 评论 -
fifo深度H的计算
介绍:对于fifo来说,H的设置至关重要。既要保证功能性,不溢出丢数,也要保证性能流水。深度设置过小会影响功能,过大又浪费资源。因此,总结下fifo设计中深度H的计算。一、同步fifo1.1 流控反压后不溢出假设数据一直发,下游一直读,读频率小于写频率时,fc(flow control)流控后,最坏的情况下,下游不读了。此时fifo反压信号拉高,上游写ready拉低,此时路上的数据需要能存入fifo,称之为过冲。过冲需要保证路上的数据被fifo完全吸收不溢出,因此fifo的深度H=过冲+上水位线TA原创 2020-12-10 23:32:42 · 1833 阅读 · 0 评论 -
fifo主要例化参数和标志位
一、例化参数H:fifo深度TA:fifo上水位线TB:fifo下水位线深度H设置过大,浪费资源;H设置过小,无法保证功能性。TA保证fifo的功能性,TB保证fifo的流水性能。二、常见的标志位2.1 aremptyarempty:将空,almost empty flag假设fifo内存的数据个数为cnt,则cnt=wr_pointer-rd_pointer。当cnt<=TB时,arempty下一拍拉高。2.2 remptyrempty:读空当rempty<=(wr_p原创 2020-12-10 23:06:53 · 1814 阅读 · 0 评论 -
Verilog系统函数$readmemb和$readmemh
一、$readmemb和$readmemh《Verilog数字系统设计教程》夏宇闻著p448语法:$readmemb(“File”,MemoryName[, StartAddr[, FinishAddr]]);$readmemh(“File”,MemoryName[, StartAddr[, FinishAddr]]);起始地址可以省略。$readmemb(“File”,MemoryName);$readmemh(“File”,MemoryName);作用:把文本文件中的数据赋值到存储器中。原创 2020-12-09 23:47:05 · 2130 阅读 · 3 评论 -
《Verilog数字系统设计教程》(第4版)第10章 笔记
总线和总线操作总线是运算部件之间数据流通的公共通道。只要电路的规模允许,可以自由地确定总线的位宽,大大提高数据流通的速度。各运算部件和数据寄存器组可以通过带控制端的三态门与总线的连接。通过对控制端电平的控制来确定在某一时间段内,总线归哪两个或哪几个部件使用。用Verilog描述总线和总线操作是非常简单的,下面是一个简单的与总线有接口的模块是如何对总线操作的例子:module SampleOf...原创 2019-07-07 21:49:35 · 1614 阅读 · 0 评论 -
《Verilog数字系统设计教程》(第4版)第7章思考题及答案
1.为什么在多模块调试的情况下monitor需要配合monitor需要配合monitor需要配合monitoron和$monitoroff来工作?monitoron和monitoron和monitoron和monitoroff任务的作用是通过打开和关闭监控标志来控制监控任务monitor的启动和停止,这样使得程序员可以很容易的控制monitor的启动和停止,这样使得程序员可以很容易的控制moni...翻译 2019-07-01 21:56:56 · 2482 阅读 · 0 评论 -
《Verilog数字系统设计教程》(第4版)第6章思考题及答案
1.怎么理解initial语句只执行一次的概念?在仿真开始时,initial语句只执行一次,但initial语句里面的语句可能不只执行一次。因为如果是while循环,虽然initial语句是执行一次,但只要是进了while循环,则会执行到仿真结束。2.在initial语句引导的过程块中是否可以有循环语句?如果可以,是否与思考题1,互相矛盾?可以,并不互相矛盾。initial语句确实是只执行了...翻译 2019-06-30 22:48:57 · 2603 阅读 · 0 评论 -
《Verilog数字系统设计教程》(第4版)第1章思考题及答案
1.什么是硬件描述语言?它的主要作用是什么?硬件描述语言是一种用形式化方式来描述数字电路和系统的语言。它的主要作用是:数字电路系统的设计者利用这种语言可以用上层到下层(从抽象到具体)逐步描述自己的设计思想,用一系列分层次的模块来表示及其复杂的数字系统。2.目前世界上符合IEEE标准的硬件描述语言有哪两种?它们各有什么特点?符合IEEE标准的硬件描述语言是Verilog HDL和VHDL两种。...翻译 2019-06-30 14:45:40 · 4888 阅读 · 0 评论 -
《Verilog数字系统设计教程》(第4版)第2章思考题及答案
1.Verilog语言有什么作用?可描述顺序执行和并行执行的程序结构;用延迟表达式或事件表达式来明确的控制过程的启动时间;通过命名的事件来触发其它过程里的激活行为或停止行为;提供了条件如if-else,case等循环程序结构;提供了可带参数且非零延续时间的任务程序结构;提供了可定义新的操作符的函数结构;提供了用于建立表达式的算术运算符,逻辑运算符,位运算符;Verilog HDL语...翻译 2019-06-29 23:27:39 · 3431 阅读 · 0 评论 -
《Verilog数字系统设计教程》(第4版)第3章思考题及答案
1.模块由几个部分组成?由描述接口和描述逻辑功能两部分组成。2.端口分为几种?三种:输出口,输入口,输入/输出口。3.为什么端口要说明信号的位宽?因为如果不说明信号的位宽可能会在信号发生改变时发生错误,不容易看出接收到的信号的数据宽度,就很难进行数据的处理。4.能否说模块相当于电路图中的功能模块,端口相当于功能模块的引脚?可以那样说,每个模块都有特定的功能,而功能的实现就必须依靠具体...翻译 2019-06-29 19:40:11 · 5304 阅读 · 0 评论 -
《Verilog数字系统设计教程》(第4版)第4章思考题及答案
1.逻辑运算符与按位逻辑运算符有什么不同,它们各在什么场合使用?用逻辑运算符运算时是两个操作数进行逻辑运算,而按位逻辑运算符是两个操作数对应的每一位进行逻辑运算。逻辑运算符多用于条件的判断,按位逻辑运算符用于信号的运算和检测。2.指出两种逻辑等式运算符的不同点,解释书上的真值表。两种逻辑运算符有很大的区别。“===” 要求两个比较数完全一样,无论高阻还是未知,只要每位完全相同即可。 “= =...翻译 2019-06-29 15:45:54 · 7630 阅读 · 1 评论 -
《Verilog数字系统设计教程》(第4版)绪论思考题及答案
1.什么是信号处理电路?它通常由哪两大部分组成?信号处理电路是进行一些复杂的数字运算和数据处理,并且又有实时响应要求的电路。它通常由高速数据通道接口和高速算法电路两大部分组成。2.为什么要设计专用的信号处理电路?因为有的数字信号处理对时间的要求非常苛刻,以至于用高速的通用处理器也无法在规定的时间内完成必要的运算。通用微处理器芯片是为一般目的而设计的,运算的步骤必须通过编程编译后生成的机器码指...翻译 2019-06-29 14:20:44 · 4934 阅读 · 0 评论 -
Verilog硬件描述语言 西安电子科技大学 蔡觉平主讲 P8 语言设计思想和和可综合特性、组合电路设计 课程笔记
4.2 Verilog HDL组合电路设计组合电路的特点是:电路中任意时刻的稳态输出仅仅取决于该时刻的输入,而与电路原来的状态无关。组合电路的设计需要从以下几个方面考虑:1.所用的逻辑器件数目最少,器件的种类最少,且器件之间的连线最简单,这样的电路称为“最小化”电路;2.其次,为了满足速度需求,应使级数尽量少,以减少门电路的延迟,电路的功耗应尽可能的小,工作时稳定可靠;描述组合逻辑电路有...原创 2019-07-07 16:50:15 · 2796 阅读 · 2 评论