




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九讲 基本的输入和输出,提纲,基本input/output文件 测试程序(Testbenches) ASSERT语句,文件对象,VHDL的对象包括 信号 变量 常量 文件 通过引入文件类型,使得我们可以定义和使用文件对象,文件定义,文件可以通过它所存储的内容来进行区分 type text 是字符串文件; type IntegerFileType 是整数型文件; VHDL 1987中的文件定义 file infile: text is in “inputdata.txt”; file outfile: text is out “outputdata.txt”; VHDL 1993中的文件定义 file infile: text open read_mode is “inputdata.txt”; file outfile: text open write_mode is “outputdata.txt”;,文件定义:二进制I/O文件(VHDL 1993),文件定义:二进制I/O文件(VHDL 1993),VHDL支持read(f,value), write(f, value)和 endfile(f)操作; VHDL 93支持File_Open()和File_Close()操作; 直接和间接的文件打开操作;,文件定义:二进制I/O文件(VHDL 1987),文件定义:二进制I/O文件(VHDL 1987),VHDL1987支持read(f,value), write(f, value)和 endfile(f)操作; 通过文件声明来间接地进行文件打开操作;,文件定义:TEXTIO包,文件定义:TEXTIO包,文件是按行(lines)来组织的; Read()和write()子程序对line数据结构进行操作; Readline()和writeline()子程序和文件进行数据交换; 基于Text的 I/O操作; 在STD 库的TEXTIO包中封装了全部的操作子程序 从行( lines )中读取和写入预定义类型数据的子程序; 针对std_input and std_output的预定义访问操作; 子程序名的重载(Overloaded);,文件定义:TEXTIO包的使用,文件定义:TEXTIO包的使用,文件定义:TEXTIO包的使用,文件定义:扩展TEXTIO支持其他数据类型,对用户隐藏TEXTIO的ASCII格式; 针对所希望的数据类型的读和写,如, std_logic_vector ,提供类型转换子程序; 将子程序封装在包中; 将包( package)安装在库( library)中,然后通过use 子句使库中的内容可见;,代码示例:类型转换,代码示例:类型转换,代码示例:(Bhasker95),输出格式定义: write (buf, “This is the header”); writeline (outfile,buf); write (buf, “Clk =”); write (buf, clk); write (buf, “, N1 =”); write (buf, N1); 输出结果: This is the header Clk = 0, N1 = 01001011,代码示例:(Bhasker95),读入的格式化输入行:,代码示例:(Bhasker95),读入该格式化输入行的程序:,代码示例:文件名的处理,代码示例:文件名的处理,在上面的代码中假定“input”映射到模拟器的控制台 通常“input”和 “output”分别映射到标准输入和标准输出,代码示例:测试模块,代码示例:测试模块,代码示例:测试程序(Testbenches), 测试程序具有一定的通用性 基本策略是:施加测试激励,测量和记录响应矢量,代码示例:测试程序(Testbenches),测试程序产生周期性的时钟信号并施加测矢量,代码示例:测试程序(Testbenches),代码示例:结构化测试模块,测试激励的生成,定义功能测试所需的激励矢量和参考矢量 激励源 局部常数阵列 I/O文件 时钟和复位信号的生成 通常与激励矢量相隔离 实现周期性的激励,测试激励的生成:示例(Smith96),测试激励的生成:示例(Smith96),测试结果的确认(Validation),将测试响应矢量与参考矢量相比较,并在外部文件中记录其中不匹配的部分(出错点); 同时需要记录出错点所对应的仿真时间点; 可能需要记录仿真状态。,断言(ASSERT),将测试响应矢量与参考矢量相比较,并在外部文件中记录其中不匹配的部分(出错点); 同时需要记录出错点所对应的仿真时间点; 可能需要记录仿真状态。,断言(ASSERT),assert Q = check(1) and Qbar = check(0) report “Test Vector Failed” severity error; 仿真器控制台输出示例 Selected Top-Level: srbench (behavioral) : ERROR : Test Vector Failed : Time: 20 ns, Iteration: 0, Instance: /T1. : ERROR : Test Vector Failed : Time: 100 ns, Iteration: 0, Instance: /T1.,断言(ASSERT),assert Q = check(1) and Qbar = check(0) report “Test Vector Failed” severity error; 仿真器控制台输出示例 Selected Top-Level: srbench (behavioral) : ERROR : Test Vector Failed : Time: 20 ns, Iteration: 0, Instance: /T1. : ERROR : Test Vector Failed : Time: 100 ns, Iteration: 0, Instance: /T1.,断言(ASSERT),设计者可以在预定义的级别上报告出错情况:NOTE,WARNING, ERROR and FAILURE (枚举类型) 报告的参数是一个字符串,该字符串会写到仿真输出 断言所对应的操作是仿真器相关的 并行 vs. 串行断言语句 在不中断仿真的情况下TEXTIO比 ASSERT快,断言(ASSERT):示例(Bhaskar 95),architecture check_times of DFF is constant hold_time: time:=5 ns; constant setup_time : time:= 2 ns; begin process variable lastevent: time; begin if devent then assert NOW = 0 ns or (NOW - lastevent) =hold_time report “Hold time too short” severity FAILURE; lastevent := NOW; end if; - check setup time - D flip flop be
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工阶段成本控制关键点-洞察及研究
- 城乡人口流动-洞察及研究
- 涟源营销方案
- 情境模拟对学习动机的影响分析-洞察及研究
- 激光脱毛在治疗多毛症中的疗效分析-洞察及研究
- 威海安全员a证考试题库及答案解析
- 数字图书馆中的互动式学习平台开发-洞察及研究
- 沿滩区营销方案
- 营销方案酒楼
- 安全答题100题测试题及答案解析
- (2025秋新版)外研版八年级英语上册全册教案
- GB/T 45870.1-2025弹簧测量和试验参数第1部分:冷成形圆柱螺旋压缩弹簧
- 数据备份课件
- 银行集团管理办法
- 人行国内证管理办法
- 电厂钢结构安装方案(3篇)
- 部编版六年级下册语文小升初《词语积累与运用》专项检测卷 含答案
- 残运会应急预案管理办法
- T/SFABA 2-2016食品安全团体标准食品配料焙烤食品预拌粉
- 村集体合作入股协议书
- A-Level化学(A2)2024-2025年有机合成与分析化学深度学习试题
评论
0/150
提交评论