1、Gateway 被被Cadence Design Systems 公司收购公司收购n1990:Cadence 向业界公开向业界公开 Verilog HDL 标准标准n1993:OVI 提升提升 the Verilog 标准,但没有被普遍接受标准,但没有被普遍接受 n1995:IEEE 推出推出 Verilog HDL(IEEE 1364-1995)标准标准n2001:IEEE 推出推出 Verilog IEEE Std1364-2001 标准标准n2002:IEEE 推出推出 Verilog IEEE Std1364.1-2002 标准标准n2002:Accellera 对对 SystemVe
2、rilog 3.0 进行标准化进行标准化 Accellera 是是OVI&VHDL International(VI)合并后的合并后的国际标准化组织国际标准化组织n2003:Accellera 标准化后的标准化后的SystemVerilog 3.1n2006:IEEE 推出带推出带SystemVerilog 扩展的扩展的Verilog新标准新标准为什么称为什么称 SystemVerilog 3.x?n SystemVerilog 是是 对对Verilog 革命性的扩展革命性的扩展n Verilog 1.0 -IEEE 1364-1995“Verilog-1995”标准标准 第一代第一代 IEE
3、E Verilog 标准标准n Verilog 2.0 -IEEE 1364-2001“Verilog-2001”标准标准 第二代第二代 IEEE Verilog 标准标准 显著提升了显著提升了 Verilog-1995 标准的性能标准的性能n SystemVerilog 3.x -国际标准化组织对国际标准化组织对Verilog-2001的扩展的扩展 第三代第三代 Verilog 标准标准 DAC-2002-SystemVerilog 3.0 DAC-2003-SystemVerilog 3.1SystemVerilog是是Verilog-2001扩展后的超集扩展后的超集 assertions
4、 mailboxes test program blocks semaphores clocking domains constrained random values process control direct C function calls-SystemVerilog-from C/C+-classes dynamic arrays inheritance associative arrays strings references SystemVerilog是是Verilog-2001扩展后的超集扩展后的超集 interfaces dynamic processes nested hi
5、erarchy 2-state modeling byte unrestricted ports packed arrays implicit port connections array assignmentsenhanced literals enhanced event controltime values&units unique/priority case/iflogic-specific processes root name spacealias const&=|=%=-from C/C+-int globals breakshortint enum continuelongin
6、t typedef returnByte structures do-whileShortreal unions +-+=-=*=/=void casting =if-elserepeat-Verilog-1995-SystemVerilog提高设计效率提高设计效率 System Verilog RTL RTL Netlist设计效率设计效率 testbenchCo-simOverheadHDL SimultionSystemVerilogtestbench进行全面验证的环境进行全面验证的环境断言断言验证验证 硬件辅助的验证硬件辅助的验证覆盖覆盖 测试平台测试平台仿真仿真 形式化特性形式化特性
7、提高了验证的水平提高了验证的水平提高了设计效率提高了设计效率n n描述同样的功能,其代码可缩短描述同样的功能,其代码可缩短描述同样的功能,其代码可缩短描述同样的功能,其代码可缩短2 2到到到到5 5倍倍倍倍 -代码短发生意外错误的概率减小了,但仍然可以综合,代码短发生意外错误的概率减小了,但仍然可以综合,代码短发生意外错误的概率减小了,但仍然可以综合,代码短发生意外错误的概率减小了,但仍然可以综合,新的语句构造可以解决新的语句构造可以解决新的语句构造可以解决新的语句构造可以解决RTLRTLRTLRTL仿真和综合后仿真的不匹配;仿真和综合后仿真的不匹配;-小组成员间更容易理解和交流;小组成员间更
8、容易理解和交流;n n缩短了学习周期。缩短了学习周期。System Verilog RTL RTL Netlist设计效率设计效率 结构化的和用户定义的数据类型与封装好的接口通信.*蕴涵的端口实例引用极大地提高了仿真速度极大地提高了仿真速度仅一种语言就能解决设计和测试问题仅一种语言就能解决设计和测试问题仅一种语言就能解决设计和测试问题仅一种语言就能解决设计和测试问题设计和验证语言的统一提高了设计效率,学习周期设计和验证语言的统一提高了设计效率,学习周期设计和验证语言的统一提高了设计效率,学习周期设计和验证语言的统一提高了设计效率,学习周期很短,设计和验证人员都乐意采用:很短,设计和验证人员都乐
9、意采用:-可自动生成高级的受约束可自动生成高级的受约束可自动生成高级的受约束可自动生成高级的受约束-随机测试信号语句,大随机测试信号语句,大随机测试信号语句,大随机测试信号语句,大大降低了设计和验证的复杂度;大降低了设计和验证的复杂度;-完整的统一的断言技术改善了设计小组和验证小完整的统一的断言技术改善了设计小组和验证小完整的统一的断言技术改善了设计小组和验证小完整的统一的断言技术改善了设计小组和验证小组之间的交流。组之间的交流。testbenchCo-simOverheadHDL SimultionSystemVerilogtestbench使得我们有可能使用更高速度的仿真工具,加速了设计的
10、完成SyestemVerilogSyestemVerilog的全面验证和设计的全面验证和设计统一的断言扩展了验证方法的效率统一的断言扩展了验证方法的效率统一的断言扩展了验证方法的效率统一的断言扩展了验证方法的效率-基于断言的验证基于断言的验证基于断言的验证基于断言的验证-形式化特征的验证形式化特征的验证形式化特征的验证形式化特征的验证-线路板上的加速验证线路板上的加速验证线路板上的加速验证线路板上的加速验证进行全面验证的环境进行全面验证的环境断言断言验证验证 硬件辅助的验证硬件辅助的验证覆盖覆盖 测试平台测试平台仿真仿真 形式化特性形式化特性提高了验证的水平提高了验证的水平仿真检查仿真检查硬件
11、辅助验证硬件辅助验证SystemVerilog 断言断言自动测试平台自动测试平台覆盖测试覆盖测试形式化验证形式化验证 综合综合抓住设计意图与每个设计和验证工程师联络学习周期短仿真检查仿真检查硬件辅助验证硬件辅助验证 SystemVerilog 设计语言设计语言Verilog-2001 的事件调度的事件调度 当前的时隙当前的时隙#0 阻塞赋值 计算非阻塞表达式 的RHS 连续赋值$display命令 更新非阻塞表达式的LHS 阻塞赋值 更新原语的输入和的输出,$monitor系统命令$strobe 系统命令 语句激活 语句暂停活动 非阻塞赋值 监视来自上一个时隙Verilog-2001时隙被分成
12、4等级区域新的名称将”延迟”事件区域去下一个时隙如何才能简化这个队列?指导原则No.8:不要用#0延迟编写代码的八项原则编写代码的八项原则 一般情况下,编写代码时如能按照以下一般情况下,编写代码时如能按照以下一般情况下,编写代码时如能按照以下一般情况下,编写代码时如能按照以下8 8 8 8条原则就可以避免条原则就可以避免条原则就可以避免条原则就可以避免90%-100%90%-100%90%-100%90%-100%由由由由VerilogVerilogVerilogVerilog代码引起的冒险竞争现象:代码引起的冒险竞争现象:1 1 1 1)时序逻辑)时序逻辑)时序逻辑)时序逻辑-使用非阻塞赋值
13、使用非阻塞赋值使用非阻塞赋值使用非阻塞赋值2 2 2 2)锁存器)锁存器)锁存器)锁存器-使用非阻塞赋值使用非阻塞赋值使用非阻塞赋值使用非阻塞赋值3 3 3 3)用)用)用)用alwaysalwaysalwaysalways块生成的组合逻辑块生成的组合逻辑块生成的组合逻辑块生成的组合逻辑-用阻塞赋值用阻塞赋值用阻塞赋值用阻塞赋值4 4 4 4)在同一个)在同一个)在同一个)在同一个alwaysalwaysalwaysalways块中既有时序逻辑又有组合逻辑块中既有时序逻辑又有组合逻辑块中既有时序逻辑又有组合逻辑块中既有时序逻辑又有组合逻辑-用非阻塞赋值用非阻塞赋值用非阻塞赋值用非阻塞赋值5 5
14、 5 5)在同一个)在同一个)在同一个)在同一个alwaysalwaysalwaysalways块中不要既用阻塞赋值又用非阻塞赋值块中不要既用阻塞赋值又用非阻塞赋值块中不要既用阻塞赋值又用非阻塞赋值块中不要既用阻塞赋值又用非阻塞赋值6 6 6 6)不要在一个以上的)不要在一个以上的)不要在一个以上的)不要在一个以上的alwaysalwaysalwaysalways块中对同一个变量赋值块中对同一个变量赋值块中对同一个变量赋值块中对同一个变量赋值7 7 7 7)用)用)用)用$strobe$strobe$strobe$strobe显示用非阻塞赋值指定的变量值显示用非阻塞赋值指定的变量值显示用非阻塞
15、赋值指定的变量值显示用非阻塞赋值指定的变量值8 8 8 8)不要用)不要用)不要用)不要用 0 0 0 0 过程性赋值过程性赋值过程性赋值过程性赋值以上以上以上以上8 8 8 8条原则与条原则与条原则与条原则与Verilog-1995 Verilog-1995 Verilog-1995 Verilog-1995 完全一致,仍旧适用于完全一致,仍旧适用于完全一致,仍旧适用于完全一致,仍旧适用于SystemVerilogSystemVerilogSystemVerilogSystemVerilogSystemVerilog的基本数据类型的基本数据类型SystemVerilogSystemVerilog 可以定义:可以定义:-4 4 态数据类型态数据类型态数据类型态数据类型:0,1,X,Z:0,1,X,Z-2 2 态数据类型态数据类型态数据类型态数据类型:0,1:0,1 未初始化的变量=X未初始化的线网=Z与Verilog-2001相同未初始化的变量=0未初始化的线网*=0SystemVerilog新添加的r
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1