




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第八章仿真与逻辑综合 8 1系统仿真及可测试设计 系统仿真的重要性 项目成功的关键 仿真时间占整个设计的90 在逻辑综合和布线之前对VHDL模型的逻辑功能进行仿真 可提高效率 仿真的手段 软硬件协同验证方式 仿真的两个目的 功能仿真时序仿真 仿真的三个阶段 行为级仿真RTL级仿真门级仿真 仿真方法 功能仿真验证设计模块的逻辑功能时序仿真验证设计模块的时序关系不论是功能仿真还是时序仿真 仿真的方法有两种 交互式仿真方法测试平台法利用测试平台 testbench 对被测试单元输入信号测试矢量 通过波形输出 文件记录输出 或与测试平台中的设定输出矢量来进行比较 可以验证仿真结果 仿真输入信息的产生 1 程序直接产生法 由设计者设计一段VHDL语言 由该程序直接产生仿真的输入信息 例 对例7 41的带允许端的十二进制计数器进行仿真 entitycount12enisport clk clr en instd logic qa qb qc qd outstd logic endcount12en 十二进制计数器输入信号实例 libraryieee useieee std logic 1164 all useieee std logic unsigned all entitytest count12enisendtest count12en 仿真模块的实体可省略端口描述 库及包集合引用部分 构造体描述部分 architecturesimloftest count12eniscomponentcount12enport clk clr en instd logic qa qb qc qd outstd logic endcomponent constantclk cycle time 20ns signaltest clk test clr test en std logic signalt qa t qb t qc t qd std logic 用于激励及观察的信号声名部分 beginu0 count12enportmap clk test clk clr test clr en test en qa t qa qb t qb qc t qc qd t qd 被测试单元的元件例化部分 产生clk输入的进程 processbegintest clk 1 waitforclk cycle 2 test clk 0 waitforclk cycle 2 endprocess 产生周期为20ns的时钟周期 产生初始复位信号和计数允许信号 processbegintest clr 0 test en 1 waitforclk cycle 4 test clr 1 waitforclk cycle test clr 0 waitforclk cycle 10 test en 0 waitforclk cycle 3 test en 1 wait endprocess endsiml 仿真输入信息的产生 2 读TEXTIO文件产生法 仿真输入数据按定时要求按行存于一个文件中 在仿真时 根据定时要求按行读出 并赋予相应的输入信号 例8 2 libraryieee librarystd useieee std logic 1164 all useieee std logic textio all usestd textio all entitytest count12enbisendtest count12enb architecturesim2oftest count12enbiscomponentcount12enport clk clr en instd logic qa qb qc qd outstd logic endcomponent fileintest textisin test in signaltest clk test clr test en std logic signalt qa t qb t qc t qd std logic constantclk cycle time 20ns 被测试元件说明部分 beginu0 count12enportmap clk test clk clr test clr en test en qa t qa qb t qb qc t qc qd t qd processvariableli line variableclk v clr v en v std logic beginreadline intest li read li clk v read li clr v read li en v test clk clk v test clr clr v test en en v waitforclk cycle 4 if endfile intest thenwait endif endprocess endsim2 被测试单元元件例化部分 仿真延时 仿真延时的作用 使零延时事件得到适当的排队次序 以便在仿真过程中得到一致的结果 libraryieee useieee std logic 1164 all entitysampleisport a b instd logic q outstd logic endsample architecturebehavofsampleissignalc d std logic beginc not a d not bandc q candd endbehav 两种不同情况的q输出波形 c not a d not bandc q candd 同步机制就是对那些零延时的事件 在仿真中加一个无限小的时间量 这个无限小的时间量比VHDL语言中的最小时间单位1fs还小 也就是说即使加有限个延时 也决不会使其超过仿真时间的最小分辨率1fs 输入信号A的变化 要在Q输出表现出来需要三个仿真延时 由于有限个延时认为是可忽略的 所以a c d q值的跳变被认为是发生在同一仿真时刻0ns处 引入延时的目的是为了便于排出仿真计算的次序 在仿真波形中是不反映计算过程的 而只反映最终的计算结果 这样处理以后 使得仿真结果和硬件动作就完全一致起来了 仿真程序模块的书写 1 可简化实体描述程序中包含输出错误信息的语句 在仿真中往往要对波形 定时关系进行检查 如不满足要求 应输出仿真错误信息 以引起设计人员的注意 在VHDL语言中ASSERT语句就专门用于错误验证及错误信息输出 语句书写格式 assert条件 report输出错误信息 severity出错级别 条件为检查内容 如果条件不满足 就输出错误信息和出错级别 note warning error failure 仿真程序模块的书写 2 如建立时间的检查程序 process wr writeoperationBeginif wr eventandwr 1 thenif cs 1 andwr 1 thensram adr in dinafter2ns endif endif wr rise now thetimesignalwrisrising 如果该条件不满足 则表明数据建立时间不够长 写入的数据不可靠 assert now din change 800ps report setuperrordin sram severitywarning dinsetuptimecheckendprocess 仿真程序模块的书写 3 3用配置语句选择不同仿真构造体使用configuaration语句可以获得较佳的系统性能 设计者为系统的实体 设计不同结构的构造体与实体对应 进行对比仿真 以寻求最佳的系统结构 仿真程序模块的书写 4 4不同级别或层次的仿真有不同要求 1 行为级仿真的目的和仿真是验证系统的数学模型和行为是否正确 凡是VHDL语言中的语句和数据类型都可在程序中使用 在书写时应尽可能使用抽象程度高的描述语句 以使程序更简洁 该层仿真不考虑一般的电路延时和传输延时 2 RTL级仿真的目的 使仿真模块符合逻辑综合工具的要求 使其能生成门级逻辑电路 目前的综合工具 VHDL中某些语句不能使用 如attribute guardedblock 仿真程序模块的书写 5 最好使用std logic和std logic vector两种数据类型 不考虑门电路延时 考虑传输延时 3 门级电路仿真 RTL程序模块经逻辑综合之后生成门级电路 进行门级仿真的原因 a 在RTL仿真中一般不考虑门的延时 系统的工作速度不能得到正确的验证 b RTL中的某些状态 在进行门级综合以后会发生状态的转移变异 不能保证系统工作正常 8 2逻辑综合 逻辑综合就是将较高抽象层次的描述自动转换到较低抽象层次描述的一种方法 逻辑综合就是将RTL级的描述转换成门级网表的过程 设计人员不需要详细的了解逻辑综合的细节 只需要使用逻辑综合工具就可以得到系统的门级网络表 一般逻辑综合的过程 逻辑综合过程要求的输入为 RTL描述的程序模块 约束条件 如面积 速度 功耗 可测性 支持工艺库 如TTL工艺库 MOS工艺库 CMOS工艺库 输出的是门级网表 约束条件 在逻辑综合过程中为优化输出和工艺映射的需要 一定要有相应的约束条件 以实现对所设计结构的控制 采用不同的约束条件 如面积 延时 功耗和可测性等 对于同样的一个系统 其实现的系统结构是不一样的 面积约束条件 一般采用工艺库中门级宏单元所用的单位来指定面积的约束条件 max area1200时间延时约束条件 常用方法是指定输入输出的最大延时时间 用延时约束条件来引导优化和映射 使用延时模型 可对节点进行定时分析 给出最好和最坏的延时情况 max delay1 7data out 属性描述 用属性描述来界定设计的环境 例如由属性来规定所设计电路的负载数 驱动能力和输入信号定时 负载 通过负载计算可推出因负载的轻重而使输出波形变坏的程度 set load6xbus驱动 规定驱动器电阻大小 控制驱动电流的大小 set drive2ybus到达时间 信号的迟到时间加上在该电路中的延时时间不应该超过用户对该电路的延时限制 工艺库 工艺库持有综合工具所必要的全部信息 比如 ASIC单元的逻辑功能 该单元的面积 输入到输出的定时关系 输出的扇出限制和对单元所需的定时检查 Library xyz Cell and2 area 5pin a1 a2 direction input capacitance 1 Pin o1 direction output function a1 a2 time intrinsic rise 0 37 intrinsic fall 0 56 rise resistance 0 1234 fall resistance 0 4567 related pin a1 a2 电路的总延时 总延时 固有延时 负载延时 引线延时 输入级波形延时固有延时 即惯性延时 不带任何负载的门延时负载延时 驱动输出时因负载电容所产生的附加延时 引线延时 信号在引线上传送的延时 它和单元的物理特征有关 输入级波形斜度延时 由于输入波形不够陡所引起的延时 逻辑综合的基本步骤 RTL描述至未优化的布尔描述的转换 该过程不受用户控制 由逻辑综合工具转换成中间结果 布尔优化描述 采用大量算法和规则 先进行展平设计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 港口区2024-2025学年第二学期五年级数学期末学业测评考试题目及答案
- 2025年传染病疫情报告及突发公共卫生事件应急处理培训试题(附答案)
- 2025年甘肃省公务员考试真题
- 2024年宁波市教育局直属学校招聘事业编制教师和工作人员真题
- 2024年湖北中烟工业有限责任公司笔试试题及答案
- 2025年国企岗位笔试试题及答案
- 2025年心理健康教育与辅导课程考核试卷及答案
- 2025年电焊工考试题(含答案)
- 2025年广东教师招聘考试(教育政策法规)综合试题及答案
- 2025年职业卫生健康考试题库(附含答案)
- 行测5000题电子版2025
- 《规训与惩罚》课件
- 【MOOC】声乐作品赏析与演唱-扬州大学 中国大学慕课MOOC答案
- 2024年版机电产品国际招标标准招标文件
- 糖尿病高血压健康教育
- 铜府字202322号铜鼓县革命文物保护利用专项规划(公布稿)
- 企业员工心理健康与欺凌防范政策
- 平面构成中的形式美法则
- 农贸市场装修施工方案
- 2022年广东双百社工笔试真题及答案
- 四川省兴文县建设煤矿2021年矿山储量年报
评论
0/150
提交评论