名词解释:
EDA:电子设计自动化(ElectronicDesignAutomation)
ASIC:专用集成电路(ApplicationSpecificIntegratedCircuit)
CPLD:复杂可编程逻辑器件(Comple_ProgrammableLogicDevice)
FPGA:现场可编程门阵列(Filed-ProgrammableGateArray)
IP:知识产权核或知识产权模块(IntellectualProperty)
SOPC:可编程片上系统或单芯片可编程系统(SystemOnaProgrammableChip)
HDL:硬件描述语言(HardwareDescriptionLanguage)
VHDL:VHSIC(VeryHighSpeedIntegratedCircuit)HardwareDescriptionLanguage
简述JTAG的用途:
JTAG是联合测试工作组(JointTestActionGroup)的简称,是在名为标准测试访问端口和边界扫描结构的IEEE的标准1149.1的常用名称。此标准用于测试访问端口,使用边界扫描的方法来测试印刷电路板。JTAG具有广泛的应用。几乎所有的嵌入式系统都具有JTAG端口。PCI总线接口包含JTAG引脚。一种特殊的JTAG卡可以用来刷新被破坏了的BIOS。
JTAG是一种所谓的边界扫描技术。边扫描测试是在20世纪__年代中期作为解决PCB物理访问问题的JTAG接口发展起来的,这样的问题是新的封装技术导致电路板装配日益拥挤所产生的。边界扫描在芯片级层次上嵌入测试电路,以形成全面的电路板级测试协议。利用边界扫描--自19__年以来的行业标准IEEE1149.1--您甚至能够对最复杂的装配进行测试、调试和在系统设备编程,并且诊断出硬件问题。
与传统的数字电路系统设计相比,EDA设计有何特点,优势(详见书上p5)
1.用HDL进行设计,降低了设计成本,缩短了设计周期。
XXX工具能完成各种自动设计过程是因为各类库的支持,这些库是由公司与半导体生产厂商合
作共同开发的。
3.某些HDL本身也是文档型的语言(如VHDL),极大地简化了设计文档的管理。
XXX中最为瞩目的功能是逻辑设计仿真测试技术,只需通过计算机进行仿真测试,这一切极大地提高
了大规模系统电子设计的自动化程度。
5.基于EDA技术的电子系统设计可以使设计者拥有完全的自主权,再无受制于人之虞。
使用EDA技术,完成系统设计,一般要经过哪几个步骤
EDA设计流程:
1.系统规格制定(DefineSpecification)
2.设计描述(DesignDescription)
3.功能验证(FunctionVerification)
4.逻辑电路合成(Logicsynthesis)
5.逻辑门层次的电路功能验证(Gate-LevelNetlistVerification)
6.配置与绕线(PlaceandRouting)
7.绕线后的电路功能验证(PostLayoutVerification)
目前市面上有哪些软件可做电路设计使用
QuartusII:公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
ProtelD_P:公司作为EDA领域里的一个领先公司,在原来Protel99SE的基础上,应用最先进的软件设计方法,率先推出了一款基于Windows20__和Windows_P操作系统的EDA设计软件ProtelD_P。DSPBuilder:Altera可编程逻辑器件(PLD)中的DSP系统设计需要高级算法和HDL开发工具。AlteraDSPBuilder将TheMathWorksMATLAB和Simulink系统级设计工具的算法开发、仿真和验证功能与VHDL综合、仿真和Altera开发工具整合在一起,实现了这些工具的集成。
生成“或非”门(输入:A,B输出:Y):
libraryieee;
XXX.all;
entityVHDL1is
port(a,b:inbit;
c:outbit);
end;
architecturebhvofVHDL1is
begin
process(a,b)
begin
ifa='0'andb='0'
thenc<='1';
else
c<='0';
endif;
endprocess;
endbhv;
设计一个5人多数表决器:
libraryieee;
XXX.all;
entityVHDL2is
port(a,b,c,d,e:ininteger;
y:outinteger);
end;
architecturebhvofVHDL2is
signalq1:integerrange5downto0;
begin
process(a,b,c,d,e,q1)
begin
q1<=a+b+c+d+e;
ifq1>='3'
theny<='1';
else
y<='0';
endif;
endprocess;
endbhv;
用IF-ELSE-IF-ENDIF语句实现三一八译码功能74LS138基本逻辑功能。libraryieee;
uXXX.all;
entityVHDL3is
port(a,b,c:inbit;
y:outintegerrange7downto0);
end;
architecturebhvofVHDL3is
begin
process(a,b,c)
begin
ifa='0'andb='0'andc='0'
theny<='0';
else
ifa='0'andb='0'andc='1'
theny<='1';
else
ifa='0'andb='1'andc='0'
theny<='2';
else
ifa='0'andb='1'andc='1'
theny<='3';
else
ifa='1'andb='0'andc='0'
theny<='4';
else
ifa='1'andb='0'andc='1'
theny<='5';
else
ifa='1'andb='1'andc='0'
theny<='6';
else
ifa='1'andb='1'andc='1'
theny<='7';
endif;
endprocess;
endbhv;
一位全加器
libraryieee;
XXX.all;entityVHDL4is
port(ain,bin,cin:ininteger;
cout,sum:outinteger);end;
architecturebhvofVHDL4is
signalq1:integerrange3downto0;begin
process(ain,bin,cin)
begin
q1<=ain+bin+cin;
ifq1='3'
thensum<='1'andcout='1';else
ifq1='2'
thensum<='0'andcout='1';else
ifq1='1'
thensum<='1'andcout='0';else
ifq1='0'
thensum<='0'andcout='0';endif;
endprocess;
endbhv;