nanoty

导航

2021年10月7日 #

【原创】SystemVerilog中的typedef前置声明方式

摘要: SystemVerilog中,为了是代码简洁、易记,允许用户根据个人需要使用typedef自定义数据类型名,常用的使用方法可参见“define和typedef区别”。但是在SystemVerilog引入面向对象编程后,经常会遇到在编写某个类或者类型的定义之前需要先使用对变量进行声明,往往这种情况下编 阅读全文

posted @ 2021-10-07 17:09 nanoty 阅读(2720) 评论(0) 推荐(0) 编辑

2021年7月31日 #

【原创】case、casez和casex谁是谁

摘要: 在Verilog中case语句经常用于多分支表决的结构,case后的表达式会与各分支表达式“全等”那么对应的分支会被执行.其基本结构如下: case(expression) expr1 : statement_or_null; … exprn : statement_or_null; default 阅读全文

posted @ 2021-07-31 09:26 nanoty 阅读(722) 评论(0) 推荐(0) 编辑

2021年7月24日 #

【原创】如何通过-y和-v使用库文件

摘要: 在进行仿真时,经常遇到设计代码中需要调用一些标准的库文件,但是在设计的编译列表filelist中却没有相应的库文件,这时为了完成仿真,需要设计人员提供对应的库文件或者库文件所在的路径,然后仿真时将这些库文件或者路径添加到编译命令中,以实现仿真编译的正常进行。这个过程在实际中是通过”-y”和”-v”将 阅读全文

posted @ 2021-07-24 22:28 nanoty 阅读(2467) 评论(0) 推荐(0) 编辑

2021年7月11日 #

【原创】聊点$display的一点事情

摘要: 在搭建仿真测试环境时,经常用$display显示一些信息用于辅助定位问题和调试,但是在具体是用$display时,经常会因为设置不当或者格式说明符使用不对,导致显示输出结果与期望不一致。为此,下面将示例说明$display的一些使用方法。 首先,$display的使用格式如下: $display(p 阅读全文

posted @ 2021-07-11 22:56 nanoty 阅读(2171) 评论(0) 推荐(0) 编辑

2021年7月4日 #

【仿真】后仿真中的notifier是奏啥滴!

摘要: 在进行后仿真的时候,我们经常会发现有人在仿真命令中增加了“+no_notifier”,从而使输出不定态导致的功能异常出现的情况神奇的消失了。那么,到底是为什么会出现这种情况呢?本文将以示例说明notifier到底是干啥滴! Notifier在英文中的意思是通知人、通告人,在后仿真过程中他的作用就跟他 阅读全文

posted @ 2021-07-04 17:01 nanoty 阅读(4118) 评论(2) 推荐(0) 编辑

【原创】SystemVerilog中的多态和虚方法

摘要: 封装可以隐藏实现细节,使代码模块化,继承可以扩展已经存在的代码模块,目的都是为了代码重用。多态是为了实现接口的重用。在SystemVerilog中,子类和父类之间多个子程序使用同一个名字的现象称为SystemVerilog的“多态(polymorphism)”特征。子类从父类扩展创建之后,子类就继承 阅读全文

posted @ 2021-07-04 11:22 nanoty 阅读(2267) 评论(0) 推荐(1) 编辑

【原创】SystemVerilog中的浅复制(shallow copy)和深复制(deep copy)

摘要: 使用SystemVerilog搭建环境的时候,经常会遇到需要对一个对象进行复制,以防止对象的方法修改原始对象的值。对于初学者经常会使用new函数来实现class的内建的复制功能,但是,当要复制的对象中含有其他对象(object)时,使用内建的复制功能将会得到不期望的结果。本文将示例说明shallow 阅读全文

posted @ 2021-07-04 10:59 nanoty 阅读(2618) 评论(0) 推荐(0) 编辑

2015年3月21日 #

【原创】关于$test$plusargs和$value$plusargs的小结【SystemVerilog/Verilog】

摘要: 【原创】关于$test$plusargs和$value$plusargs的小结 Abtract $test$plusargs和$value$plusargs作为进行Verilog和SystemVerilog仿真运行时调用的系统函数,可以在仿真命令直接进行赋值,并且不局限于不同仿真器对于参数在仿真命令 阅读全文

posted @ 2015-03-21 10:43 nanoty 阅读(38176) 评论(0) 推荐(3) 编辑

2013年4月16日 #

【原创】关于setup和hold的深入浅出【Verilog】

摘要: Abtract 在后仿真过程中经常会遇到关于setup和hold violation的问题,但是关于setup和hold time的产生原因和由来很少有人细究。 本文将对setup和hold的实质简要归纳总结,如有不当,敬请指教。Introduction1.触发器原理 上图为触发器的简要示意图。T1和T4同时导通,T2和T3同时导通,且T1、T4和T2、T3导通状况互反。其中T1、T2、T3、T4均为传输门(关于传输门可以翻看相关电路方面资料,这里暂不涉及具体内容),均为电平敏感,所以所谓的时钟跳变可以理解为高低电平的相互跳变所致。而电路中实际的延时信息主要由于电信号导通... 阅读全文

posted @ 2013-04-16 23:12 nanoty 阅读(3967) 评论(0) 推荐(1) 编辑

2013年3月14日 #

【方案解决】ncelab: *E,CUIOCP Out-of-module reference terminating in a VHDL scope is not allowed

摘要: Error Messagencelab: *E,CUIOCP Out-of-module reference terminating in a VHDL scope is not allowedDefinitionThis solution addresses the following points regarding accessing internal signals between Verilog and VHDL domains :Q1:The ncelab error CUIOCP as shown above : Scenario : I have a mixed languag 阅读全文

posted @ 2013-03-14 22:16 nanoty 阅读(2167) 评论(0) 推荐(0) 编辑