第一章。
1.什么叫eda技术?及狭义定义(书p1)
electronic design automation--电子设计自动化。
eda的广义定义范围包括:半导体工艺设计自动化、可编程器件设计自动化、电子系统设计自动化、印刷电路板设计自动化、**与测试、故障诊断自动化、形式验证自动化统称eda工程。
发展历程:cad- cae -eda
3 .eda技术的主要内容。
实现载体(硬件基础): 大规模可编程逻辑器件 (pld_programmable logic device)
描述方式:硬件描述语言(hdl_hard descripation lauguage,vhdl,verilog hdl等)
设计工具:开发软件、开发系统硬件验证: 实验开发系统。
fpga 在结构上主要分为三个部分,即可编程逻辑单元,可编程输入/输出单元和可编程连线三个部分。cpld在结构上主要包括三个部分,即可编程逻辑宏单元,可编程输入/输出单元和可编程内部连线。
4.硬件描述语言(hdl_hardware description language)
vhdl:ieee标准硬件描述语言,在电子工程领域,已成为事实上的通用硬件描述语言。系统级抽象描述能力较强。
verilog:支持的eda工具较多,适用于rtl级和门电路级的描述,其综合过程较vhdl稍简单,门级开关电路描述能级较强,但其在高级描述方面不如vhdl。
abel:一种支持各种不同输入方式的hdl,系统级抽象描述能力差,适应于门级电路描述。
5. **工具。
功能**(也叫前**、系统级**、行为**)验证系统的功能。
时序**(也叫后**、电路级**): 验证系统的时序特性、系统性能。
6. eda的工程设计流程(p8)
第二章。1. 在系统可编程技术(isp)定义。
isp(in_system programmability/programming)是指对器件、电路板、整个电子系统进行逻辑重构和修改功能的能力。可在制造前、制造过程中、甚至在交付用户使用后进行。
技术的优越性。
设计:设计修改方便,产品面市速度快,减少原材料成本,提高器件及板级的可测试性。
制造:减少制造成本,免去单独编程工序,免去重做印刷电路板的工作(直接编程),大量减少库存,减少预处理成本,提高系统质量及可靠性。
现场服务/支持:提供现场系统重构或现场系统用户化的可能(无需重做电路板),提供遥控现场升级及维护(通过因特网)的可能。
3. cpld和fpga的主要区别:
1)结构上的不同: 最基本的逻辑单元结构差异。
2)集成度的不同(生产工艺决定)cpld:500-50000门, eeprom工艺。
fpga: 1k-10m门, srom工艺。
3)应用范围的不同。
cpld逻辑能力强而寄存器少(1k左右),输入变量多,适应于控制密集型系统;fpga逻辑能力较弱(四输入查找表)但寄存器多(100多k),适用于数据密集型系统,输入变量多,需要利用相邻器件,造成器件资源浪费。
(4)使用方法的不同(与生产工艺关联)
4. altera公司pld分为两大系列:
max(multiple array matrix):多阵列矩阵内部结构:可编程的“与”阵列和固定“或”阵列实现逻辑功能;采用eprom工艺或eeprom工艺;属cpld。
flex系列:灵活逻辑单元阵列(flexible logic element matrix)
5. flex10k系列中集成度最小的是epf10klc84。epf代表是flex系列;10代表门数,可用门或系统门,单位以k,即芯片内部包含了10k系统门;lc代表器件封装形式;84代表管脚数。
第三章。1. 什么是vhdl
2. 2选1选择器的vhdl描述。
3. vhdl程序基本结构。
实体(entity)结构体(architecture)配置(configuration)库(library)、程序包(package)
4.实体定义。
实体是一个设计实体的表层设计单元,定义系统的输入输出端口,是设计实体经封装后对外的一个通信界面。
5.结构体定义。
结构体是用于描述设计实体的内部结构以及实体端口间的逻辑关系。
6. vhdl语言要素。
四类语言要素:数据对象、数据类型、操作数、操作符。
7. 基本标识符中的英文字母不分大小写;vhdl的保留字不能作为标识符使用。
8. 数据对象。
常量(constant) 变量(variable) 信号(signal)
三种对象的物理含义:
常量代表数字电路中的电源、地、恒定逻辑值等常数;
变量代表暂存某些值的载体,常用于描述算法;
信号代表物理设计中的某一条硬件连接线,包括输入、输出端口(一般其它高级语言没有)。
9.操作符。
vhdl语言。
1. 顺序描述语句:
执行顺序与书写顺序一致,与传统软件设计语言的特点相似。顺序语句只能用在进程与子程。
序中。2. case 语句特点。
case 语句常用来描述总线或编码、译码行为。可读性比if 语句强。
case 语句使用注意:
1)分支条件的值必须在表达式的取值范围内。
2)两个分支条件不能重叠。
3)case语句执行时必须选中,且只能选中一个分支条件。
4)如果没有others分支条件存在,则分支条件必须覆盖表达式所有可能的值对std_logc, std_logic_vector数据类型要特别注意使用others分支条件。
3. 并发语句。
4. 进程(process)语句特点
1、进程与进程,或其它并发语句之间的并发性;
2、进程内部的顺序性;
3、进程的启动(执行)与挂起;--**。
4、进程与进程,或其它并发语句之间的通信。
5. vhdl的层次化设计与元件声明
6. 端口映射方式:
名称关联方式:低层次端口名 =>当前层次端口名、信号名。
例:or2 port map(o=>n6,i1=>n3,i2=>n1)
位置关联方式:当前层次端口名,当前层次端口名,┈)
例:or2 port map( n3, n1,n6 )
7.基本逻辑电路设计:基本逻辑电路、组合逻辑电路、时序逻辑电路。
8.基本门电路(直接调用逻辑运算符)
9. 编码器。
设计一个 8 输入优先级编码器,y0 级别最低,y7 级别最高;输出为3位编码。
方法1:利用 if 多选择语句自顶向下的优先特性。
方法2:进程内为顺序语句,最先描述优先级最低,最后描述优先级最高,可实现优先级编码。
方法3:利用条件赋值语句。
architecture beh**ior of priority is
beginvec <=111” when y7 = 1’ else--先判断优先级别最高。
110” when y6 = 1’ else
101” when y5 = 1’ else
100” when y4 = 1’ else
011” when y3 = 1’ else
010” when y2 = 1’ else
001” when y1 = 1’ else
000” when y0 = 1’ else
xxx”; **有用,综合被忽略。
end beh**ior;
10.译码器:译码器是编码器的逆过程。如 3-8 译码器。
方法1:使用process语句。
library ieee;
use use
entity decoder is
port(inp : in std_logic_vector(2 downto 0);
outp : out std_logic_vector(7 downto 0));
end decoder;
architecture rtl of decoder is
beginprocess(inp)
beginoutp<=(others=>’0’);所有元素全部赋0
outp(conv_integer(inp))<1’;-对某一位赋1
end process;
end rtl;
方法3:使用 case 语句实现。
方法4:使用条件赋值语句。
12.时序逻辑电路设计。
触发器、寄存器、计数器、分频器、信号发生器等。
d触发器。异步置位/复位d触发器。
EDA课后答案
p93 3 7 library ieee use entity h suber is port x,y in std logic diff,s out out std logic end entity architecture hdlarch of h suber is begin process ...
EDA潘松课后全部答案
1 1 eda技术与asic设计和fpga开发有什么关系?p3 4 答 利用eda技术进行电子系统设计的最后目标是完成专用集成电路asic的设计和实现 fpga和cpld是实现这一途径的主流器件。fpga和cpld通常也被称为可编程专用ic,或可编程asic。fpga和cpld的应用是eda技术有机...
EDA潘松课后全部答案
1 1 eda技术与asic设计和fpga开发有什么关系?p3 4 答 利用eda技术进行电子系统设计的最后目标是完成专用集成电路asic的设计和实现 fpga和cpld是实现这一途径的主流器件。fpga和cpld通常也被称为可编程专用ic,或可编程asic。fpga和cpld的应用是eda技术有机...