SystemVerilog讲座优质PPT.ppt

上传人:b****1 文档编号:13882225 上传时间:2022-10-14 格式:PPT 页数:124 大小:835.50KB
下载 相关 举报
SystemVerilog讲座优质PPT.ppt_第1页
第1页 / 共124页
SystemVerilog讲座优质PPT.ppt_第2页
第2页 / 共124页
SystemVerilog讲座优质PPT.ppt_第3页
第3页 / 共124页
SystemVerilog讲座优质PPT.ppt_第4页
第4页 / 共124页
SystemVerilog讲座优质PPT.ppt_第5页
第5页 / 共124页
点击查看更多>>
下载资源
资源描述

SystemVerilog讲座优质PPT.ppt

《SystemVerilog讲座优质PPT.ppt》由会员分享,可在线阅读,更多相关《SystemVerilog讲座优质PPT.ppt(124页珍藏版)》请在冰豆网上搜索。

SystemVerilog讲座优质PPT.ppt

IEEE推出VerilogIEEEStd1364-2001标准2002:

IEEE推出VerilogIEEEStd1364.1-2002标准2002:

Accellera对SystemVerilog3.0进行标准化Accellera是OVI&

VHDLInternational(VI)合并后的国际标准化组织2003:

Accellera标准化后的SystemVerilog3.12006:

IEEE推出带SystemVerilog扩展的Verilog新标准,为什么称SystemVerilog3.x?

SystemVerilog是对Verilog革命性的扩展Verilog1.0-IEEE1364-1995“Verilog-1995”标准第一代IEEEVerilog标准Verilog2.0-IEEE1364-2001“Verilog-2001”标准第二代IEEEVerilog标准显著提升了Verilog-1995标准的性能SystemVerilog3.x-国际标准化组织对Verilog-2001的扩展第三代Verilog标准DAC-2002-SystemVerilog3.0DAC-2003-SystemVerilog3.1,SystemVerilog是Verilog-2001扩展后的超集,assertionsmailboxestestprogramblockssemaphoresclockingdomainsconstrainedrandomvaluesprocesscontroldirectCfunctioncalls,-SystemVerilog-,-fromC/C+-classesdynamicarraysinheritanceassociativearraysstringsreferences,SystemVerilog是Verilog-2001扩展后的超集,interfacesdynamicprocessesnestedhierarchy2-statemodelingbyteunrestrictedportspackedarraysimplicitportconnectionsarrayassignmentsenhancedliteralsenhancedeventcontroltimevalues&

unitsunique/prioritycase/iflogic-specificprocessesrootnamespacealiasconst&

=|=%=-,-fromC/C+-intglobalsbreakshortintenumcontinuelonginttypedefreturnBytestructuresdo-whileShortrealunions+-+=-=*=/=voidcasting=aliasconst&

=|=%=,-SystemVerilog-,SystemVerilog是Verilog-2001扩展后的超集,ANSICstyleportsstandardfileI/O(*attributes*)generate$value$plusargsconfigurationslocalparamifndefelsiflinememorypartselectsconstantfunctions*variablepartselect,-fromC/C+-multidimensionalarrayssignedtypesAutomatic*(poweroperator),-Verilog-2001-,SystemVerilog是Verilog-2001扩展后的超集,modules$finish$fopen$fcloseinitialwireregparameters$display$writedisableintegerrealfunction/task$monitoreventstimealwaysdefineifdefelsewait#packedarraysassignincludetimescaleforkjoin2Dmemory,-fromC/C+-beginend+=*/%whileforforeverif-elserepeat,-Verilog-1995-,SystemVerilog提高设计效率,提高了设计效率,描述同样的功能,其代码可缩短2到5倍-代码短发生意外错误的概率减小了,但仍然可以综合,新的语句构造可以解决RTL仿真和综合后仿真的不匹配;

-小组成员间更容易理解和交流;

缩短了学习周期。

结构化的和用户定义的数据类型,与封装好的接口通信,.*蕴涵的端口实例引用,极大地提高了仿真速度仅一种语言就能解决设计和测试问题,设计和验证语言的统一提高了设计效率,学习周期很短,设计和验证人员都乐意采用:

-可自动生成高级的受约束-随机测试信号语句,大大降低了设计和验证的复杂度;

-完整的统一的断言技术改善了设计小组和验证小组之间的交流。

使得我们有可能使用更高速度的仿真工具,加速了设计的完成,SyestemVerilog的全面验证和设计,统一的断言扩展了验证方法的效率-基于断言的验证-形式化特征的验证-线路板上的加速验证,SystemVerilog设计语言,Verilog-2001的事件调度,当前的时隙,#0阻塞赋值,计算非阻塞表达式的RHS,连续赋值,$display命令,更新非阻塞表达式的LHS,阻塞赋值,更新原语的输入和的输出,,$monitor系统命令,$strobe系统命令,语句激活,语句暂停活动,非阻塞赋值,监视,来自上一个时隙,Verilog-2001时隙被分成4等级区域,新的名称将”延迟”事件区域,去下一个时隙,编写代码的八项原则,一般情况下,编写代码时如能按照以下8条原则就可以避免90%-100%由Verilog代码引起的冒险竞争现象:

1)时序逻辑-使用非阻塞赋值2)锁存器-使用非阻塞赋值3)用always块生成的组合逻辑-用阻塞赋值4)在同一个always块中既有时序逻辑又有组合逻辑-用非阻塞赋值5)在同一个always块中不要既用阻塞赋值又用非阻塞赋值6)不要在一个以上的always块中对同一个变量赋值7)用$strobe显示用非阻塞赋值指定的变量值8)不要用0过程性赋值以上8条原则与Verilog-1995完全一致,仍旧适用于SystemVerilog,SystemVerilog的基本数据类型,SystemVerilog可以定义:

4态数据类型:

0,1,X,Z2态数据类型:

0,1,未初始化的变量=X未初始化的线网=Z与Verilog-2001相同,未初始化的变量=0未初始化的线网*=0SystemVerilog新添加的,regr;

/4态,Verilog-2001(位宽可变)数据类型integeri;

/4态,Verilog-2001(32位)有符号数据类型logicw;

/4态,(位宽可变)0,1,x,或者zbitb;

/2态,(位宽可变)1位0或1byteb8;

/2态,(8位)有符号整型数shortints;

/2态,(16位)有符号整型数inti;

/2态,(32位)有符号整型数longintl;

/2态,(64位)有符号整型数注:

*-bit类型既可以用于变量也可以用于线网。

另外还加入了其他一些数据类型,SystemVerilog新添加的数据类型,reg15:

0r16;

logic15:

0w16;

bit15:

0b16;

reg,logic和bit数据类型位宽可以改变,几乎通用的数据类型logic(等价于原来的reg类型),logic类型类似于VHDL中的std_ulogic类型-对应的具体元件待定-只允许使用一个驱动源,或者来自于一个或者多个过程块的过程赋值,对同一变量既进行连续赋值又进行过程赋值是非法的,不允许的。

-在SystemVerilog中:

logic和reg类型是一致的(类似于Verilog中wire和tri类型是一致的),wire数据类型仍旧有用因为:

-多驱动源总线:

如多路总线交换器(buscrossbars&

onehotmuxes)-双向总线(两个驱动源),logic是4态数据类型的变量,bit相当于2态数据类型的变量或线网,用户定义的类型-typedef,允许生成用户定义的或者容易改变的类型定义:

好的命名规则用“_t”做后缀typedefexisting_typemytype_t;

ifdefSTATE2typedefbitbit_t;

/2stateelsetypedeflogicbit_t;

/4stateendif,defines.vh,设计策略:

用各种typedefs,只要用typedef就可以很容易地在4态和2态逻辑仿真之间切换以加快仿真速度,verilog_cmddefine.vhtb.vdff.v,verilog_cmddefine.vhtb.vdff.v+define+STATE2,确省,为4态逻辑值仿真,只用2态逻辑值,仿真速度快,已确定的和待确定的类型,四态和两态设计策略用待确定类型是最容易的。

功能相当于VHDL中的std_ulogic类型,很有效率,与VHDL中的std_logic类型没有功能可比较的类型,ifdefSTATE2typedefbitbit_t/2-态elsetypedeflogicbit_t;

/4-态endif,define.vh,ifdefSTATE2typedefbitbit_t/2-态typedef?

tri_t/2-态elsetypedefregbit_t;

/4-态typedefwiretri_t;

/4-态endif,define.vh,无多驱动器的2态类型,-也许下一个版本的SystemVerilog能得到修正,没有容易的std_ulogic和std_logic之间切换的等价语句,Verilog-2001数据类型(模块内部),模块的输入必须是线网类型的信号,moduleA(out,in);

outputout;

inputin;

regout;

wirein;

always(in)out=in;

endmodule,moduleB(out,in);

wireout;

assignout=in;

endmodule,用reg类型的输出(过程赋值语句的LHS必须用变量类型),输出是线网类型的(用连续赋值驱动的变量类型),Verilog-2001数据类型(模块外部),信号由源驱动的必须定义为线网类型,moduleA(out,in);

黑箱输出输入,moduleB(out,in);

黑箱输出输入,实例的输入往往由测试模块的变量驱动,a2b,输出信号必须定义为线网类型,moduletest;

regt_in;

wirea2b;

wiret_out;

Au1(.o

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 表格类模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1