eda与vhdl复习
- 格式:doc
- 大小:2.04 MB
- 文档页数:5
一知识点如下:1. 面向FPGA 的开发流程:设计输入,综合,布线布局,仿真,下载和硬件测试。
2. 图形输入包括哪些方法:状态图输入,波形图输入和原理图输人。
3. EDA 设计输入包括哪两种类型:图形输入,硬件描述语言文本输入。
4. 仿真有哪两种形式:时序仿真,功能仿真。
5. IP 的含义,分哪些种类:IP 就是知识产权核或知识产权模块的意思,在EDA 技术和开发中具有十分重要的地位。
分为:软IP ,固IP 和硬IP 。
6. PLD 可编程逻辑器件(Programmable Logic Devices );PROM 可编程只读存储器(Programmable Read Only Memory ); PLA 可编程逻辑阵列(Programmable Logic Array ); PAL 可编程阵列逻辑(Programmable Array Logic ); GAL 通用阵列逻辑(Generic Array Logic );EPLD 可擦除可编辑逻辑器件 ( Erasable Programmable Logic Device) ; CPLD 复杂可编程逻辑器件(Complex Programmable Logic Devices ); FPGA 现场可编程门阵列(Field Programmable Gate Array ); SOPC 可编程片上系统(System-on-a-Programmable-Chip )。
7. PLD 的基本结构:输入缓冲、与阵列、或阵列和输出结构等四部分8. PLD 的分类:按集成度分为: 简单PLD :PROM ,PLA ,PAL ,GAL 复杂PLD :CPLD ,FPGA按结构分为: 乘积项结构器件,查找表结构器件 按编程工艺划分为:熔丝型器件,反熔丝型器件, EPROM 型,EEPROM 型, SRAM 型 , FLASH 型9. PLD 中阵列线连接表示,与或阵列的表示:见右10. MAX7000结构的主要部分,宏单元的功能块组成:MAX7000结构主要是由多个LAB 组成的阵列以及它们之间的连线构成。
宏单元由逻辑阵列,乘积项选择矩阵和可编程寄存器3个功能块组成。
11. Cyclone 器件有哪些模块构成:主要由逻辑阵列块,嵌入式存储器块,I/O 单元和PLL 等模块构成。
12. 端口模式有哪几种:IN :输入端口,OUT :输出端口, INOUT :输入输出双向端口,BUFFER :缓冲端口 13. STD_LOGIC 定义的9种数据:‘U ’表示未初始化;‘X ’表示强未知的;‘0’表示强逻辑0;‘1’表示强逻辑1;‘Z ’表示高阻态;‘W ’表示弱未知;‘L ’表示弱逻辑0;‘H ’表示弱逻辑1;‘-’表示忽略 14. 信号与变量的异同点比较,信号赋值语句和变量赋值符号:信号赋值符号:〈= 变量赋值符号: :=15. PROCESS 语句结构的3部分组成:说明部分,顺序描述语句部分和敏感信号参数表 16. 仿真延时的两种模型:固有延时和传输延时17. 状态机的分类:从信号输出方式分为:Mealy 型和Moore 型两种信号SIGNAL变量V ARIABLE基本用法用于作为电路中的信号连线用于作为进程中局部数据存储适用范围在整个结构体内的任何地方都能只能在所定义的进程中使用行为特性在进程的最后才对信号赋值立即赋值从结构上分:单进程和多进程状态机 从状态表达式上分:有符号化状态机和确定编码的状态机 从编码方式上分:有顺序编码状态机,一位热码编码状态机或其他编码方式状态机状态机包括几个部分:说明部分,主控时序进程,主控组合进程,辅助进程 状态机的工作时序方式:同步时序工作方式 状态机相比其他VHDL 设计方案有哪些优势:1克服了纯硬件数字系统顺序方式控制不灵活的缺点;2由于状态机结构简单,设计方案相对固定,特别是可以定义符号化枚举类型的状态,这一切都为VHDL 综合器尽可能发挥其强大的优化功能提供有利条件;3状态机容易构成性能良好的同步时序逻辑模块,这对于对付大规模逻辑电路设计中令人深感棘手的竞争冒险现象无疑是一个上佳的选择;4与VHDL 的其他描述方式相比,状态机的表述丰富多样,程序层次分明,结构清晰,易读易懂;在排错修改和模块移植方面也有其独到的好处;5在高速运算和控制方面,状态机更有其巨大的优势。
18. VHDL 的6类基本顺序语句:赋值语句,流程控制语句,等待语句,子程序调用语句, 返回语句和空操作语句19. 子程序的两种类型:过程和函数 函数的两部分组成:函数首和函数体20. 什么是重载函数:同样名称的函数可以用不同的数据类型作为此函数的参数定义多次,以此定义的 函数称为重载函数。
21.转换函数有哪些:22. 常用库的种类:IEEE 库,STD 库,WORK 库及VITAL 库等23. VHDL 的数据类型分为哪四大类:标量型:包括实数类型,整数类型,枚举类型,时间类型;复合类型:由小的数据复合而成; 存取类型:为给定的数据类型的数据对象提供存取方式; 文件类型:用于提供多值存取类型。
24. VHDL 的文字规则(数字,字符串,标识符,下标名) P27625. 操作符分哪几类:四类:逻辑操作符,关系操作符,算术操作符,符号操作符。
P287 26. 断言语句分哪两类:顺序断言语句和并行断言语句27. CASE 语句的多条件选择的四种不同表达式:单个普通数值,数值选择范围,并列数值,混合方式。
Next语句与exit 语句的区别:next 语句跳转的方向是loop 标号指定的loop 语句处,当没有loop 标号时,跳转到当前loop 语句的循环起始点,而exit 语句跳转方向是loop 标号指定的loop 循环语句的结束处,即完全跳出指定的循环,并开始执行此循环外的语句。
(next 语句转向loop 语句的起点,exit 语句转向loop 语句的终点。
)28. 比较Moore 和Mealy 状态机的异同点:Moore 状态机属于同步输出状态机,Mealy 属于异步输出状态机。
函数名功能程序包: STD_LOGIC_1164 to_stdlogicvector(A) 由bit_vector 类型的A 转换为std_logic_vector to_bitvector(A) 由std_logic _vector 转换为bit_vector to_stdlogic (A) 由bit 转换成std_logic to_bit(A)由std_logic 转换成bit 程序包: STD_LOGIC_ARITH conv_std_logic_vector(A, 位长) 将整数integer 转换成std_logic_vector 类型,A 是整数conv_integer(A)将std_logic_vector 转换成整数integer 程序包: STD_LOGIC_UNSIGNED conv_integer(A)由std_logic_vector 转换成integer二程序1)8位三态门控制程序:2)把0-255内的自然数转换成8位二进制数:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;PACKAGE n_pack ISSUBTYPE nat IS Integer range 0 to 255;--定义一个Integer的子类型TYPE Bit8 IS array (7 downto 0) OFstd_logic;-- 定义一个数据类型FUNCTION nat_to_Bit8 (s: nat) RETURN Bit8; End n_pack;PACKAGE BODY n_pack ISFUNCTION nat_to_Bit8 (s: nat) RETURN Bit8 IS V ARIABLE Din: Integer range 255 downto 0;V ARIABLE Rut: Bit8;V ARIABLE Rig: Integer :=2**7;BEGINDin := s;FOR I in 7 downto 0 LOOPIF Din/Rig > =1 THEN Rut(i) := '1'; Din :=Din-Rig;ELSE Rut (i):= '0'; END IF;Rig := Rig / 2;END LOOP;RETURN Rut;END nat_to_Bit8;END n_pack;LIBRARY IEEE; - 用户定义转换函数应用实例USE IEEE.STD_LOGIC_1164.ALL;USE WORK.n_pack.ALL ;ENTITY axamp ISPORT(dat : IN nat; --注意数据类型的定义ou : OUT Bit8); --注意数据类型的定义END;ARCHITECTURE bhv OF axamp ISBEGINou <= nat_to_Bit8(dat);END;3)半加器,全加器设计程序:半加器:LIBRARY IEEE; --半加器:布尔方程描述方法USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder ISPORT (a, b : IN STD_LOGIC;co, so : OUT STD_LOGIC);END ENTITY h_adder;ARCHITECTURE fh1 OF h_adder isBEGINso <= NOT(a XOR (NOT b)) ; co <= a AND b ; END ARCHITECTURE fh1;真值表描述法:ARCHITECTURE fh1 OF h_adder isSIGNAL abc : STD_LOGIC_VECTOR(1 DOWNTO 0) ; --定义标准逻辑位矢量数据类型BEGINabc <= a & b ; --a相并b,即a与b并置操作PROCESS(abc)BEGINCASE abc IS --类似于真值表的CASE语句WHEN "00" => so<='0'; co<='0' ;WHEN "01" => so<='1'; co<='0' ;WHEN "10" => so<='1'; co<='0' ;WHEN "11" => so<='0'; co<='1' ;WHEN OTHERS => NULL ;END CASE;END PROCESS;END ARCHITECTURE fh1 ;LIBRARY IEEE; 1位二进制全加器设计描述USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_adder ISPORT (ain,bin,cin : IN STD_LOGIC;cout,sum : OUTSTD_LOGIC );END ENTITY f_adder;ARCHITECTURE fd1 OF f_adder ISCOMPONENT h_adder --调用半加器声明语句PORT ( a,b : IN STD_LOGIC;co,so : OUT STD_LOGIC);END COMPONENT ;COMPONENT or2aPORT (a,b : IN STD_LOGIC;c : OUT STD_LOGIC);END COMPONENT;SIGNAL d,e,f : STD_LOGIC;--定义3个信号作为内部的连接线。