![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数字IC设计
礼茶的贤
数字IC前端
展开
-
【数字IC前端】Systemverilog语法——文本结构
结构文本(Structure literals)结构文本(Structure literals)是具有常量成员表达式的结构分配模式或模式表达式。 结构文字必须具有类型,该类型可以用前缀显式指示,也可以由类似赋值的上下文隐式指示。PS:’ 号通常可以表示存储地址空间不是连续的typedef struct {int a; shortreal b;} ab;ab c;c = '{0, 0.0}; // structure literal type determined from// the lef原创 2020-06-27 21:32:15 · 434 阅读 · 0 评论 -
【数字IC前端】SystemVerilog断言(SVA)语法
转载自新浪博客1. SVA的插入位置:在一个.v文件中:2. 断言编写的一般格式是:3. 带参数的property、带参数的sequence断言assertion被放在verilog设计中,方便在仿真时查看异常情况。当异常出现时,断言会报警。一般在数字电路设计中都要加入断言,断言占整个设计的比例应不少于30%。以下是断言的语法:1. SVA的插入位置:在一个.v文件中:module ABC (); rtl 代码 SVA断言endmodul...转载 2020-06-24 10:59:23 · 5688 阅读 · 0 评论 -
【数字IC前端】异步FIFO深度计算
以下内容搬运自公众号:硅农,原文链接附下:原文连接 Case-1:fA > fB 读写之间没有空闲周期Case-2:fA > fB 在两个连续读写之间有一个周期的延迟Case--3:fA > fB读写都有空闲周期(IDLE Cycles)Case-4:fA > fB并给出了读写使能的百分比Case-5:fA < fB 读写操作无空闲周期(每两个连续读写之间有一个周期延迟)Case-6:fA < fB 读写操作有空闲周期(读写使能占得百分比问题)Case-7:fA = f转载 2020-06-15 14:45:58 · 1593 阅读 · 1 评论 -
【数字IC前端】学习随笔(2)
Q1: 数字IC验证一些模块时,往往要考虑一些数据回写、反压、读后写、写后读等等情况,为什么要这么考虑?A1: 考虑这些情况,往往是我们想到了模块可能被以什么情况来操作,但是在有关计算机体系结构的教科书中,在指令集并行有关的章节中提到了数据冒险的概念。数据冒险是指指令间存在相关性并且这两条指令相聚非常接近,足以使执行期间的重叠改变相关操作数的访问顺序,数据冒险分成三类:RAW写后读:j在i还没写入时就读取同一位置,会读取旧值WAW写后写:j在i还没写入时就写入同一位置,会被i写入覆盖(存在于i原创 2020-06-09 16:47:38 · 647 阅读 · 0 评论 -
【数字IC前端】学习随笔(1)——SystemVerilog数据类型
Systemverilog与Verilog数据类型区分:比较寄存器(register)类型reg和线网(net,如wire)型以及SV中引入的logic类型:reg与wire: Verilog作为硬件描述语言,倾向于设计人员自身懂得所描述的电路中哪些变量应该被实现为寄存器,而哪些变量应该被实现为线网类型。这不但有利于后端综合工具,也更便于阅读和理解。logic: SV作为侧重于验证的语言,并不十分关切logic对应的逻辑应该波综合为寄存器还是线网,因为logic被使用的场景如果是验证环境,那么它只会原创 2020-05-23 22:30:31 · 1877 阅读 · 1 评论 -
Ubuntu 18.04安装VCS+Verdi踩坑总结。
Ubuntu 18.04安装VCS+Verdi踩坑总结。安装参考流程:https://blog.csdn.net/huayangshiboqi/article/details/89525723#comments?tdsourcetag=s_pctim_aiomsg以及一篇PDF,见附件问题1:解决:问题2:解决:执行 sudo apt install net-tools问题3:解决:deb http://mirrors.ustc.edu.cn/ubuntu/ trusty main原创 2020-05-12 23:57:07 · 3432 阅读 · 5 评论