欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PDF文档下载  

    VHDL习题解答要点.pdf

    • 资源ID:5198417       资源大小:104.89KB        全文页数:15页
    • 资源格式: PDF        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VHDL习题解答要点.pdf

    VHDL 程序设计教程习题参考解答 第一章习题参考答案 1什么是VHDL ?VHDL 的实现有哪几种形态? 硬件描述语言(Hardware Description Language ,HDL ) ,顾名思义,是电子系统硬件行 为描述、 结构描述、 数据流描述的语言。VHDL 语言的英文全名是Very High Speed Integrated Circuit Hardware Description Language ,即超高速集成电路硬件描述语言。 2简述 VHDL 的发展史。 1981 年 6 月 VHDL 工作小组成立,提出了一个满足电子设计各种要求的能够作为工业 标准的硬件描述语言。 1983 年第三季度,由IBM 公司、 TI 公司、 Inter metrics 公司签约,组成开发小组,工 作任务是提出语言版本和开发软件环境。 1986 年 IEEE 标准化组织开始工作,讨论VHDL 语言标准,历时一年有余,于1987 年 12 月通过标准审查,VHDL1.0版本 宣布实施,即IEEE STD 1076-1987 。 1993 年经过重新修订, 发布 VHDL2.0版本 , 从而形成新的标准即IEEE STD 1076-1993 。 2006 年 VHDL 发布 VHDL3.0版本 ; 2008 年 8 月, VHDL 4.0 版本 发布,解决了3.0 版本中发现的多个问题。 2009 年 1 月, IEEE 公布了 VHDL 4.0 的标准版本,最新VHDL 标准 IEEE 1076-2008 在 2009 年 1 月实施。 3. 详述 VHDL 设计 IP 模块的流程。 第 1 种设计形态, VHDL 程序以 IP 模块的形态存在,VHDL-IP设计流程如图1.6 所示。 IP 模块是与集成电路工艺无关的芯片设计方案,可以移植到不同的设计环境。IP 产品形态 有规范,有IP 包装规则和复用规则,是原生态的芯片硬件设计产品。 VHDL 功能定义VHDL 程序编译 VHDL IP封装VHDL 修改调试 VHDL 程序编辑 VHDL 功能仿真 图 1.6 VHDL-IP设计流程 4. 简答 VHDL 设计用 FPGA 实现的意义。 可编程器件FPGA 具有容量大、密度高等特点,是科学实验、小批量生产、样机研制 的载体。这种产品形态可以作为科学实验、小批量产品研发的最佳实现方案。 5. 叙述用 VHDL 设计 ASIC 的流程。 VHDL 设计的 ASIC 芯片实现, 流程如图 1.8 所示。 工程项目的VHDL 功能设计与某一 集成电路工艺相结合,形成集成电路版图设计,并在晶圆上实现实现集成电路芯片的制造。 VHDL 功能仿真 是 是 时序仿真成功 物理综合 版图设计 参数提取 设计规则检查 版图交付 工厂生产 成品测试 ASIC 芯片出厂 VHDL 功能定义VHDL 程序编辑VHDL 程序编译 FPGA 下载 功能测试成功 是 否 是 否 VHDL 修改调试 否 否 图 1.8 VHDL- ASIC 设计流程 工程项目经过集成电路前端设计( VHDL 设计、功能时序设计) 、 后端设计 (版图设计) , 后端仿真、设计规则检查(DRC) 、形式验证后的版图,交付集成电路芯片代工厂进行工业 化大规模生产。 6. 怎样建立一个基本VHDL 设计环境? 把 VHDL 语言输入界面、编辑界面、编译工具、器件库、函数库的组合称为VHDL 设 计环境。许多EDA 工具均提供了VHDL 设计环境,如ALTERA 公司的 Quartus II 。 7. 开展 IP 设计需要什么条件? VHDL 程序以 IP 模块的形态存在。IP 模块是与集成电路工艺无关的芯片设计方案,可 以移植到不同的设计环境。IP 产品形态有规范,有IP 包装规则和复用规则,是原生态的芯 片硬件设计产品。开展IP 设计需要EDA 工具提供VHDL 语言编译环境。 8. 片上系统设计的知识要求和实验条件有那些? 片上系统设计需要SOC系统知识,嵌入式计算机体系结构知识,IP 复用知识,底层驱 动软件编写技能。实验条件,需要相对高级、复杂一些的FPGA开发板。 第二章习题参考答案 1什么是对象?对象有哪几种类型? 在 VHDL语言中,对象(Objects)是具有特定数据类型且可以被赋值的客体。VHDL 语言中的对象有4 类:常量( Constant) 、信号( Signal) 、变量( Variable)和文件( Files) 。 2变量和信号的区别是什么? 变量( Variable)是一个局部量,主要用于对临时数据进行局部存储。 信号( Signal)可用于电路内部硬件设计实体相互连接的抽象表示。信号是全局量,通 常在实体说明、结构体和包中使用。 3VHDL 语言定义的标准数据类型有哪些? VHDL 语言预定义的数据类型包括: 整数类型( Integer Type) 、 实数类型或浮点类型(Real Type Floating Type) 、 位类型( Bit Type) 、 位矢量类型( Bit_Vector Type ) , 布尔类型( Boolean Type) 、 字符类型( Character Type) , 时间类型或物理类型(Time Type Physical Type) 、 错误类型( Note,Warning,Error,Failure Type) , 自然数、整数类型(Natural Type) 字符串类型( Tring Type ) 。 用户自定义的数据类型: 枚举类型(Enumerated Type) 、 数组类型( Array Type ) 、 存取类型( Access Type) 、 文件类型( Files Type) 记录类型( Recode Type) 。 4哪些数据类型不能被综合? 物理类型是不能被综合的。 5简述 VHDL 语言操作符的优先级。 运算符的优先级 优先级顺序运算操作符类型操作符操作符功能 高 逻辑运算符NOT 取非 算术运算符 ABS 取绝对值 *指数运算 REM 取余 MOD 求模 / 除法 * 乘 - 负 + 正 并置运算符 - 可选项(参数说明) PORT 语句 ; - 必需项 (端口说明) 实体说明部分 ; - 可选项 BEGIN 实体语句部分 ; END ENTITY 实体名 ; 2用结构体的3 种描述法设计一个4 位计数器。 3什么叫进程?简述进程的工作方式。 进程语句不是一条语句,而是一段程序结构,这段程序描述了一个靠敏感信号触发的硬 件模块反复执行的工作过程。进程语句(Process)是并行处理语句,即在结构体中多个进 程语句是同时并发运行的。 进程语句的一般书写形式为: 进程名:PROCESS敏感信号表 变量声明语句 , BEGIN , 顺序语句 , END PROCESS 进程名 ; 进程语句中一般带有一个敏感信号表。这些信号无论哪一个发生变化都将启动进程,进 程中的程序将从上到下顺序执行一遍,产生新的结果并输出。当进程执行完毕,就返回进程 开始处,等待敏感量的新变化,引发进程的下一次执行。周而复始,循环往复,以至无穷。 4什么叫模块?区分模块与进程。 模块( Block )语句是结构体中的一系列并行语句的组合,适用于复杂项目的模块化设 计。模块调用必须说明属性、配置和连接关系。 模块语句的一般格式如下: 块名: BLOCK 控制条件的布尔表达式 IS GENERIC 子句 GENERIC映射; 端口子句 端口映射; 块说明部分 BEGIN 并行语句 A ; 并行语句 B ; , END BLOCK 块名 ; 模块是一个独立的子结构,可以包含PORT 语句和 GENERIC 语句, 允许设计者通过这 两个语句将模块的内部信号变化传递给模块的外部信号。同样,也可以将模块的外部信号变 化传递给模块的内部信号。 进程不是独立的硬件结构描述,进程用于含有触发条件的、需要反复运行的程序结构。 5. 简述过程与函数的区别。 过程语句( procedure)结构 过程语句的一般格式如下: PROCEDURE 过程名 | 运算符号 generic子句; generic映射; parameter ( 参数列表 ) IS 子程序声明区 ; BEGIN 顺序处理语句 ; END PROCEDURE 过程名 | 运算符号; 过程语句中的输入输出参数列在过程名后面的括号里,一般地,IN 作为常量, OUT 和 INOUT 作为变量。当过程语句在主程序调用结束后,将变量OUT 和 INOUT 拷贝到调用者 的信号和变量中。 函数是具有某一特定功能的程序段,能够被主程序调用。函数被调用时, 首先要初始化, 执行处理功能后,将处理结果传递给主程序。函数内部的值不能保持,函数返回后,才能被 再次调用,再次初始化。 VHDL 程序中函数语句的结构与其他语句一样,也有规定的书写格式: FUNCTION 函数名 | 运算符号 generic子句; generic映射; parameter ( 参数列表 ) RETURN 数据类型名IS 子程序声明区 ; BEGIN 顺序处理语句 ; RETURN 返回变量名 ; END FUNCTION函数名 | 运算符号; 6. 用结构化描述方法设计一个加法器。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY half_adder IS - 实体名 half_adder PORT (a,b:IN Bit; S,C:OUT Bit); - 实体端口说明 END ENTITY half_adder; ARCHITECTURE addr1 OF half_add IS- 结构体 1 的名字为 addr1 BEGIN S = a XOR b; C = a AND b; END ARCHITECTURE addr1; - - - - - - - - - - - - - ARCHITECTURE addr2 OF half IS - 结构体 2 的名字为 addr2 BEGIN example: block- 模块名 example PORT (a,b: IN Bit; - 端口子句 s,c: OUT Bit); PORT MAP (a,b,s,c); - 端口映射 BEGIN P1: PROCESS (a,b) IS- 进程 1 的标号 P1 BEGIN s = a XOR b; END PROCESS P1; P2: PROCESS (a,b) IS - 进程 2 的标号 P2 BEGIN c = a and b; END PROCESS P2; END Block example; END ARCHITECTURE addr2; 7. 采用多模块设计方法设计一个日历时钟 见教材。 8. 单模块的端口信号与芯片引脚是什么关系? PORT MAP 语句通过映射实现了block 块内信号和结构体信号的连接,实现了实体端口 引脚的连接,当实体端口信号发生变化时,通过映射,block 块内信号也会发生变化,即这 种信号变化被传递到了块内,block 块的行为根据新的输入信号的变化而变化。 9. 多模块的端口信号与模块间互联信号是什么关系? 一个结构体中可以含有多个模块,一个模块中可以含有多个进程。如此嵌套、循环,就构成 一个复杂的电子系统。模块的端口信号用于模块间的互联信号。多模块构成的新系统,端口 信号重新定义。 第四章习题参考答案 1 什么叫进程?简述进程的工作方式。 略 2什么叫模块?区分模块与进程。 略 3用结构描述法和GENERATE 语句设计一个8 位移位寄存器。 上机编程并编译实现。 4设计一个3-8 优先级编码器。 上机编程并编译实现。 5设计一个4-16 译码器。 上机编程并编译实现。 6. 设计一个十进制计数器。 上机编程并编译实现。 7. 用生成语句设计一个数组存储阵列。 上机编程并编译实现。 8. 用断言语句、 report 语句,编写一段测试诊断报告VHDL 程序。 上机编程并编译实现。 第五章习题参考答案 1配置语句的书写格式是怎样的? 配置的一般书写格式为: CONFIGURATION 配置名OF 实体名IS FOR 选配结构体名 USE ENTITY 实体名(结构体名) ; GENERIC MAP 语句; PORT MAP 语句; 块配置 END FOR; END CONFIGURATION 配置名 ; 2配置说明中的映射有哪两种方法? 形式端口与实际端口可以是名字关联映射,也可以是位置顺序关联映射。 3在配置语句中用GENERIC 指定参数,设计一个译码器。 上机编程实验。 4设计一个加法器,元件例化后放入库中备用。 上机编程实验。 5简述层次化设计的过程。 层次化设计是指在一个大型设计任务中,将目标层层分解,在各个层次上分别进行设计 的方法。在有些设计中,设计者先构建一些模块,然后再将这些模块组合起来,最终完成整 个系统的设计。 有人把在整个设计任务上的层面上展开行为描述的设计方法,称为高层次设 计,而对某一模块、某一元件的结构描述称为底层设计。 6什么是库、程序包、子程序、过程调用、函数调用? 库( Library )用来存储已编译的设计单元,通过其目录可查询、调用其中的设计单元。 包( package)用来封装一些类别相近的元件。包是库中一个存储单元。多个包存储在 一个元件库中。子程序包含过程与函数。过程与函数是两种不同VHDL程序片段。反复完 成一些数学计算的元件行为,写VHDL函数较合适;反复完成某一处理过程的元件行为, 写 VHDL过程较合适。在系统设计中,过程的调用程序编写,称为过程调用,函数的调用 程序的编写,称为函数调用。这些调用的前提是过程模块、函数模块在库中已经存在。 7. 编写一个OR 函数,重载它,对不同的数据类型进行OR 运算。 上机编程实验。 8. 写一段 textio 程序,并给出实验报告。 上机编程实验。 第六章习题参考答案 1CLK 信号怎样用VHDL 语言描述? 时钟上升沿的描述语句: IF clk' CURRENT_VALUE = 0 AND clk' EVENT AND clk LAST_VALUE = 1; 时钟下降沿的描述语句: IF clk' CURRENT_VALUE = 1 AND clk' EVENT AND clk LAST_VALUE = 0; 2异步复位怎样用VHDL 语言描述? 清零语句在时钟语句外执行时,与时钟无关,称谓“异步清零”。 P1: PROCESS (clk ,clr) BEGIN IF (clr = 0) THEN -异步清零 Q = 0 ; ELSIF(clkEVENT AND clk = 1 ) THEN Q = d ; -时钟上升沿时刻,q=d; END IF; END PROCESS P1; 3设计一个8 位循环移位寄存器。 学生上机编程实践 4. 设计一个六十进制计数器。 学生上机编程实践 5. 设计一个八位编码器。 学生上机编程实践 6. 设计一个三八译码器。 学生上机编程实践 7. 设计一个N 位通用加法器。 学生上机编程实践 8.为什么要层次化设计? 大型项目,需要多人协同设计。就需要把项目层层分解,把子项目分配给团队成员。 复杂项目, 需要基础模块设计和顶层设计,这样模块间的组装时,构成的电子门系统 结构比较清晰。 9Moore 型状态机和Mealy 型状态机有什么相同和不同? Moore 型状态机的输出信号仅与现态相关。 Mealy 型状态机输出是现态和输入的函数。两种类型的区分如图所示。 输 入 次 态现 态输 出 现 态 MOORE 型 输 入 次 态输 出 现 态现 态 MEAL Y 型 次态 逻辑 输出 逻辑 状态 寄存器 次态 逻辑 状态 寄存器 输出 逻辑 状态机的区分 10一位有效状态机有什么优点? 一般情况下,运行速度的提高,是以牺牲资源、提高成本为代价的。一位有效编码,比 顺序编码方式占用资源多,这种方法在某些情况下不是最佳设计方案。当目标器件具有较多 寄存器资源,并且寄存器之间组合逻辑较少时,一位有效编码是一个比较合适的方法。 一位有效编码方式下状态机输出由状态位译码输出。这是因为各个状态编码仅对应单独 的状态位。 11设计一个3 位 8 状态机。 学生上机编程实践 12设计一个基于PCI BUS 数字图像处理芯片,画出层次分解图,由几个人分别编程, 再组合通调,写出一个团体协作的案例,总结成功失败的经验 学生上机编程实践 第七章习题参考答案 1. 简答功能仿真和时序仿真的不同。 功能仿真:在RTL 层进行的仿真,其特点是不考虑构成电路逻辑延迟和门时间延 迟,着重考虑电路在理想环境下的行为和设计结构的一致性; 时序仿真: 在电路已经映射到特定的工艺环境后,将电路的路径延迟和门延迟考虑 进对电路行为的影响后,来比较电路的行为是否还能够在一定条件下满足设计要 求。 2. 为什么 VHDL 设计仅需要功能仿真? VHDL 设计硬件电路,以功能设计为设计目标,与具体的集成电路工艺无关。在不 同工艺条件下,时序延时是不同的。由于VHDL设计与工艺无关,因此仅需要功能仿真。 当 VHDL 模块移植在不同工艺条件下,时序仿真才有意义。 3. 为什么集成电路设计版图设计需要时序仿真? 集成电路版图设计的前提是在某一特定的工艺条件下,进行芯片的物理层设计,由 于不同工艺时序不同,所以需要时序仿真,同时也需要功能仿真。在集成电路设计行业内, 把版图设计的时序仿真和功能仿真彻称为“后仿真”。 4. 熟练掌握使用仿真工具进行功能仿真和时序仿真,并写出仿真步骤。 学生上机实验 5. 设计一个10 进制计数器,编写仿真Testbench,用 ModeSim 工具仿真出波形。 学生上机实验 6. 设计一个串行移位寄存器,编写仿真Testbench ,用 ModeSim 工具仿真出波形。 学生上机实验 7. 设计一个千兆网络收发器,编写仿真Testbench ,用 ModeSim 工具仿真出波形 学生上机实验 8. 设计一个512MB 容量的 DDR3 控制器,仿真出状态机功能和读写时序波形。 学生上机实验 第八章习题参考答案 1. VHPI 有哪些功能? VHPI 为每个功能提供了一个VHPI 操作。在VHPI 头文件中,对每个功能都定义了一 个 vhpiCapabilitiesT 类型的枚举型常量。VHPI 功能有: 1.层次化功能:用于访问设计层次信息模型,对应的枚举型常量为vhpiProvidesHierachy, 表示静态解释区域的对象、声明的对象,以及访问声明过的对象的值。 2.静 态 访 问 功 能 : 用 于 访 问 设 计 层 次 信 息 模 型 , 对 应 的 枚 举 型 常 量 为 vhpiProvidesStaticAccess ,表示静态解释语句的对象和表达式。 3.互 联 功 能 : 用 于 访 问 设 计 层 次 信 息 模 型 中 , 对 应 的 枚 举 型 常 量 为 vhpiProvidesConnectivity ,表示驱动、负载和端口关联等的对象。 4.事后分析功能: 用于访问库信息模型中的对象,以及访问由本地静态表达式初始化 的已声明对象的值。对应的枚举型常量为vhpiProvidesPostAnalysis 。 5.基本外部模型功能: 该功能支持外部模型的创建和回调;支持访问层次信息模型中, 表示外部模型的对象。对应的枚举型常量为vhpiProvidesForeignModel 。 6.高级外部模型功能:该功能支持外部驱动的创建、处理和事务调度。对应的枚举型 常量为 vhpiProvidesAdvanceForeignModel 。 7.保存 /重启能力:用于支持外部模型和应用程序的保存和重启。对应的枚举型常量 为 vhpiProvidesSaveRestart。 8.重置功能: 用于支持外部模型重置和回调。对应的枚举型常量为vhpiProvidesReset。 9.基本调试和运行时仿真功能:对应的枚举型常量为vhpiProvidesDebugRuntime 。支 持 vhpi_control 、vhpi_get_time 和 vhpi_get_next_time 函数; 支持信号、 端口和驱动 对象值的变动和更新回调,支持时间和动作回调。 10.高级调试和运行时仿真功能:支持变量的对象值的变动和更新回调以及LineOffset 属性。对应枚举型常量为vhpiProvidesAdvancedDebugRuntime 。 11.动态解释功能: 对应的枚举型常量为vhpiProvidesDynamicElab ,这一能力集需要基 本调试和运行仿真功能、高级调试和运行仿真功能。支持访问动态解释区域、声明 或构造对象。 2. 在 VHPI 工具运行的各个阶段分别可以进行何类操作? VHDL 工具各个运行阶段为: vhpiRegistrationPhase:工具开始注册、执行阶段。 注册阶段包括两个步骤,具体如下: (1)完成外部模型应用以及外部模型的库注册。 (2)完成每个已注册和已激活的vhpiCbStartOfTool 回调运行。 当所有的已注册和已激活的vhpiCbStartOfTool 回调返回到VHPI 工具后,注册阶段 完 成 。 在 注 册 阶 段 , 调 用 函 数vhpi_get(vhpiPhaseP,NULL), 返 回 vhpiRegistrationPhase。 vhpiAnalysisPhase :开始分析设计文件阶段。 分析阶段包含3 个步骤,具体如下: (1)每个已注册和激活的vhpiCbStartOfAnalysis回调都已运行。 (2)一个或多个设计文件已完成分析。 (3)每个注册和激活的vhpiCbEndOfAnalysis回调都已运行。 在分析阶段,调用函数vhpi_get(vhpiPhaseP,NULL) ,返回 vhpiAnalysisPhase 。 vhpiElaborationPhase:开始静态解释(Elaboration)设计层次阶段。 解释阶段包含下列步骤: (1)每个已注册和激活的vhpiCbStartOfElaboration 回调都已运行。 (2)设计层次已解释。如果存在注册过的外部结构体,这一行为会为这些外部结构体 唤起解释函数。 (3)每个注册和激活的vhpiCbEndOfElaboration 回调都已运行。 在解释阶段,调用vhpi_get(vhpiPhaseP, NULL) ,返回 vhpiElaborationPhase。 vhpiInitializationPhase :开始初始化阶段。 初始化阶段用于设计层次的初始化。初始化阶段可以包含为已注册的外部结构体调用运 行函数。 在初始化阶段, 调用函数vhpi_get(vhpiPhaseP, NULL) ,返回 vhpiInitializationPhase 。 vhpiSimulationPhase:开始执行仿真阶段。 仿真阶段涉及仿真周期的运行,包括已注册和激活的vhpiCbStartOfSimulation (开 始仿真)和vhpiCbEndOfSimulation (结束仿真)回调的运行。在仿真阶段,调用 vhpi_get(vhpiPhaseP, NULL) ,返回 vhpiSimulationPhase 。 (仿真结果) vhpiSavePhase:保存 VHDL 模型的当前状态阶段。 保存阶段包含下列步骤: (1)设计工具保存当前VHDL 模型状态的一些行为,包括下个仿真周期的时间Tn。 (2)已注册和已激活的vhpiCbStartOfSave 回调运行完成。 (3)已注册和已激活的vhpiCbEndOfSave 回调运行完成。 在保存阶段,调用vhpi_get(vhpiPhaseP, NULL) ,返回 vhpiSavePhase。 vhpiRestartPhase:VHDL 模型重新启动阶段。 重启阶段包含下列步骤: (1)恢复先前保存的VHDL 模型状态的一些行为,包括下个仿真周期的时间Tn。 (2)已注册和激活的vhpiCbStartOfRestart 回调运行完成。 (3)已注册和激活的vhpiCbEndOfRestart 回调运行完成。 在重启阶段,调用vhpi_get(vhpiPhaseP, NULL) ,返回 vhpiRestartPhase。 vhpiCbStartOfReset:重置阶段 重置阶段包含下列步骤: (1)已注册和激活的vhpiCbStartOfReset 回调运行完成。 (2)所有除 vhpiCbEndOfReset 以外的回调都被清除。 (3)每个驱动的输出波形都被重置为初始内容。 (4)当前时间Tc 被重置为0 ns。 (5)已注册和激活的vhpiCbEndOfReset 回调运行完成。 在重置阶段,调用vhpi_get(vhpiPhaseP, NULL) ,返回 vhpiResetPhase。 vhpiTerminationPhase:工具终止阶段。 终止阶段涉及运行每个已注册和激活的vhpiCbEndOfTool 回调。当所有的回调都已返回 到工具时,工具可以终止。 3. 回调的作用是什么? 回调是 VHPI 工具在 VHDL模型运行程序时获得控制的一种机制,用于 VHPI/C 代码和 VHDL 模型之间的通信。 4. VHPI 工具、 C+程序、 VHDL 模块三者的联系与区分,相互作用关系是什么? VHPI 提供访问数据到VHDL 模型,对其评估与仿真。这个接口是作为C 语言的库来实 现的,由IEEE 研发并满足VHPI 标准。 VHPI 应用程序必须编译、连接的共享库,它们能 进一步 VHDL 设计单元、子程序绑定。 5. 熟悉 Active-HDL工具。 学生上机实习 6. 熟悉 Eclipse 软件开发环境。 学生上机实习 7. 设计一个DDR3 控制器,使用VHPI 工具、 C+程序进行仿真、测试。 学生上机实习 8. 设计一个处理器模块,使用VHPI 工具、 C+程序进行仿真、测试。 学生上机实习 第九章习题参考答案 1. 什么是现代电子设计? 电子设计分为古典电子设计和现代电子设计两种。把利用分立元件,通用芯片, 进行板 上电子系统的设计称为古典电子设计。利用IP 模块、硬件语言、EDA 工具,进行片上电子 系统的设计称为现代电子设计。可以表述为: 以硬件描述语言(HDL )表达设计意图、以FPGA 作为硬件实现载体、以计算机为设 计开发环境、以EDA 软件为开发工具的设计方法称为“现代电子设计方法”。 2. 简述 IP 模块的 3 种形态,用VHDL 设计 IP 是哪种形态? IP 模块有三种,与工艺无关的VHDL程序称为软核;具有特定工艺的集成电路版图称 为固核。固核一般不允许更改,利用固核进行集成电路设计、容易成功流片。在集成电路芯 片内部集成的IP 称为硬核,是电路功能的物理实现,不是一段VHDL 程序,也不是集成电 路版图,而是硬件电路。 3. 简述 SOC 的设计流程。 将整个电子系统集成在单一芯片上,称为片上系统(SOC)或称为系统级芯片。SOC 设计方法从整个系统的角度出发,把处理机制、模型算法、芯片结构、各层次电路直至器件 的设计紧密的结合起来,在单个芯片上完成整个系统的功能,它的设计是从系统行为级开始 的自顶向下的设计方法。 (1)设计前期:将用户要求转换为硬件设计方案。 (2)设计中期:软/硬件划分,电路设计,VHDL 程序设计,软件驱动,系统仿真。 (3)设计后期:为SOC 芯片进行软件和硬件的测试,生成测试程序和测试矢量。 4. 简述 SOC 内建自测试方法。 将一个激励电路和一个响应电路加在被测电路(DUT )中,如图9.1 所示。激励电路会 产生大量激励信号,并将其应用于DUT 中,响应电路就用来对DUT 的响应进行评测。 图 9.1 内建自测试( BIST)原理示意 在可复用内核或SOC 内部模块上运用BIST,可以大大降低SOC 测试生成的复杂程度。 带有嵌入式自测试电路的内核,让SOC 开发者摆脱了生产测试的繁琐,使真正的即插即用 SOC 设计成为可能。 一旦 BIST 电路嵌入到系统IC 中以后,可以用来简化板级或系统级多芯片模块的生产 测试和系统集成。 5. SOC 芯片的实现方式有哪两种?分别有哪些不同? SOC 的实现有两种, 一种 ASIC 实现, 集成电路生产厂家大批量生产,如当前的智能手 机芯片,网络视频图像处理芯片等。另一种是FPGA 实现,适用于小批量,实验室制作。 6. 设计一个IP 模块,并在SOC 设计中复用。 学生自拟题目,上机设计实践。 7. 设计一个面向应用的SOC 芯片,并给出功能仿真波形。 学生自拟题目,上机设计实践。 8. 设计一个嵌入式微处理器系统,可以选用NIOS II 、ARM 、MIPS 等不同的软处理器。 学生上机设计实践。

    注意事项

    本文(VHDL习题解答要点.pdf)为本站会员(tbuqq)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开