- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北大数字集成电路课件 9 verilog的编译控制整理ppt
数字集成电路设计入门 --从HDL到版图 于敦山 北大微电子学系 第九章 编译控制的使用 学习目标: 开发商提供的Verilog库 用Verilog库仿真 Verilog源代码加密 其它仿真器相关的问题 术语及定义 PLI:编程语言接口,基于C的过程访问Verilog数据结构 UDP:用户定义的基本单元,用户定义的门级组合的及时序 的Verilog基本单元。 VHDL:VHSIC HDL,类似Ada的高级VLSI设计语言 Verilog模型库 ASIC和FPGA开发商开发并提供工艺专用库 设计人员以库中的元件建立网表 仿真器在编译时扫描模型库寻找实例化模块 合成库可以支持多种工具,例如它可以包含下列工具所需要的信息 仿真器(如Verilog-XL和NC Verilog) 综合器(如Ambit) 时序分析器(如Pearl) 故障仿真(Verifault-XL) 元件库建模 建立Verilog模型库,需要: 每个元件(或单元)用一个module描述 将相关的module放在同一个文件或同一个目录中 元件库建模(续) 库单元的特点: 每个库单元的描述在编译指导`celldefine和`endcelldefine之间 每个库单元的描述有两部分: 功能描述 时序描述 Verilog库的使用 在Cadence Verilog仿真器中使用Verilog库: 使用库文件 在命令行中使用选项:-v file_name 使用库目录 在命令行中使用选项 –y directory_name 在命令行中使用选项 +libext+file_extension 库文件扫描 每一个-v选项指定一个库文件 verilog test. v design. v -v library_file. v 库目录扫描 每一个-y选项指定一个库目录。 +libext+选项指定有效的文件扩展名。 verilog test. v design. v -y library_ directory +libext+. v 编译指导`uselib 编译指导`uselib使用举例 module adder (c_out, sum, a, b, c_in); output c_out, sum; input a, b, c_in; `uselib dir=/libs/FAST_LIB/ SN7486 u1 (half_sum, a, b); `uselib dir=/libs/TTL/ libext=. v file=/libs/TTL_U/udp.lib SN7408 u2 (half_c, a, b); SN7408 u3 (tmp, c_in, half_sum); SN7486 u4 (sum, c_in, half_sum); SN7432 u5 (c_out, tmp, half_c); endmodule `uselib 编译指导`uselib 编写与大小无关的源代码 编译指导 编译指导 定义文本宏 选择仿真延迟模型 固有延时和传输延时模型 Verilog-XL路径延时的限制 Verilog-XL可加速的对象 用Verilog-XL加密源代码 保护所有Verilog源代码 保护选择的源描述 在Verilog-XL中输入(import)VHDL模型 将VHDL模型进行预编译并放在Leapfrog的work库中。 执行vhdlshell产生每个VHDL模型的verilog包装(shell)。 确保从Leapfrog的license有效 执行Verilog仿真。它自动启动Leapfrog仿真器。 在Verilog-XL中引入VHDL模型 对于Verilog-XL,VHDL模型是黑盒子。除能观察其端口外,不能观测其内部信号。为了能够观察其内部结构,需要在VHDL模型中设置附加的端口。这将影响仿真性能。 shell模块中不能实例化其它模块 shell中端口次序、大小、类型及指针方向必须与VHDL模型匹配。 VHDL模块中不能实例化Verilog模块。 不能在引入的VHD模块之间传输双向信号 不能向VHDL inout端口传送Verilog的tran门信号。 所有Verilog模块必须有`timescale 使用Leapfrog协同仿真器时不能使用$save和$restart 使用INCA协同执行Verilog和VHDL 用ncvhdl预编译VHDL模型 可以执行ncshell产生VHDL模型的Verilog封装。也可以直接实
文档评论(0)