1、工程项目的VHDL功能设计与某一集成电路工艺相结合,形成集成电路版图设计,并在晶圆上实现实现集成电路芯片的制造。图1.8 VHDL- ASIC 设计流程工程项目经过集成电路前端设计(VHDL设计、功能时序设计)、后端设计(版图设计),后端仿真、设计规则检查(DRC)、形式验证后的版图,交付集成电路芯片代工厂进行工业化大规模生产。6. 怎样建立一个基本VHDL设计环境?把VHDL语言输入界面、编辑界面、编译工具、器件库、函数库的组合称为VHDL设计环境。许多EDA工具均提供了VHDL设计环境,如ALTERA公司的Quartus II。7. 开展IP 设计需要什么条件? VHDL程序以IP模块的形
2、态存在。开展IP设计需要EDA工具提供VHDL语言编译环境。8. 片上系统设计的知识要求和实验条件有那些? 片上系统设计需要SOC系统知识,嵌入式计算机体系结构知识,IP复用知识,底层驱动软件编写技能。实验条件,需要相对高级、复杂一些的FPGA开发板。第二章 习题参考答案1什么是对象?对象有哪几种类型?在VHDL语言中,对象(Objects)是具有特定数据类型且可以被赋值的客体。VHDL语言中的对象有4类:常量(Constant)、信号(Signal)、变量(Variable)和文件(Files)。2变量和信号的区别是什么?变量(Variable)是一个局部量,主要用于对临时数据进行局部存储。
3、信号(Signal)可用于电路内部硬件设计实体相互连接的抽象表示。信号是全局量,通常在实体说明、结构体和包中使用。3VHDL语言定义的标准数据类型有哪些?VHDL语言预定义的数据类型包括: 整数类型(Integer Type)、2 实数类型或浮点类型(Real Type Floating Type)、3 位类型(Bit Type)、4 位矢量类型(Bit_Vector Type),5 布尔类型(Boolean Type)、6 字符类型(Character Type),7 时间类型或物理类型(Time Type Physical Type)、8 错误类型(Note,Warning,Error,F
4、ailure Type),9 自然数、整数类型(Natural Type)10 字符串类型(Tring Type)。用户自定义的数据类型:枚举类型(Enumerated Type)、 数组类型(Array Type)、3 存取类型(Access Type)、4 文件类型(Files Type) 记录类型(Recode Type)。4哪些数据类型不能被综合?物理类型是不能被综合的。5简述VHDL语言操作符的优先级。运算符的优先级优先级顺序运算操作符类型操 作 符操作符功能高低逻辑运算符NOT取非算术运算符ABS取绝对值*指数运算REM取余MOD求模/除法*乘-负+正并置运算符&并置减加关系运算符
5、=大于等于小于等于大于小于/=不等于等于XOR异或NOR或非NAND与非OR或AND与6哪3种方法可用来进行类型转换?有3种方法:类型标记法、函数转换法和常数转换法。7. 状态运算符的有哪两个值? “TRUE”,和“FALSE”。8. 标示符与保留字有何不同?对VHDL编程有何约束?标识符用于命名实体、结构体、信号和变量等。VHDL语言中的保留字不可以用于标识符的命名中,保留字有些用于VHDL程序设计的关键字。第三章 习题参考答案1简述VHDL设计实体的结构。实体(Entity)提供了被设计系统或器件的公共信息,指明了输入与输出引脚。实体由实体名、类型说明、端口说明、实体说明部分和实体语句部分
6、组成。实体的一般格式为:ENTITY 实体名 IS GENERIC语句; -可选项(参数说明) PORT语句; -必需项(端口说明) 实体说明部分; -可选项 BEGIN 实体语句部分;END ENTITY 实体名;2用结构体的3种描述法设计一个4位计数器。3什么叫进程?简述进程的工作方式。进程语句不是一条语句,而是一段程序结构,这段程序描述了一个靠敏感信号触发的硬件模块反复执行的工作过程。进程语句(Process)是并行处理语句,即在结构体中多个进程语句是同时并发运行的。进程语句的一般书写形式为:进程名:PROCESS敏感信号表 变量声明语句 BEGIN 顺序语句 END PROCESS 进
7、程名;进程语句中一般带有一个敏感信号表。这些信号无论哪一个发生变化都将启动进程,进程中的程序将从上到下顺序执行一遍,产生新的结果并输出。当进程执行完毕,就返回进程开始处,等待敏感量的新变化,引发进程的下一次执行。周而复始,循环往复,以至无穷。4什么叫模块?区分模块与进程。模块(Block)语句是结构体中的一系列并行语句的组合,适用于复杂项目的模块化设计。模块调用必须说明属性、配置和连接关系。模块语句的一般格式如下:块名:BLOCK 控制条件的布尔表达式 ISGENERIC子句 GENERIC映射; 端口子句 端口映射; 块说明部分 BEGIN 并行语句A ;并行语句B ;END BLOCK块名
8、;模块是一个独立的子结构,可以包含PORT语句和GENERIC语句,允许设计者通过这两个语句将模块的内部信号变化传递给模块的外部信号。同样,也可以将模块的外部信号变化传递给模块的内部信号。进程不是独立的硬件结构描述,进程用于含有触发条件的、需要反复运行的程序结构。5. 简述过程与函数的区别。过程语句(procedure)结构过程语句的一般格式如下:PROCEDURE过程名|运算符号generic 子句;generic映射; parameter(参数列表) IS 子程序声明区;BEGIN 顺序处理语句;END PROCEDURE 过程名|运算符号;过程语句中的输入输出参数列在过程名后面的括号里,
9、一般地,IN作为常量,OUT和INOUT作为变量。当过程语句在主程序调用结束后,将变量OUT和INOUT拷贝到调用者的信号和变量中。函数是具有某一特定功能的程序段,能够被主程序调用。函数被调用时,首先要初始化,执行处理功能后,将处理结果传递给主程序。函数内部的值不能保持,函数返回后,才能被再次调用,再次初始化。VHDL程序中函数语句的结构与其他语句一样,也有规定的书写格式:FUNCTION函数名|运算符号generic子句;parameter(参数列表)RETURN数据类型名 IS子程序声明区; RETURN返回变量名;ENDFUNCTION函数名|运算符号;6. 用结构化描述方法设计一个加法
10、器。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 S = a XOR b; C = a AND b;END ARCHITECTURE addr1;- - - - - - - - - - - - - ARCHITECTURE addr2 OF half IS -结构体2的名字
11、为addr2 example:block -模块名example PORT(a,b: IN Bit; -端口子句 s,c: OUT Bit); PORT MAP (a,b,s,c); -端口映射 P1: PROCESS (a,b) IS -进程1的标号P1 BEGIN s END PROCESS P1; P2: PROCESS (a,b) IS -进程2的标号P2 c = a and b; END PROCESS P2; END Block example;END ARCHITECTURE addr2;7. 采用多模块设计方法设计一个日历时钟 见教材。8. 单模块的端口信号与芯片引脚是什么关系
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1