EDA技术期末复习
可编程逻辑器件(FPGA/CPLD)、软件(QuartusII)、实验开发系统、VHDL语言 1、 名词解释: (1) 什么是EDA技术?有什么特点?
EDA技术有狭义和广义之分,狭义EDA技术就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术,或称为IES/ASIC自动设计技术 (2) PLD、CPLD、FPGA、ASIC
PLD :可编程逻辑器件(Programable Logic Device)是允许用户编程(配置)实现所需逻辑功能的电路, 它与分立元件相比,具有速度快、容量大、功耗小和可靠性高等优点。
FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点
CPLD是Complex Programmable Logic Device(复杂可编程逻辑器件)的缩写,代表的是一种可编程逻辑器件,它可以在制造完成后由用户根据自己的需要定义其逻辑功能。CPLD 的特点是有一个规则的构件结构,该结构由宽输入逻辑单元组成,这种逻辑单元也叫宏单元,并且 CPLD 使用的是一个集中式逻辑互连方案。
ASIC(Application Specific Intergrated Circuits)即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路 (3)编译、综合、适配、编程/下载、功能仿真和时序仿真
逻辑综合:将电路的高级语言描述(如HDL原理图或状态图的描述)转换成低级的,可与FPGA/CPLD或构成ASIC的门阵列基本结构相映射的网标文件。
逻辑适配:将由综合器产生的网标文件针对某一具体的目标器进行逻辑映射操作,其中包括底层器件配置,逻辑分割,逻辑优化,布线与操作等,配置与指定的目标器件中,产生最终的下载文件,如JEDEC格式的文件。
功能仿真:将综合后的VHDL网标文件再送到VHDL仿真器中所进行的仿真。 时序仿真:将布线器/适配器所产生的VHDL网标文件送到VHDL仿真器中所进行 的仿真。
2、 什么是VHDL语言?VHDL语言的设计采用什么方法?传统数字系统设计采用什么方
法?(从上到下和从下到上)
VHDL:作为IEEE的工业标准硬件描述语言,在电子工程领域已成为事实上的通用硬件描述语言。VHDL主要用于描述数字系统的结构,行为,功能和接口。 VHDL语言的设计采用自顶向下。 传统数字系统采用自底向上的方法。 3、 VHDL语言程序的基本结构:实体描述(ENTITY)、结构体(ARCHITECTURE)、配
置、包集合和库五个部分组成。
实体描述:用于描述所设计的系统的外部接口信号;(端口的定义)P121
结构体:用于描述系统内部的结构和行为;定义了设计单元具体功能。结构体对其基本设计单元的输入输出关系可以用三种方式进行描述:行为描述、寄存器传输描述和结构描述。P123
配置可以把特定的结构体指定给一个确定的实体,主要为顶层设计实体指定结构体。P124 包集合由程序包首和程序包体组成。组成部分可以是USE语句、子程序定义、子程序体、数据类型说明子类型说明和常类说明
VHDL程序设计常用的库有四种:IEEE库、STD库、WORK库、VITAL库P120
4、 标识符的命名规则
标识符用来定义常数、变量、信号、端口、子程序或参数的名字。VHDL的基本标识符就是以英文字母开头,不连续使用下划线“_”,不以下划线“_”结尾的,由26个大小写字母、数字0~9以及下划线组成的字符串。标识符中的英语字母不分大小写
5、 VHDL对象:常量、变量、信号,它们如何定义(格式)?各自有何不同?P128
常量的定义和设置主要是为了使设计实体中的常数更容易阅读和修改。定义形式:CONSTANT常用量:数据类型:=表达式;
在VHDL中,变量是一个局部量,只能在进程和子程序中使用。定义形式:VARIABLE变量名:数据类型:=初始值
信号是描述硬件系统的基本数据对象。定义形式:SIGNAL 信号名:数据类型:=初始值
6、VHDL常用的数据类型有哪些?
(1)标准数据类型 整数类型(INTEGER)、实数类型(REAL)、位(BIT)、矢量类型(BIT_VECTOR)(2种取值0、1)、布尔类型(BOOLEAN)、自然数(NATURAL)和正整数类型(POSITIVE)、字符串类型(STRING)、时间(TIME)等。
(2)IEEE预定义标准逻辑位和矢量(在IEEE库的程序包STD_LOGIC_1164中) 标准逻辑位(STD_LOGIC)(9种取值)、标准逻辑矢量( STD_LOGIC_VECTOR)、其它预定义标准数据类型有无符号数据(UNSIGNED)、有符号数(SIGNED)等; 6、 VHDL的操作符:
逻辑操作符:AND、OR、NAND、NOR、XOR、NOT、XNOR等; 关系运算符:=、/=、>、<、>=、<=; 算术运算符:+、-、*、/等; 并运算符:&;
移位运算符:SLL、SRL;SLA、SRA、ROL、ROR; 各操作符的优先顺序 7、 VHDL语言的描述语句
(1) 顺序语句(格式) 放在子程序和进程语句里 WAIT语句 变量赋值语句:“:=” ; 信号代入语句:“<=” ; IF语句
CASE语句; LOOP语句; NEXT语句; EXIT语句; RETURN语句; NULL语句; 过程调用语句; REPORT语句; 断言语句;
(2) 并行语句(执行时与语句的顺序无关)与顺序语句怎么组合在一起 进程语句(PROCESS); 并行信号赋值语句;(<=)、(WHEN…ELSE…)、(WITH ….SELECT……WHEN….) 块语句;
元件例化语句; 生成语句;
8、 组合逻辑电路设计
与门、或门、非门、与非门、或非门、编码器(8-3)、译码器(3-8)、七段显示译码器、多路选择器、加法器、奇偶校验器; 9、 时序逻辑电路设计
(1) 时钟信号的表示(上升沿与下降沿的表示方法、复位信号描述) (2) 触发器(D,JK)、寄存器、移位寄存器、具有异步清0的计数器(同步)(各
种进制)(10,12,16,24,60,100)、分频器;
(3)有限状态机描述设计(基本格式及结构)了解 掌握基本结构 (4)综合运用(根据图形写出程序或者根据程序分析其功能) 10、QuartusII软件使用
(1)设计输入有三种方式:图形、文本、波形输入等; (2)常用文件格式:QPF(Quartus工程文件)、BDF(原理图文件)、VHD(VHDL源程序文件)、VWF(仿真波形文件)、POF和SOF(编程下载文件)
(3)用QurtusII设计数字系统过程(元件例化或图形法); 11、可编程逻辑器件的基本结构:
CPLD:基于与或阵列式(或乖积项)如MAX3000A系列、MAX7000S系列等 FPGA:基于查找表法(LUT)(RAM)Cyclone、CycloneII系列等 比较这两者的区别;
作业: (1)设计一个七段显示译码器; Library ieee;
Use ieee.std-logic-1164.all; Entity ymq is
Port(d:in integer range 0 to 9;
S:out std-logic-vector(0downto6)); End entity ymq;
Architecture art of ymq is Begin
Process(d) is Begin Case d is
When 0=>s<=”1111110”; When 1=>s<=”0110000”; When 2=>s<=”1101101”; When 3=>s<=”1111001”; When 4=>s<=”0110011”; When 5=>s<=”1011011”; When 6=>s<=”1011111”; When 7=>s<=”1110000”; when 8=>s<=”1111111”; When 9=>s<=”1111011”;
When others=>s<=”0000000”; End case; End process;
End architecture art;
(2)设计一(16线-4线)优先编码器 (3)设计一个四选一数据选择器; Library ieee;
Use ieee.std-logic-1164.all; Entity xuanzeqi is Port(s1,s2:in std-logic; A,B,C,D:in std logic; Z:out std-logic); End entity xuanzeqi;
Architecture art of xuanzeqi is Signal s:std-logic-vector(1downto0); Begin S=s1&s2;
Process(s,a,b,c,d) is begin Case s is
When “00”=>z<=A; When “01”=>z<=B;
When “10”=>z<=C; When “11”=>z<=D; When others=>z<=”x”; End case; End process; End art;
(4)设计四位奇偶校验器 Library ieee;
Use ieee.std-logic-1164.all; Entity jiaoyan 4 is
Port(a:in std-logic-vector(3downto0); Y:out std-logic); End entity jiaoyan 4;
Architecture art of jiaoyan 4 is Signal tmp:std-logic Begin
Tmp<=’0’;
For n in 0 to 6 loop Tmp<=tmp x or a(n); End loop; Y<=tmp; End art;
(5)设计一个具有异步置0的8位移位寄存器(左移或右移); Library ieee;
Use ieee.std-logic-1164.all; Use ieee.std-logic-arith.all; Use ieee.std-logic-unsigned.all; Entity jicunqi 8 is Port(a:in std-logic; Clk:in std-logic;
Y:out std-logic-vector(3downto0); End entity jicunqi 8;
Architecture art of jicunqi 8 is
Signal q:std-logic-vector-(3downto0); Process(clk) is Begin
If clk’event and clk=’1’then Q(0)<=a;
For I in 1 to 7 loop Q(i)<=q(i-1); End loop; End if; End process;
相关推荐: