当前位置:文档之家› EDA技术使用教程

EDA技术使用教程

EDA技术使用教程
EDA技术使用教程

ENTITY mux21a IS

PORT(a,b,s:IN BIT;

y:OUT BIT);

END ENTITY mux21a; ARCHITECTURE bhv OF mux21a IS BEGIN

PROCESS (a,b,s) BEGIN

IF(s=?1?) THEN y<=a;ELSE y<=b;END IF; END PROCESS;

END ARCHITECTURE bhv;

例3-2

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS

PORT(

A:IN STD_LOGIC;

B:IN STD_LOGIC;

SO:OUT STD_LOGIC;

CO:OUT STD_LOGIC;

);

END ENTITY h_adder IS

SO<= A XOR B;

CO<=A AND B;

END ARCHITECTURE fh1;

例3-3

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY MUX41A IS

PORT (a,b,c,d,s0,s1:IN STD_LOGIC; y:OUT STD_LOGIC); END ENTITY MUX41A;

ARCHITECTURE BHV OF MUX41A is

SIGNAL S:STD_LOGIC_VECTOR(1 DOWNTO 0);

BEGIN

S<=s1&s0;

PROCESS(s1,s0)BEGIN

CASE (S) IS

WHEN “00”=>y<=a;

WHEN”01”=>y<=b;

WHEN”10”=>y<=c;

WHEN”11”=>y<=d;

WHEN OTHERS=>NULL;

END CASE;

END PROCESS;

END BHV;

例3-4

sel:IN INTEGER RANGE 0 TO 15;

...

CASE sel IS

WHEN 0 =>z1<=”010”;

WHEN 1|3 =>z2<=”110”;

WHEN 4 TO 7|2 =>z3<=”011”;

WHEN OTHERS =>z4<=“111”;

END CASE;

例3-5

SIGNAL value:INTEGER RANGE 0 TO 15; SIGNAL OUT1:STD_LOGIC;

...

CASE value IS

WHEN 0>=out1<=?1?;

WHEN 1>=out1<=?0?;

END CASE

...

CASE value IS

WHEN 0 TO 10=>out1<=?1?;

WHEN 5 TO 15 =>out1<=?0?; END CASE;

例3-6

S<=s1&s0;

PROCESS(s1,s0) BEGIN

IF (S=”00”) THEN y<=a; ELSIF(S=”01”)THEN y<=b; ELSIF(S=”10”) THEN y<=c; ELSE y<=d; END IF;

END PROCESS;

END BHV;

例3-7

S<=s1&s0;

Y<=a WHEN S=”00” ELSE

b WHEN S=”01” ELSE

c WHEN S=”10” ELSE

d ;

END BHV

例3-8

S<=s1 &s0;

WITH S SELECT

Y<=a WHEN”00”,

b WHEN”01”,

c WHEN”10:,

d WHEN”11”;

END BHV;

例3-9

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL

ENTITY f_adder IS

PORT (ain,bin,cin : IN STD_LOGIC;

Cout,sum : OUT STD_LOGIC );

END ENTITY f_adder;

ARCHITECTURE fdl OF f_adder IS

COMPONENT h_adder

PORT (A, B : IN STD_LOGIC; CO, SO : OUT STD_LOGIC);

END COMPONENT;

COMPONENT or2a

PORT (a, b : IN STD_LOGIC; C : OUT STD_LOGIC);

END COMPONENT;

SIGNAL net1,net2,net3 : STD_LOGIC;

BEGIN

u1 : h_adder PORT MAP(A=ain,B=>bin,CO=>net2,SO=>net1);

u2 : h_adder PORT MAP(net1, cin, net3 sum);

u3 : or2a PORT MAP(a=>net2, b=>net3, c=>cout); END ARCHITECTURE fdl;

例3-10

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY or2a IS

PORT (a, b : IN STD_LOGIC; C : OUT STD_LOGIC); END ENTITY or2a;

ARCHITECTURE one OF or2a IS

BEGIN

C<= a OR b;

END ARCHITECTURE one;

例3-11

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY ADDER8B IS

PORT (A, B : IN STD_LOGIC_VECTOR(7 DOWNTO 0);

CIN : IN STD_LOGIC; COUT : OUT

STD_LOGIC;

DOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );

END ENTITY ADDER8B ;

ARCHITECTURE BHV OF ADDER8B IS

SIGNAL DATA : STD_LOGIC_VECTOR(8 DOWNTO 0) ; BEGIN

DATA <= (…0? & A) + (…0? & B) + (“0 0 0 0 0 0 0 0” & CIN); COUT <= DATA(8) ; DOUT <= DATA(7 DOWNTO 0) ;

END ARCHITECTURE BHV;

例3-12

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CNTC IS

PORT (DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0);

CNTH : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END CNTC;

ARCHITECTURE BHV OF CNTC IS

BEGIN

Process(DIN)

V ARIABLE Q : STD_LOGIC_VECTOR (3 DOWNTO 0);

begin

Q := ”0 0 0 0”;

FOR n in 0 to 7 LOOP

IF (DIN(n) = …1? ) THEN Q:=Q+1; END IF;

END LOOP;

CNTH<=Q;

end process;

END BHV;

例3-13

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY MULT4B IS

GENERIC ( S : INTEGER := 4);

PORT ( R : OUT STD_LOGIC_VECTOR(2*S DOWNTO 1);

A, B : IN STD_LOGIC_VECTOR (S DOWNTO 1);

END ENTITY MULT4B;

ARCHITECTURE ONE OF MULT4B IS

SIGNAL A0 :STD_LOGIC_VECTOR(2*S DOWNTO 1);

BEGIN

A0 <= CONV_STD_LOGIC_VECTOR(0,S) & A; PROCESS (A, B)

V ARIABLE R2 : STD_LOGIC_VECTOR(2*S DOWNTO 1);

BEGIN

R1 := (others => …0?);

FOR i IN 1 TO S LOOP

IF (B(i) = …1?) THEN

R1 := R1 + TO_STDLOGICVECTOR(TO_BITVECTOR(A0) SLL (i-1));

END IF;

R <= R1;

END PROCESS;

END ARCHITECTURE ONE;

例3-14

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY decoder3to8 IS

Port(DIN :IN STD_LOGIC_VECTOR(2 DOWNTO 0));

END decoder3to8;

ARCHITECTURE behave OF decoder3to8 IS

BEGIN

DOUT<=”00000001”SLL CONV_INTEGER(DIN);

END behave;

例3-25

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY MULT8B IS

PORT(D1,D2 : IN STD_LOGIC_VECTOR(7 DOWNTO 0);

Q : OUT STD_LOGIC_VECTOR(15 DOWNTO 0) ); END ;

ARCHITECTURE BHV OF MULT8B IS

COMPONENT MULT4B

GENERIC ( S : integer );

PORT ( R : OUT std_logic_vector(2*S DOWNTO 1);

A ,

B : IN std_logic_vector(S DOWNTO 1) ); END COMPONENT ;

BEGIN

u1 : MULT4B GENERIC MAP (S=>8)

PORT MAP (R =>Q , A=> D1, B=>D2);

END;

例3-24

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; PACKAGE n_pack IS

SUBTYPE nat IS Integer range 0 to 255;

TYPE Bit8 IS array (7 downto 0) OF std_logic; FUNCTION nat_to_Bit8 ( s : nat) RETURN Bit8; END n_pack;

PACKAGE BODY n_pack IS

FUNCTION 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;

BEGIN

Din := s;

FOR I in 7 downto 0 LOOP

IF Din/Rig > 0 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;

例3-23

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE WORK.n_pack.ALL ;

ENTITY axamp IS

PORT(dat : IN nat ;

ou : OUT Bit8);

END ;

ARCHITECTURE bhv OF axamp IS

BEGIN

ou <= nat_to_Bit8(dat);

END ;

例3-22

FUNCTION To_bit ( s : std_ulogic; xmap : BIT:='0' )RETURN BIT ; FUNCTION To_bitvector ( s : std_logic_vector;

xmap : BIT := '0' )RETURN BIT_VECTOR ;

FUNCTION To_bitvector ( s : std_ulogic_vector;

xmap : BIT := '0' )RETURN BIT_VECTOR ;

FUNCTION To_bitvector ( s : std_logic_vector;

xmap : BIT := '0' )

RETURN BIT_VECTOR IS; ALIAS sv : std_logic_vector(s'LENGTH-1 DOWNTO 0 )IS s ;

V ARIABLE result : BIT_VECTOR(s'LENGTH-1 DOWNTO 0); BEGIN

FOR i IN result'RANGE LOOP

CASE sv(i)IS

WHEN '0'|'L' => result(i):= '0';

WHEN '0'|'H' => result(i):= '1';

WHEN OTHERS => result(i):= xmap;

END CASE ;

END LOOP ;

RETURN result ;

END ;

例3-21

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY decoder3to8 IS

PORT ( input : IN STD_LOGIC_VECTOR (2 DOWNTO 0);

Output : OUT STD_LOGIC_VECTOR (7 DOWNTO 0)); END decoder3to8;

ARCHITECTURE behave OF decoder3to8 IS

BEGIN

PROCESS (input) BEGIN

output<=(OTHERS =>'0') ; output(CONV_INTEGER(input))<='1'; END PROCESS;

END behave;

例3-20

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY amp IS

PORT ( a1, a2 : IN BIT_VECTOR(3 DOWNTO 0);

c1, c2, c3 : IN STD_LOGIC_VECTOR (3 DOWNTO 0);

b1, b2, b3 :INTEGER RANGE 0 TO 15;

d1,d2,d3,d4 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END amp;

d1 <= TO_STDLOGICVECTOR(a1 AND a2);

d2 <= CONV_STD_LOGIC_VECTOR(b1,4) WHEN CONV_INTEGER(b2)=9

else CONV_STD_LOGIC_VECTOR(b3,4);

d3 <= c1 WHEN CONV_INTEGER(c2)= 8 ELSE c3; d4 <= c1 WHEN c2 = else c3;

例3-18

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY COMP IS

PORT ( C , D : IN SIGNED(3 DOWNTO 0);

RA : OUT SIGNED(3 DOWNTO 0);

RM : OUT SIGNED(7 DOWNTO 0);

R : OUT BOOLEAN );

END ENTITY COMP;

ARCHITECTURE ONE OF COMP IS

BEGIN

R<= (C>D); RA <=C+D; RM<= C*D;

END ARCHITECTURE ONE;

例3-17

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY COMP IS

PORT ( C , D : IN UNSIGNED(3 DOWNTO 0);

RA : OUT UNSIGNED(3 DOWNTO 0);

RM : OUT UNSIGNED(7 DOWNTO 0);

R : OUT BOOLEAN );

END ENTITY COMP;

ARCHITECTURE ONE OF COMP IS

BEGIN

R<= (C>D); RA <=C+D; RM<= C*D;

END ARCHITECTURE ONE;

例3-16

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_SIGNED.ALL;

ENTITY COMP IS

PORT ( C , D : IN STD_LOGIC_VECTOR(3 DOWNTO 0);

RA : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);

RM : OUT STD_LOGIC_VECTOR (7 DOWNTO 0);

R : OUT BOOLEAN );

END ENTITY COMP;

ARCHITECTURE ONE OF COMP IS

BEGIN

R<= (C>D); RA <=C+D; RM<= C*D;

END ARCHITECTURE ONE;

例3-15

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY COMP IS

PORT ( C , D : IN STD_LOGIC_VECTOR(3 DOWNTO 0);

RA : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);

RM : OUT STD_LOGIC_VECTOR (7 DOWNTO 0);

R : OUT BOOLEAN );

END ENTITY COMP;

ARCHITECTURE ONE OF COMP IS

BEGIN

R<= (C>D); RA <=C+D; RM<= C*D;

END ARCHITECTURE ONE;

EDA技术实用教程课后习题答案

第一章 1-1 EDA 技术与ASIC 设计与FPGA 开发有什么关系? 答:利用EDA 技术进行电子系统设计得最后目标就是完成专用集成电路ASIC 得设计与实现;FPGA 与CPLD 就是实现 这一途径得主流器件。FPGA 与CPLD 通常也被称为可编程专用IC,或可编程ASIC。FPGA 与CPLD 得应用就是EDA 技术 有机融合软硬件电子设计技术、SoC(片上系统)与ASIC 设计,以及对自动设计与自动实现最典型得诠释。 1-2 与软件描述语言相比,VHDL 有什么特点? P6 答:编译器将软件程序翻译成基于某种特定CPU 得机器代码,这种代码仅限于这种CPU 而不能移植,并且机器 代码不代表硬件结构,更不能改变CPU 得硬件结构,只能被动地为其特定得硬件电路结构所利用。综合器将VHDL 程序转化得目标就是底层得电路结构网表文件,这种满足VHDL 设计程序功能描述得电路结构,不依赖于任何特定硬 件环境;具有相对独立性。综合器在将VHDL(硬件描述语言)表达得电路功能转化成具体得电路结构网表过程中,具 有明显得能动性与创造性,它不就是机械得一一对应式得“翻译”,而就是根据设计库、工艺库以及预先设置得各类约 束条件,选择最优得方式完成电路结构得设计。 l-3 什么就是综合?有哪些类型?综合在电子设计自动化中得地位就是什么? 什么就是综合? 答:在电子设计领域中综合得概念可以表示为:将用行为与功能层次表达得电子系统转换为低层 次得便于具体实现得模块组合装配得过程。 有哪些类型? 答:(1)从自然语言转换到VHDL 语言算法表示,即自然语言综合。(2)从算法表示转换到寄存器 传输级(RegisterTransport Level,RTL),即从行为域到结构域得综合,即行为综合。(3)从RTL 级表示转换到逻 辑门(包括触发器)得表示,即逻辑综合。(4)从逻辑门表示转换到版图表示(ASIC 设计),或转换到FPGA 得配置网表 文件,可称为版图综合或结构综合。 综合在电子设计自动化中得地位就是什么? 答:就是核心地位(见图1-3)。综合器具有更复杂得工作环境,综合器 在接受VHDL 程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关得工艺库信息,以及获得优化综 合得诸多约束条件信息;根据工艺库与约束条件信息,将VHDL 程序转化成电路实现得相关信息。 1-4 在EDA 技术中,自顶向下得设计方法得重要意义就是什么? P7~10 答:在EDA 技术应用中,自顶向下得设计方法,就就是在整个设计流程中各设计环节逐步求精得过程。 1-5 IP 在EDA 技术得应用与发展中得意义就是什么? P11~12 答:IP 核具有规范得接口协议,良好得可移植与可测试性,为系统开发提供了可靠得保证。 第二章 2-1 叙述EDA 得FPGA/CPLD 设计流程。P13~16 答:1、设计输入(原理图/HDL 文本编辑);2、综合;3、适配;4、时序仿真与功能仿真;5、编程下载;6、硬件测试。 2-2 IP 就是什么?IP 与EDA 技术得关系就是什么? P24~26 IP 就是什么? 答:IP 就是知识产权核或知识产权模块,用于ASIC 或FPGA/CPLD 中得预先设计好得电路功能模块。 IP 与EDA 技术得关系就是什么? 答:IP 在EDA 技术开发中具有十分重要得地位;与EDA 技术得关系分有软IP、 固IP、硬IP:软IP 就是用VHDL 等硬件描述语言描述得功能块,并不涉及用什么具体电路元件实现这些功能;软IP 通常就是以硬件描述语言HDL 源文件得形式出现。固IP 就是完成了综合得功能块,具有较大得设计深度,以网表文件 得形式提交客户使用。硬IP 提供设计得最终阶段产品:掩模。 2-3 叙述ASIC 得设计方法。P18~19 答:ASIC 设计方法,按版图结构及制造方法分有半定制(Semi-custom)与全定制(Full-custom)两种实现方法。 全定制方法就是一种基于晶体管级得,手工设计版图得制造方法。 半定制法就是一种约束性设计方式,约束得目得就是简化设计,缩短设计周期,降低设计成本,提高设计正确率。 半定制法按逻辑实现得方式不同,可再分为门阵列法、标准单元法与可编程逻辑器件法。 2-4 FPGA/CPLD 在ASIC 设计中有什么用途? P16,18 答:FPGA/CPLD 在ASIC 设计中,属于可编程ASIC 得逻辑器件;使设计效率大为提高,上市得时间大为缩短。 2-5 简述在基于FPGA/CPLD 得EDA 设计流程中所涉及得EDA 工具,及其在整个流程中得作用。P19~23 答:基于FPGA/CPLD 得EDA 设计流程中所涉及得EDA 工具有:设计输入编辑器(作用:接受不同得设计输 入表达方式,如原理图输入方式、状态图输入方式、波形输入方式以及HDL 得文本输入方式。);HDL 综合器(作用: HDL 综合器根据工艺库与约束条件信息,将设计输入编辑器提供得信息转化为目标器件硬件结构细节得信息,并在 数字电路设计技术、化简优化算法以及计算机软件等复杂结体进行优化处理);仿真器(作用:行为模型得表达、 电子系统得建模、逻辑电路得验证及门级系统得测试);适配器(作用:完成目标系统在器件上得布局与布线);下 载器(作用:把设计结果信息下载到对应得实际器件,实现硬件设计)。 第三章 3-1 OLMC(输出逻辑宏单元)有何功能?说明GAL 就是怎样实现可编程组合电路与时序电路得。P34~36 OLMC 有何功能? 答:OLMC 单元设有多种组态,可配置成专用组合输出、专用输入、组合输出双向口、寄存器 输出、寄存器输出双向口等。 说明GAL 就是怎样实现可编程组合电路与时序电路得? 答:GAL(通用阵列逻辑器件)就是通过对其中得OLMC (输出逻辑宏单元)得编程与三种模式配置(寄存器模式、复合模式、简单模式),实现组合电路与时序电路设计 得。 3-2 什么就是基于乘积项得可编程逻辑结构? P33~34,40 答:GAL、CPLD 之类都就是基于乘积项得可编程结构;即包含有可编程与阵列与固定得或阵列得PAL(可编程阵

EDA技术实用教程-VHDL版课后答案

第一章 1-1 EDA技术与ASIC设计和FPGA开发有什么关系? P3~4 答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。 1-2与软件描述语言相比,VHDL有什么特点? P6 答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。综合器将VHDL 程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。 l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么? P5 什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。 有哪些类型? 答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。 综合在电子设计自动化中的地位是什么? 答:是核心地位(见图1-3)。综合器具有更复杂的工作环境,综合器在接受VHDL程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库信息,以及获得优化综合的诸多约束条件信息;根据工艺库和约束条件信息,将VHDL程序转化成电路实现的相关信息。 1-4在EDA技术中,自顶向下的设计方法的重要意义是什么? P7~10 答:在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。 1-5 IP在EDA技术的应用和发展中的意义是什么? P11~12 答:IP核具有规范的接口协议,良好的可移植与可测试性,为系统开发提供了可靠的保证。 第二章 2-1 叙述EDA的FPGA/CPLD设计流程。P13~16 答:1.设计输入(原理图/HDL文本编辑);2.综合;3.适配;4.时序仿真与功能仿真;5.编程下载;6.硬件测试。 2-2 IP是什么?IP与EDA技术的关系是什么? P24~26 IP是什么? 答:IP是知识产权核或知识产权模块,用于ASIC或FPGA/CPLD中的预先设计好的电路功能模块。 IP与EDA技术的关系是什么?答:IP在EDA技术开发中具有十分重要的地位;与EDA技术的关系分有软IP、固IP、硬IP:软IP是用VHDL等硬件描述语言描述的功能块,并不涉及用什么具体电路元件实现这些功能;软IP 通常是以硬件描述语言HDL源文件的形式出现。固IP是完成了综合的功能块,具有较大的设计深度,以网表文件的形式提交客户使用。硬IP提供设计的最终阶段产品:掩模。 2-3 叙述ASIC的设计方法。P18~19 答:ASIC设计方法,按版图结构及制造方法分有半定制(Semi-custom)和全定制(Full-custom)两种实现方法。 全定制方法是一种基于晶体管级的,手工设计版图的制造方法。 半定制法是一种约束性设计方式,约束的目的是简化设计,缩短设计周期,降低设计成本,提高设计正确率。半定制法按逻辑实现的方式不同,可再分为门阵列法、标准单元法和可编程逻辑器件法。 2-4 FPGA/CPLD在ASIC设计中有什么用途? P16,18 答:FPGA/CPLD在ASIC设计中,属于可编程ASIC的逻辑器件;使设计效率大为提高,上市的时间大为缩短。 2-5 简述在基于FPGA/CPLD的EDA设计流程中所涉及的EDA工具,及其在整个流程中的作用。 P19~23答:基于FPGA/CPLD的EDA设计流程中所涉及的EDA工具有:设计输入编辑器(作用:接受不同的设计输

EDA技术实用教程(第四版)习题答案

《EDA技术实用教程(第四版)》习题 3 习题 3-1 画出与以下实体描述对应的原理图符号元件: ENTITY buf3s IS --实体1:三态缓冲器 PORT(input:IN STD_LOGIC; --输入端 enable:IN STD_LOGIC; --使能端 output:OUT STD_LOGIC); --输出端 END buf3s ; ENTITY mux21 IS --实体2: 2选1多路选择器 PORT(in0, in1,sel: IN STD_LOGIC; output:OUT STD_LOGIC); 3-2 图3-16所示的是4选1多路选择器,试分别用IF_THEN语句和CASE语句的表达方式写出此电路的VHDL程序,选择控制信号s1和s0的数据类型为STD_LOGIC_VECTOR;当s1=’0’,s0=’0’;s1=’0’,s0=’1’;s1=’1’,s0=’0’和s1=’1’,s0=’1’时,分别执行y<=a、y<=b、y<=c、y<=d。 图3-16 4选1多路选择器 --解1:用IF_THEN语句实现4选1多路选择器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; mux21 in0 output in1 sel buf3s input output enable

ENTITY mux41 IS PORT (a,b,c,d: IN STD_LOGIC; s0: IN STD_LOGIC; s1: IN STD_LOGIC; y: OUT STD_LOGIC); END ENTITY mux41; ARCHITECTURE if_mux41 OF mux41 IS SIGNAL s0s1 : STD_LOGIC_VECTOR(1 DOWNTO 0);--定义标准逻辑位矢量数据BEGIN s0s1<=s1&s0; --s1相并s0,即s1与s0并置操作 PROCESS(s0s1,a,b,c,d) BEGIN IF s0s1 = "00" THEN y <= a; ELSIF s0s1 = "01" THEN y <= b; ELSIF s0s1 = "10" THEN y <= c; ELSE y <= d; END IF; END PROCESS; END ARCHITECTURE if_mux41; --解2:用CASE语句实现4选1多路选择器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux41 IS PORT (a,b,c,d: IN STD_LOGIC; s0: IN STD_LOGIC; s1: IN STD_LOGIC; y: OUT STD_LOGIC); END ENTITY mux41; ARCHITECTURE case_mux41 OF mux41 IS SIGNAL s0s1 : STD_LOGIC_VECTOR(1 DOWNTO 0);--定义标准逻辑位矢量数据类型BEGIN s0s1<=s1&s0; --s1相并s0,即s1与s0并置操作 PROCESS(s0s1,a,b,c,d) BEGIN CASE s0s1 IS --类似于真值表的case语句 WHEN "00" => y <= a; WHEN "01" => y <= b; WHEN "10" => y <= c; WHEN "11" => y <= d; WHEN OTHERS =>NULL ; END CASE; END PROCESS; END ARCHITECTURE case_mux41;

EDA技术实用教程第五版第13章习题答案

13-1进程有哪几种主要类型?不完全组合进程是 由什么原因引起的?有什么特点?如何避免? 解:两种: (1) begin 顺序语句 end process (2) begin wait 语句; 顺序语句 end process 两个的主要不同就在于敏感信号的不同 13-2比较CASE 语句与WITH_SELECT 语句,叙述它 们的异同点。并用WITH_SELECT_WHEN 语句描述4个16位至1个16位输出的4选1多路选择器。 答:①相同点:CASE 语句中各子句的条件不能有重叠,必须包容所有的条件;WITH_SECLECT 语句也不允许选择值有重叠现象,也不允许选择值涵盖不全的情况。另外,两者对子句各选择值的测试都具有同步性,都依赖于敏感信号的变化。 不同点:CASE 语句只能在进程中使用,至少包含一个条件语句,可以有多个赋值目标;WITH_SECLECT 语句根据满足的条件,对信号进行赋值,其赋值目标只有一个,且必须是信号。 ②LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux IS PORT( dina : IN STD_LOGIC_VECTOR(0 to 15); dinb : IN STD_LOGIC_VECTOR(0 to 15); dinc : IN STD_LOGIC_VECTOR(0 to 15); dind : IN STD_LOGIC_VECTOR(0 to 15); sel: IN STD_LOGIC_VECTOR(0 to 1); dout : OUT STD_LOGIC_VECTOR(0 to 15)); END mux; ARCHITECTURE rtl OF mux IS BEGIN with sel select dout<=dina WHEN "00", dinb WHEN "01", dinc WHEN "10", dind WHEN "11", "ZZZZZZZZZZZZZZZZ" when others; END rtl; 13-3 为什么说一条并行赋值语句可以等效为一 个进程?如果是这样的话,该语句咋么实现敏感信号的检测? 解:因为信号赋值语句的共同点是赋值目标必须都是信号,所有赋值语句与其它并行语句一样,在结构体内的执行是同时发生的,与它们的书写顺序没有关系,所以每一信号赋值语句都相当于一条缩写的进程语句。由于这条语句的所有输入信号都被隐性地列入此缩写进程的敏感信号表中,故任何信号的变化都将相关并行语句的赋值操作,这样就实现了敏感信号的检测。 13-4 在STRING,TIME ,REAL,BIT 数据类型中,VHDL 综合器支持哪些类型? 答:VHDL 支持BIT 类型和STRING 类型,其他属于用户定义的数据类型不能综合 13-5 判断下列VHDL 标识符是否合法,如果有误 则指出原因16#0FA#,10#12F#,8#789#,8#356#,2#0101010#,74HC245,\74HC574\,CLR/RESET ,\IN 4/SCLK\, D100%。 答:识符用法规定:(1)只能包含英文字母,数字,下划线(2)标识符的首字符只能是字母。故: (1)16#0FA#错在首字符是数字,且包含非法字符“#“。 10#12F#、8#789#,8#356#,2#0101010#,74HC245也是犯同一错误。 (2)\74HC574\,CLR/RESET,\IN4/SCLK\,D100%都 是非法,包含非法字符…. 13-6 数据类型BIT,INTEGER 和BOOLEAN 分别定义 在那个库中?哪些库和程序包总是可见的? 答:BIT 定义在IEEE 库中,INTEGER 和BOOLEAN 定义在STD 库中,除了STD 库和WORK 库外,IEEE 库面向ASIC 的库和用户自定义的库及其中的包集合 13-7 函数与过程的设计与功能有什么区别? 调用上有什么区别? 1.函数的定义由函数首和函数体两部分组成,在进程或结构体中不必定义函数首,而在程序包中必须定义函数首。 过程也由过程首和过程体构成,在进程或结构体中不必定义过程首,而在过程包中必须定义过程首。 2.函数是串行,过程是串行。 3区别:(1)参数表的区别。函数的参数表是用来定义输出值的,所以不必以显式表示参数的方向;过程的参数表可以对常数、变量和信号三类数据对象目标作出说明,并用关键词IN 、OUT 和INOUT 定

EDA技术使用教程课后答案

第二章 2-1 叙述EDA的FPGA/CPLD设计流程。P13~16 答:1.设计输入(原理图/HDL文本编辑);2.综合;3.适配;4.时序仿真与功能仿真;5.编程下载;6.硬件测试。2-2 IP是什么?IP与EDA技术的关系是什么? P24~26 IP是什么? 答:IP是知识产权核或知识产权模块,用于ASIC或FPGA/CPLD中的预先设计好的电路功能模块。 IP与EDA技术的关系是什么?答:IP在EDA技术开发中具有十分重要的地位;与EDA技术的关系分有软IP、固IP、硬IP:软IP是用VHDL等硬件描述语言描述的功能块,并不涉及用什么具体电路元件实现这些功能;软IP 通常是以硬件描述语言HDL源文件的形式出现。固IP是完成了综合的功能块,具有较大的设计深度,以网表文件的形式提交客户使用。硬IP提供设计的最终阶段产品:掩模。 2-3 叙述ASIC的设计方法。P18~19 答:ASIC设计方法,按版图结构及制造方法分有半定制(Semi-custom)和全定制(Full-custom)两种实现方法。 全定制方法是一种基于晶体管级的,手工设计版图的制造方法。 半定制法是一种约束性设计方式,约束的目的是简化设计,缩短设计周期,降低设计成本,提高设计正确率。半定制法按逻辑实现的方式不同,可再分为门阵列法、标准单元法和可编程逻辑器件法。 2-4 FPGA/CPLD在ASIC设计中有什么用途? P16,18 答:FPGA/CPLD在ASIC设计中,属于可编程ASIC的逻辑器件;使设计效率大为提高,上市的时间大为缩短。2-5 简述在基于FPGA/CPLD的EDA设计流程中所涉及的EDA工具,及其在整个流程中的作用。P19~23答:基于FPGA/CPLD的EDA设计流程中所涉及的EDA工具有:设计输入编辑器(作用:接受不同的设计输入表达方式,如原理图输入方式、状态图输入方式、波形输入方式以及HDL的文本输入方式。);HDL综合器(作用:HDL综合器根据工艺库和约束条件信息,将设计输入编辑器提供的信息转化为目标器件硬件结构细节的信息,并在数字电路设计技术、化简优化算法以及计算机软件等复杂结体进行优化处理);仿真器(作用:行为模型的表达、电子系统的建模、逻辑电路的验证及门级系统的测试);适配器(作用:完成目标系统在器件上的布局和布线);下载器(作用:把设计结果信息下载到对应的实际器件,实现硬件设计)。 第三章 3-1 OLMC(输出逻辑宏单元)有何功能?说明GAL是怎样实现可编程组合电路与时序电路的。P34~36 OLMC有何功能? 答:OLMC单元设有多种组态,可配置成专用组合输出、专用输入、组合输出双向口、寄存器输出、寄存器输出双向口等。 说明GAL是怎样实现可编程组合电路与时序电路的? 答:GAL(通用阵列逻辑器件)是通过对其中的OLMC (输出逻辑宏单元)的编程和三种模式配置(寄存器模式、复合模式、简单模式),实现组合电路与时序电路设计的。 3-2 什么是基于乘积项的可编程逻辑结构? P33~34,40 答:GAL、CPLD之类都是基于乘积项的可编程结构;即包含有可编程与阵列和固定的或阵列的PAL(可编程阵列逻辑)器件构成。 3-3 什么是基于查找表的可编程逻辑结构? P40~41 答:FPGA(现场可编程门阵列)是基于查找表的可编程逻辑结构。 3-4 FPGA系列器件中的LAB有何作用? P43~45 答:FPGA(Cyclone/Cyclone II)系列器件主要由逻辑阵列块LAB、嵌入式存储器块(EAB)、I/O单元、嵌入式硬件乘法器和PLL等模块构成;其中LAB(逻辑阵列块)由一系列相邻的LE(逻辑单元)构成的;FPGA可编程资源主要来自逻辑阵列块LAB。 3-5 与传统的测试技术相比,边界扫描技术有何优点? P47~50 答:使用BST(边界扫描测试)规范测试,不必使用物理探针,可在器件正常工作时在系统捕获测量的功能数

EDA技术实用教程课后习题答案

第一章 1-1 EDA 技术与 ASIC 设计和 FPGA 开发有什么关系 答:利用 EDA 技术进行电子系统设计的最后目标是完成专用集成电路 ASIC 的设计和实现;FPGA 和 CPLD 是实现 这一途径的主流器件。FPGA 和 CPLD 通常也被称为可编程专用 IC,或可编程 ASIC。FPGA 和 CPLD 的应用是 EDA 技术 有机融合软硬件电子设计技术、SoC(片上系统)和 ASIC 设计,以及对自动设计与自动实现最典型的诠释。 1-2 与软件描述语言相比,VHDL 有什么特点 P6 答:编译器将软件程序翻译成基于某种特定 CPU 的机器代码,这种代码仅限于这种 CPU 而不能移植,并且机器 代码不代表硬件结构,更不能改变 CPU 的硬件结构,只能被动地为其特定的硬件电路结构所利用。综合器将 VHDL 程序转化的目标是底层的电路结构网表文件,这种满足 VHDL 设计程序功能描述的电路结构,不依赖于任何特定硬 件环境;具有相对独立性。综合器在将 VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具 有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约 束条件,选择最优的方式完成电路结构的设计。 l-3 什么是综合有哪些类型综合在电子设计自动化中的地位是什么 什么是综合答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层 次的便于具体实现的模块组合装配的过程。 有哪些类型答:(1)从自然语言转换到 VHDL 语言算法表示,即自然语言综合。(2)从算法表示转换到寄存器 传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。(3)从 RTL 级表示转换到逻 辑门(包括触发器)的表示,即逻辑综合。(4)从逻辑门表示转换到版图表示(ASIC 设计),或转换到 FPGA 的配置网表 文件,可称为版图综合或结构综合。 综合在电子设计自动化中的地位是什么答:是核心地位(见图1-3)。综合器具有更复杂的工作环境,综合器 在接受 VHDL 程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库信息,以及获得优化综 合的诸多约束条件信息;根据工艺库和约束条件信息,将 VHDL 程序转化成电路实现的相关信息。 1-4 在 EDA 技术中,自顶向下的设计方法的重要意义是什么 P7~10答:在 EDA 技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。 1-5 IP 在 EDA 技术的应用和发展中的意义是什么 P11~12 答:IP 核具有规范的接口协议,良好的可移植与可测试性,为系统开发提供了可靠的保证。 第二章 2-1 叙述 EDA 的 FPGA/CPLD 设计流程。 P13~16 答:1.设计输入(原理图/HDL 文本编辑);2.综合;3.适配;4.时序仿真与功能仿真;5.编程下载;6.硬件测试。 2-2 IP 是什么IP 与 EDA 技术的关系是什么 P24~26 IP 是什么答:IP 是知识产权核或知识产权模块,用于 ASIC 或FPGA/CPLD 中的预先设计好的电路功能模块。 IP 与 EDA 技术的关系是什么答:IP 在 EDA 技术开发中具有十分重要的地位;与 EDA 技术的关系分有软 IP、 固 IP、硬 IP:软 IP 是用 VHDL 等硬件描述语言描述的功能块,并不涉及用什么具体电路元件实现这些功能;软 IP 通常是以硬件描述语言 HDL 源文件的形式出现。固 IP 是完成了综合的功能块,具有较大的设计深度,以网表文件 的形式提交客户使用。硬 IP 提供设计的最终阶段产品:掩模。 2-3 叙述 ASIC 的设计方法。 P18~19 答:ASIC 设计方法,按版图结构及制造方法分有半定制(Semi-custom)和全定制(Full-custom)两种实现方法。 全定制方法是一种基于晶体管级的,手工设计版图的制造方法。

《EDA技术实用教程(第五版)》习题答案(第1-10章)

《EDA技术实用教程(第五版)》习题 1 习题 1-1EDA技术与ASIC设计和FPGA开发有什么关系?FPGA在ASIC设计中有什么用途?P3~4 EDA技术与ASIC设计和FPGA开发有什么关系?答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。 FPGA在ASIC设计中有什么用途?答:FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。FPGA实现ASIC设计的现场可编程器件。 1-2 与软件描述语言相比,VHDL有什么特点? P4~6 答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU 而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。 综合器将VHDL程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。 l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么?P6 什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。 有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。 综合在电子设计自动化中的地位是什么?答:是核心地位(见图1-3)。综合器具有更复杂的工作环境,综合器在接受VHDL程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库信息,以及获得优化综合的诸多约束条件信息;根据工艺库和约束条件信息,将VHDL程序转化成电路实现的相关信息。 1-4 在EDA技术中,自顶向下的设计方法的重要意义是什么? P8~10 答:在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。 1-5 IP在EDA技术的应用和发展中的意义是什么? P23~25 答:IP核具有规范的接口协议,良好的可移植与可测试性,为系统开发提供了可靠的保证。 1-6叙述EDA的FPGA/CPLD设计流程,以及涉及的EDA工具及其在整个流程中的作用。(P12~14) 答:1.设计输入(原理图/HDL文本编辑)(EDA设计输入器将电路系统以一定的表达方式输入计算机);2.综合(EDA综合器就是将电路的高级语言(如行为描述)转换成低级的,可与FPGA/CPLD的基本结构相映射的网表文件或程序。);3.适配(EDA适配器的功能是将

EDA技术使用教程

ENTITY mux21a IS PORT(a,b,s:IN BIT; y:OUT BIT); END ENTITY mux21a; ARCHITECTURE bhv OF mux21a IS BEGIN PROCESS (a,b,s) BEGIN IF(s=?1?) THEN y<=a;ELSE y<=b;END IF; END PROCESS; END ARCHITECTURE bhv; 例3-2 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT( A:IN STD_LOGIC; B:IN STD_LOGIC; SO:OUT STD_LOGIC; CO:OUT STD_LOGIC; ); END ENTITY h_adder IS

SO<= A XOR B; CO<=A AND B; END ARCHITECTURE fh1; 例3-3 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY MUX41A IS PORT (a,b,c,d,s0,s1:IN STD_LOGIC; y:OUT STD_LOGIC); END ENTITY MUX41A; ARCHITECTURE BHV OF MUX41A is SIGNAL S:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN S<=s1&s0; PROCESS(s1,s0)BEGIN CASE (S) IS WHEN “00”=>y<=a; WHEN”01”=>y<=b; WHEN”10”=>y<=c; WHEN”11”=>y<=d; WHEN OTHERS=>NULL; END CASE;

EDA技术实用教程部分习题解答

《EDA技术实用教程》部分习题解答 一、基本概念 1-1 EDA技术与ASIC设计和FPGA开发有什么关系? P3~4 答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD 是实现这一途径的主流器件。FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。 1-2与软件描述语言相比,VHDL有什么特点?P6 答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。综合器将VHDL程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。 l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么?P5 什么是综合?答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。 有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。 综合在电子设计自动化中的地位是什么?答:是核心地位(见图1-3)。综合器具有更复杂的工作环境,综合器在接受VHDL程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库信息,以及获得优化综合的诸多约束条件信息;根据工艺库和约束条件信息,将VHDL程序转化成电路实现的相关信息。 1-4在EDA技术中,自顶向下的设计方法的重要意义是什么? P7~10 答:在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。1-5 IP在EDA技术的应用和发展中的意义是什么?P11~12 答:IP核具有规范的接口协议,良好的可移植与可测试性,为系统开发提供了可靠的保证。 2-1 叙述EDA的FPGA/CPLD设计流程。P13~16 答:1.设计输入(原理图/HDL文本编辑);2.综合;3.适配;4.时序仿真与功能仿真;5.编程下载;6.硬件测试。 2-2 IP是什么?IP与EDA技术的关系是什么?P24~26 IP是什么?答:IP是知识产权核或知识产权模块,用于ASIC或FPGA/CPLD中的预先设计好的电路功能模块。 IP与EDA技术的关系是什么?答:IP在EDA技术开发中具有十分重要的地位;与EDA技术的关系分有软IP、固IP、硬IP:软IP是用VHDL等硬件描述语言描述的功能块,并不涉及用什么具体电路元件实现这些功能;软IP通常是以硬件描述语言HDL源文件的形式出现。固IP是完成了综合的功能块,具有较大的设计深度,以网表文件的形式提交客户使用。硬IP提供设计的最终阶段产品:掩模。 2-3 叙述ASIC的设计方法。P18~19 答:ASIC设计方法,按版图结构及制造方法分有半定制(Semi-custom)和全定制(Full-custom)两种实现方法。 全定制方法是一种基于晶体管级的,手工设计版图的制造方法。 半定制法是一种约束性设计方式,约束的目的是简化设计,缩短设计周期,降低设计成本,提高设计

EDA技术实用教程习题答案——潘松_黄继业

EDA技术实用教程 潘松黄继业 第一章 1-1 EDA技术与ASIC设计和FPGA开发有什么关系? 答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC (片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。 1-2与软件描述语言相比,VHDL有什么特点? 答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。综合器将VHDL程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。 l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么? 什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。 有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。 综合在电子设计自动化中的地位是什么?答:是核心地位(见图1-3)。综合器具有更复杂的工作环境,综合器在接受VHDL程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库信息,以及获得优化综合的诸多约束条件信息;根据工艺库和约束条件信息,将VHDL程序转化成电路实现的相关信息。 1-4在EDA技术中,自顶向下的设计方法的重要意义是什么? 答:在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。 1-5 IP在EDA技术的应用和发展中的意义是什么? 答:IP核具有规范的接口协议,良好的可移植与可测试性,为系统开发提供了可靠的保证。 第二章 2-1 叙述EDA的FPGA/CPLD设计流程。P13~16 答:1.设计输入(原理图/HDL文本编辑);2.综合;3.适配;4.时序仿真与功能仿真;5.编程下载;6.硬件测试。 2-2 IP是什么?IP与EDA技术的关系是什么? P24~26 IP是什么? 答:IP是知识产权核或知识产权模块,用于ASIC或FPGA/CPLD中的预先设计好的电路功能模块。 IP与EDA技术的关系是什么?答:IP在EDA技术开发中具有十分重要的地位;与EDA技术的关系分有软IP、固IP、硬IP:软IP是用VHDL等硬件描述语言描述的功能块,并不涉及用什么具体电路元件实现这些功能;软IP通常是以硬件描述语言HDL源文件的形式出现。固IP是完成了综合的功能块,具有较大的设计深度,以网表文件的形式提交客户使用。硬IP提供设计的最终阶段产品:掩模。 2-3 叙述ASIC的设计方法。 P18~19 答:ASIC设计方法,按版图结构及制造方法分有半定制(Semi-custom)和全定制(Full-custom)两种实现方法。 全定制方法是一种基于晶体管级的,手工设计版图的制造方法。 半定制法是一种约束性设计方式,约束的目的是简化设计,缩短设计周期,降低设计成本,提高设计正确率。半定制法按逻辑实现的方式不同,可再分为门阵列法、标准单元法和可编程逻辑器件法。 2-4 FPGA/CPLD在ASIC设计中有什么用途? P16,18 答:FPGA/CPLD在ASIC设计中,属于可编程ASIC的逻辑器件;使设计效率大为提高,上市的时间大为缩短。

EDA技术实用教程课后答案—潘松版(第三版)

第一章 1-1EDA技术与ASIC设计和FPGA开发有什么关系?P3~4 答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。 1-2与软件描述语言相比,VHDL有什么特点?P6 答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。综合器将VHDL 程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。 l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么?P5 什么是综合?答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。 有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。 综合在电子设计自动化中的地位是什么?答:是核心地位(见图1-3)。综合器具有更复杂的工作环境,综合器在接受VHDL程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库信息,以及获得优化综合的诸多约束条件信息;根据工艺库和约束条件信息,将VHDL程序转化成电路实现的相关信息。 1-4在EDA技术中,自顶向下的设计方法的重要意义是什么?P7~10 答:在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。 1-5IP在EDA技术的应用和发展中的意义是什么?P11~12 答:IP核具有规范的接口协议,良好的可移植与可测试性,为系统开发提供了可靠的保证。 第二章 2-1叙述EDA的FPGA/CPLD设计流程。P13~16 答:1.设计输入(原理图/HDL文本编辑);2.综合;3.适配;4.时序仿真与功能仿真;5.编程下载;6.硬件测试。2-2IP是什么?IP与EDA技术的关系是什么?P24~26 IP是什么?答:IP是知识产权核或知识产权模块,用于ASIC或FPGA/CPLD中的预先设计好的电路功能模块。 IP与EDA技术的关系是什么?答:IP在EDA技术开发中具有十分重要的地位;与EDA技术的关系分有软IP、固IP、硬IP:软IP是用VHDL等硬件描述语言描述的功能块,并不涉及用什么具体电路元件实现这些功能;软IP 通常是以硬件描述语言HDL源文件的形式出现。固IP是完成了综合的功能块,具有较大的设计深度,以网表文件的形式提交客户使用。硬IP提供设计的最终阶段产品:掩模。 2-3叙述ASIC的设计方法。P18~19 答:ASIC设计方法,按版图结构及制造方法分有半定制(Semi-custom)和全定制(Full-custom)两种实现方法。 全定制方法是一种基于晶体管级的,手工设计版图的制造方法。 半定制法是一种约束性设计方式,约束的目的是简化设计,缩短设计周期,降低设计成本,提高设计正确率。半定制法按逻辑实现的方式不同,可再分为门阵列法、标准单元法和可编程逻辑器件法。 2-4FPGA/CPLD在ASIC设计中有什么用途?P16,18 答:FPGA/CPLD在ASIC设计中,属于可编程ASIC的逻辑器件;使设计效率大为提高,上市的时间大为缩短。2-5简述在基于FPGA/CPLD的EDA设计流程中所涉及的EDA工具,及其在整个流程中的作用。P19~23答:基于FPGA/CPLD的EDA设计流程中所涉及的EDA工具有:设计输入编辑器(作用:接受不同的设计输

相关主题
文本预览
相关文档 最新文档