1. ASIC:专用集成电路 RTC:行为综合 FPGA:现场可编程门阵列 CPLD:复杂可编程逻辑
器件 JTAG:联合测试行动组
2. 后缀名:.SOF:FPGA下载文件 .POF:CPLD下载文件 .VHD:文本输入 .VWF:波形编辑文
件 .EDF:网标文件
3. 端口模式:in,out,inout,buffer
4. 常用库:ieee库,std库,work库,vital库
5. 六类基本顺序语句:赋值语句,流程控制语句,等待语句,子程序调用语句,返回语句,
空操作语句
6. &功能并置,操作数数据类型:一维数组
7. 存盘注意:1.不要放在根目录下 2.保存的文件名与实体名一致
8. 传统的电子设计通常是自底向上的,VHDL是自顶向下的设计方法
9. FPGA/CPLD四大厂商:lattice,xilinx,altera,actel
10. 组合逻辑由完整条件句构成,时序逻辑由不完整条件句构成
11. 逻辑操作符:AND:与OR:或NAND:与非NOR:或非XOR:异或XNOR:异或非(同
或)NOT:非
12. 三种数据对象:常量,变量,信号(信号赋值符号<=,变量的赋值符号:=)
13. 仿真:时序仿真,功能仿真
14. VHDL数据类型四大类:标量型,复合类型,存取类型,文件类型
Std_logic数据类型定义:U,X,O,1,Z,W,L,H,-(9种)
15. 可编程器件:FPGA,CPLD,常用硬件描述语言VHDL,Verilog
16. 四种输入方式:原理图输入,状态图输入,波形图输入,文本输入
17. 掩膜ASIC大致分为门阵列ASIC,标准单位ASIC和全定制ASIC
二.简答题
1.结构与实体语言格式及作用
实体语句格式:
Entity 实体名 is
[generic(参数名:数据类型);]
[port(端口表);]
END Entity 实体名;
功能:对设计实体与外部电路进行接口描述
结构体语句格式:
Architecture 结构体名 of 实体名 is
[说明语句]
Begin
[功能描述语句]
End architecture 机构体名;
功能:描述设计实体内部结构和外部设计实体端口之间的逻辑关系
2.信号与变量的区别
信号用于作为电路中的信号的连接,在整个结构体内的任何地方都能适用,在进程的最后才对信号赋值
变量用于作为进程中局部数据存储单元,只能在所定义的进程中使用,行为特性为立即赋值
3.VHDL预定义数据类型(答六种以上)
1.布尔类型 2.位数据类型 3.位矢量类型 4.字符类型 5.整数类型 6.实数类型 7.字符串类型 8.时间类型 9.文本类型
4.FPGA与CPLD区别
以乘积项结构方式构成逻辑行为的器件称为CPLD 以查表法结构方式构成逻辑行为的器件称为FPGA
5.进程与过程语句表达式
进程语句格式:
[进程标号:]process[(敏感信号参数表)][is]
[进程说明部分]
Begin
顺序描述语句
End process[进程标号];
过程的语句格式:
Procedure 过程名(参数表)
Procedure 过程名(参数表)is
[说明部分]
Begin
顺序语句;
End procedure 过程名;
6.VHDL输入与原理图输入和区别
。。。。。。。。
第二篇:EDA考试总结
名词解释:
EDA:电子设计自动化(Electronic Design Automation)
ASIC:专用集成电路(Application Specific Integrated Circuit)
CPLD:复杂可编程逻辑器件(Complex Programmable Logic Device)
FPGA:现场可编程门阵列(Filed-Programmable Gate Array)
IP:知识产权核或知识产权模块(Intellectual Property)
SOPC:可编程片上系统或单芯片可编程系统(System On a Programmable Chip)
HDL:硬件描述语言(Hardware Description Language)
VHDL: VHSIC (Very High Speed Integrated Circuit) Hardware Description Language
简述JTAG的用途:
JTAG是联合测试工作组(Joint Test Action Group)的简称,是在名为标准测试访问端口和边界扫描结构的IEEE的标准1149.1的常用名称。此标准用于测试访问端口,使用边界扫描的方法来测试印刷电路板。 JTAG具有广泛的应用。几乎所有的嵌入式系统都具有JTAG端口。PCI总线接口包含JTAG引脚。一种特殊的JTAG卡可以用来刷新被破坏了的BIOS。
JTAG是一种所谓的边界扫描技术。边扫描测试是在20世纪xx年代中期作为解决PCB物理访问问题的JTAG接口发展起来的,这样的问题是新的封装技术导致电路板装配日益拥挤所产生的。边界扫描在芯片级层次上嵌入测试电路,以形成全面的电路板级测试协议。利用边界扫描--自19xx年以来的行业标准IEEE 1149.1--您甚至能够对最复杂的装配进行测试、调试和在系统设备编程,并且诊断出硬件问题。
与传统的数字电路系统设计相比,EDA设计有何特点,优势?(详见书上p5)
1. 用HDL进行设计,降低了设计成本,缩短了设计周期。
2. EDA工具能完成各种自动设计过程是因为各类库的支持,这些库是由EDA公司与半导体生产厂商合
作共同开发的。
3. 某些HDL本身也是文档型的语言(如VHDL),极大地简化了设计文档的管理。
4. EDA中最为瞩目的功能是逻辑设计仿真测试技术,只需通过计算机进行仿真测试,这一切极大地提高
了大规模系统电子设计的自动化程度。
5. 基于EDA技术的电子系统设计可以使设计者拥有完全的自主权,再无受制于人之虞。
使用EDA技术,完成系统设计,一般要经过哪几个步骤?
EDA设计流程:
1. 系统规格制定(Define Specification)
2. 设计描述(Design Description)
3. 功能验证(Function Verification)
4. 逻辑电路合成(Logic synthesis)
5. 逻辑门层次的电路功能验证(Gate-Level Netlist Verification)
6. 配置与绕线(Place and Routing)
7. 绕线后的电路功能验证(Post Layout Verification)
目前市面上有哪些软件可做电路设计使用?
Quartus II: Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
Protel DXP: Altium公司作为EDA领域里的一个领先公司,在原来Protel 99SE的基础上,应用最先进的软件设计方法,率先推出了一款基于Windows20xx和Windows XP操作系统的EDA设计软件Protel DXP。DSP Builder:Altera可编程逻辑器件(PLD)中的DSP系统设计需要高级算法和HDL开发工具。Altera DSP Builder将The MathWorks MATLAB和Simulink系统级设计工具的算法开发、仿真和验证功能与VHDL综合、仿真和Altera开发工具整合在一起,实现了这些工具的集成。
生成“或非”门(输入:A,B输出:Y):
library ieee;
use ieee.std_logic_1164.all;
entity VHDL1 is
port (a,b:in bit;
c:out bit);
end;
architecture bhv of VHDL1 is
begin
process(a,b)
begin
if a='0' and b='0'
then c<='1';
else
c<='0';
end if;
end process;
end bhv;
设计一个5人多数表决器:
library ieee;
use ieee.std_logic_1164.all;
entity VHDL2 is
port (a,b,c,d,e:in integer;
y:out integer);
end;
architecture bhv of VHDL2 is
signal q1:integer range 5 downto 0;
begin
process(a,b,c,d,e,q1)
begin
q1<=a+b+c+d+e;
if q1>='3'
then y<='1';
else
y<='0';
end if;
end process;
end bhv;
用IF-ELSE-IF-END IF语句实现三一八译码功能74LS138基本逻辑功能。 library ieee;
use ieee.std_logic_1164.all;
entity VHDL3 is
port (a,b,c:in bit;
y:out integer range 7 downto 0);
end;
architecture bhv of VHDL3 is
begin
process(a,b,c)
begin
if a='0'and b='0'and c='0'
then y<='0';
else
if a='0'and b='0'and c='1'
then y<='1';
else
if a='0'and b='1'and c='0'
then y<='2';
else
if a='0'and b='1'and c='1'
then y<='3';
else
if a='1'and b='0'and c='0'
then y<='4';
else
if a='1'and b='0'and c='1'
then y<='5';
else
if a='1'and b='1'and c='0'
then y<='6';
else
if a='1'and b='1'and c='1'
then y<='7';
end if;
end process;
end bhv;
一位全加器
library ieee;
use ieee.std_logic_1164.all; entity VHDL4 is
port (ain,bin,cin:in integer;
cout,sum:out integer); end;
architecture bhv of VHDL4 is
signal q1:integer range 3 downto 0 ; begin
process(ain,bin,cin)
begin
q1<=ain+bin+cin;
if q1='3'
then sum<='1' and cout='1'; else
if q1='2'
then sum<='0' and cout='1'; else
if q1='1'
then sum<='1' and cout='0'; else
if q1='0'
then sum<='0' and cout='0'; end if;
end process;
end bhv;