05 2018 档案
摘要:在Verilog中,对于未指定线网类型的隐性线网默认的类型为wire,如果没有对线网进行上拉或者下拉操作,那么其状态为高阻态,即“Z”。对于特定设计在后端实现时会对相应的端口进行上下拉操作,为了保持这种特性,除了显示声明线网类型为tri0或者tri1等外,还可以通过编译命令实现端口上下拉。本文将对通
阅读全文
摘要:线网(net)作为Verilog语言中两种主要数据类型之一(变量数据类型和线网数据类型),主要用来模拟数字设计中连接多个不同模块或者模型的物理连线,因此线网是不存储数据的(除了trireg类型),仿真时线网上显示的数据由驱动该线网的驱动源决定的。如果线网没有被有效驱动,那么其上表现出来的数据是高阻态
阅读全文
摘要:随着科技的发展,65nm及65nm以下的工艺节点成为设计的主流 随着工艺的发展,绝对的物理变异导致相对较大的电气特性变异 随着工艺的发展,时序收敛变得越来越困难 可制造性的问题(DFM)变得越来越关键 本文针对UDSM后端设计中的问题,做一个分析和总结希望对大家的面试和工作有帮助 UDSM下工艺库,
阅读全文
摘要:在使用Verilog进行设计的过程中,使用task和function在同一个module中多次调用,充分提高了代码的复用性,有效增强设计的可维护性和复用性,可以避免不同模块间代码复制导致的不必要的错误。本文主要探讨task和function的使用以及两者之间的异同点。 1 task 定义不能出现在过
阅读全文
摘要:本文针对常见的Timing Budgeting 问题,做深入的分析和总结 涉及 Timing Budgeting 的问题,属于综合约束设计中的高级问题;牵扯到综合的策略和方法以及要实现的效果,这几点要从整体上把握 Timing Budgeting 的水平和能力,直接体现在综合的结果上 项目前期的Ti
阅读全文
摘要:在Verilog中,parameter既不属于变量范畴也不属于线网范畴,经常用来定义一个标志符代表一个常量,所以参数的值在仿真运行的过程中不能进行修改。但是通过使用参数,可以提高程序的可读性、可复用性和可维护性。目前常用的参数主要分为两大类:module参数(parameter和localparam
阅读全文
摘要:在使用Verilog建模组合逻辑时,经常会使用“@*”的方式实现将进程中素有输入信号隐含加入到敏感信号列表中。但是如果该进程中包含对函数的引用时,尽管使用“@*”,综合前后的仿真结果还是有出现不一致的情况。本文将对此进行示例说明。 1 问题示例 Verilog中可以在always后使用“@*”来代替
阅读全文
摘要:本文针对常见的partition问题,做深入的分析和总结 涉及到partitioning的问题,属于LPS设计中的进阶问题,对程序设计有指导意义;属于代码设计和综合工程师必须掌握的知识点 某些情况下,partition的错误理解会对综合和后端实现产生严重的时序问题,大幅降低芯片性能的同时也会降低工具
阅读全文
摘要:在使用Verilog进行设计过程中,经常会遇到某些条件判断语句中的分支没有执行,有些for循环仅执行一次的情况,特别是在过程性赋值语句中。其中很大一部分是因为错误使用了“;”导致的。因为Verilog源自C语言,根据其语言特性,“;”在Verilog中本身是一条单独的空语句,只是岂不进行任何具体操作
阅读全文
摘要:关于coding forsynthesis 本文针对常见的RTL code 问题,做深入的分析和总结 涉及coding for synthesis 的问题,属于RTL设计中的基本问题 Coding for synthesis 的水平和能力,直接体现在synthesis的结果上 Coding for
阅读全文
摘要:0 丑话说在前边 RHS:运算符(= or <=)右侧的表达式 LHS:运算符(= or <=)左侧的表达式 竞争(Race Condition):在同一仿真时间槽(time-slot)多条语句同时执行顺序不同时可能产生不同的执行结果的情况。 建议规则一:模拟组合逻辑时使用阻塞赋值。 建议规则二:在
阅读全文
摘要:在使用Verilog进行数字设计或者构建验证平台时,如果连接模块端口的线网或变量的宽度与端口定义的宽度不一致,在进行仿真时将有可能出现逻辑功能与期望不一致的情况,本文将对此类情况进行示例分析。 首先,在IEEE 1364-2001中,模块的端口对于信号的传输类似于连续赋值语句对于信号的传递,因此,对
阅读全文
摘要:在进行组合逻辑建模的时候,经常会遇到在过程性语句中的程序对数组中索引或者元素值变化进行相应的操作,但是在实际的建模过程中,经常会遇到因为以错误的方式在敏感信号列表中使用数组导致仿真结果与期望不一致的情况。本文将就此示例说明。 1.数组的构成 格式: type [MSB3:LSB3][MSB4:LSB
阅读全文
摘要:关于EmbeddedMemories 随着半导体工艺的发展,可测性技术(DFT)成为每个芯片在设计中必须考虑的问题 如何高效和高质量的测试芯片中的内嵌Memory,成为DFT技术中的关键技术 本文针对rombist中的Memorymodel的产生算法和结果做一个分析和总结 实际案例的具体分析和计算
阅读全文
摘要:关于Insert_Scan 随着半导体工艺的发展,可测性技术(DFT)成为每个芯片在设计中必须考虑的问题 测试覆盖率作为DFT技术中的关键指标,受到多种因素制约 本文针对常见的Insert_scan问题和方法,做一个深入的分析和总结 Insert_Scan属于时序设计中的高阶问题,需要一定的背景知识
阅读全文
摘要:关于Timing borrow 本文针对常见的timingborrow 问题,做深入的分析和总结 涉及到timingborrow 的问题,属于LPS设计中的高级问题 通过TimingBorrow可以对电路进行加速,当路径延迟较大时,可以通过借用latch的部分时间实现数据的锁存从而可以提高设计运行的
阅读全文
摘要:1 基本概念 在数字实现过程中,延迟一般有以下几种: 分布式延迟(Distributed Delays) 一般用来指定模块内部信号通过逻辑单元或者线网耗费的时间。 模块路径延迟(Module Path Delays) 模块路径一般指从源(输入端口或者输入输出端口)到目的(输出端口或者输入输出端口)的
阅读全文
摘要:1.新建一个工程,创建一个原理图文件,并在其中进行原理图电路绘制,本例以一个2输入与门为例,如下图所示: 绘制好电路图后,保存绘制好的电路至新建的工程,如下图所示: 因为原理图文件ModelSim等第三方仿真器并不识别,所以需要将其输出为Veilog或者VHDL文件,操作如下: 点击当前选项后弹出如
阅读全文
摘要:1.新建一个项目过程参考" Quartus II 创建工程流程",在该流程第5步时,选在EDA Tool的窗口时,选择第三方的EDA工具以及设计使用的设计语言,如下图所示: 设置完成后,按照之前流程直到项目创建成功. 2.创建成功后,对设计进行编译,确认设计编译正确,即可进入下一环节设置测试平台.编
阅读全文
摘要:1.新建一个波形文件 2.右键点击Name下空白框,在弹出的菜单中选择"Inert->Insert Node or Bus..." 如果已经知道端口名称和端口类型,直接在弹出的对话框中键入Name后,相应的信息会自动识别到对话框中,如下: 如果不确定端口名或存在多个输入,点击“Node Finder
阅读全文
摘要:1.新建一个项目,点击"File->New..."弹出如下对话框: 2.建立原理图设计平台: 3.在原理图绘制区双击鼠标左键,即可弹出元件符号窗口,如下图所示: 4.添加元件,在红色框部分输入要查找的元件名,如果库中存在对应元件,则对应元件符号会显示在对话框右侧的绘制区,单击"OK"即可完成对应元件
阅读全文
摘要:1.完成FPGA工程创建(参见"Quartus II 创建新工程"),设置空闲引脚状态,如果不设置,那么闲置的引脚状态不能确定,如下图所示: 2.将空闲的引脚设为输入,且状态为高阻态,如下图所示: 3.引脚设置,首先点击编译按钮,为后续软件识别管脚方向做准备,如下图所示: 再次点击下图按钮即可进入到
阅读全文
摘要:1.新建工程 2.设置工程路径、工程名和设计的顶层名后,点击"Next" 3.添加设计文件,同时将设计文件加入到工程中(如果此处不添加设计文件,可以在工程建立好之后,通过菜单选择"File"进行添加),点击"Next"进入下一步,如下图所示: 4.选择好FPGA系列,在此以型号EPM3128ATC1
阅读全文
摘要:Coverage Overview 随着芯片规模越来越大,集成的功能越来越多,一次性流片费用的增加,市场竞争的日益激烈,如何在验证和测试中解决判断验证充分性和完备性的问题逐步成为业界验证工作的热门话题。 并且伴随验证技术的进一步发展,验证技术也发生了巨大的变化,覆盖率作为其中一种判断验证充分性的手段
阅读全文
摘要:分析说明: initial"块"在仿真开始时执行,开启进程procedure_0,创建一个对应的可执行的线程.该进程中开启了5个进程(ini_process_0、ini_process_1、ini_process_2、ini_process_3和ini_process_4),其中并没有哪个进程创建对
阅读全文
摘要:【设计要求】 使用层次化设计方法,用VHDL语言设计四位二进制全加器,并进行仿真。 【设计目的】 考查对于VHDL元件例化语法的熟悉程度; 考查对于数字电路中全加器工作原理的理解; 【设计思路】 用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器。一位全加器可以处理低位进位,并输出本位加
阅读全文
摘要:关于path and path group 本文针对常见的path和pathgroup 问题,做深入的分析和总结 path 和path group 属于时序设计中的基本问题,属于必须掌握的知识点 希望对大家的面试和工作有帮助,如有兴趣,可以添加微信号“xgcl_wei”进行更进一步的交流沟通学习 D
阅读全文
摘要:重要说明 整个集成电路的设计和生产链路很长,相关专有名称很多; 本文对常见的集成电路相关的名词缩写进行了汇总,特别聚焦与集成电路设计领域,意在整理常用的数字电路/DC/PT/ICC/DFV/DFT/RTL/ATE相关方面的知识点,方便大家快速学习和掌握相关知识,方便大家查询;同时希望对学生将来的培训
阅读全文

浙公网安备 33010602011771号