EDA试卷及答案很好的EDA技术复习资料

EDA试卷及答案很好的EDA技术复习资料
EDA试卷及答案很好的EDA技术复习资料

EDA试卷

一、单项选择题

1、2. 基于EDA软件的FPGA/CPLD设计流程为:原理图/HDL文本输入→________→综合→适配→__________→编程下载→硬件测试。

A. 功能仿真

B. 时序仿真

C. 逻辑综合

D. 配置

3. IP核在EDA技术和开发中具有十分重要的地位;提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路的IP核为__________。

A. 软IP

B. 固IP

C. 硬IP

D. 全对

4. 综合是EDA设计流程的关键步骤,在下面对综合的描述中,_________是错误的。

A. 综合就是把抽象设计层次中的一种表示转化成另一种表示的过程。

B. 综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件。

C. 为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束。

D. 综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系是唯一的(即综合结果是唯一的)。

5. 大规模可编程器件主要有FPGA、CPLD两类,其中CPLD通过_______实现其逻辑功能。

A. 可编程乘积项逻辑

B. 查找表(LUT)

C. 输入缓冲

D. 输出缓冲

6. VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述___________。

A. 器件外部特性

B. 器件的内部功能

C. 器件外部特性与内部功能

D. 器件的综合约束

7. 电子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);下列方法中________不属于面积优化。

A. 流水线设计

B. 资源共享

C. 逻辑优化

D. 串行化

8. 进程中的信号赋值语句,其信号更新是_________。

A. 立即完成

B. 在进程的最后完成

C. 按顺序完成

D. 都不对

9. 不完整的IF语句,其综合结果可实现________。

A. 时序逻辑电路

B. 组合逻辑电路

C. 双向电路

D. 三态控制电路

10. 状态机编码方式中,其中_________占用触发器较多,但其简单的编码方式可减少状态译码组合逻辑资源,且易于控制非法状态。

A. 一位热码编码

B. 顺序编码

C. 状态位直接输出型编码

D. 格雷码编码

二、VHDL程序填空

1. 下面程序是1位十进制计数器的VHDL描述,试补充完整。

LIBRARY IEEE;

USE IEEE._____________.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CNT10 IS

PORT ( CLK : IN STD_LOGIC ;

Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)) ;

END CNT10;

ARCHITECTURE bhv OF ______ IS

SIGNAL Q1 : STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

PROCESS (CLK)

_______

IF __________________ THEN -- 边沿检测

IF Q1 > 10 THEN

Q1 <= (OTHERS => '0'); -- 置零

ELSE

Q1 <= Q1 + 1 ; -- 加1

END IF;

END IF;

END PROCESS ;

__________

END bhv;

2. 下面是一个多路选择器的VHDL描述,试补充完整。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY bmux IS

PORT ( sel : ____ STD_LOGIC;

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

Y : ____ STD_LOGIC_VECTOR(___ DOWNTO 0)) ;

END bmux;

ARCHITECTURE bhv OF bmux IS

BEGIN

y <= A when sel = '1' ______

______;

END bhv;

三、VHDL程序改错

仔细阅读下列程序,回答问题

LIBRARY IEEE; -- 1 USE IEEE.STD_LOGIC_1164.ALL; -- 2 ENTITY LED7SEG IS -- 3 PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0); -- 4 CLK : IN STD_LOGIC; -- 5 LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); -- 6 END LED7SEG; -- 7 ARCHITECTURE one OF LED7SEG IS -- 8 SIGNAL TMP : STD_LOGIC; -- 9 BEGIN -- 10 SYNC : PROCESS(CLK, A) -- 11 BEGIN -- 12 IF CLK'EVENT AND CLK = '1' THEN -- 13 TMP <= A; -- 14 END IF; -- 15 END PROCESS; -- 16 OUTLED : PROCESS(TMP) -- 17 BEGIN -- 18 CASE TMP IS -- 19

WHEN "0000" => LED7S <= "0111111"; -- 20

WHEN "0001" => LED7S <= "0000110"; -- 21

WHEN "0010" => LED7S <= "1011011"; -- 22

WHEN "0011" => LED7S <= "1001111"; -- 23

WHEN "0100" => LED7S <= "1100110"; -- 24

WHEN "0101" => LED7S <= "1101101"; -- 25

WHEN "0110" => LED7S <= "1111101"; -- 26

WHEN "0111" => LED7S <= "0000111"; -- 27

WHEN "1000" => LED7S <= "1111111"; -- 28

WHEN "1001" => LED7S <= "1101111"; -- 29

END CASE; -- 30 END PROCESS; -- 31 END one; -- 32

1.在程序中存在两处错误,试指出,并说明理由:

2.修改相应行的程序:

错误1 行号:程序改为:

错误2 行号:程序改为:

四、阅读下列VHDL程序,画出原理图(RTL级)

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY HAD IS

PORT ( a : IN STD_LOGIC;

b : IN STD_LOGIC;

c : OUT STD_LOGIC;

d : OUT STD_LOGIC

);

END ENTITY HAD;

ARCHITECTURE fh1 OF HAD IS BEGIN c <= NOT(a NAND b); d <= (a OR b)AND(a NAND b); END ARCHITECTURE fh1;

五、请按题中要求写出相应VHDL 程序

1. 带计数使能的异步复位计数器

输入端口:

clk 时钟信号

rst 异步复位信号 en 计数使能

load 同步装载

data

(装载)数据输入,位宽为10

输出端口: q 计数输出,位宽为10 2. 看下面原理图,写出相应VHDL 描述

六、综合题

下图是一个A/D 采集系统的部分,要求设计其中的FPGA 采集控制模块,该模块由三个部分构成:控制器(Control )、地址计数器(addrcnt )、内嵌双口RAM (adram )。控制器(control )是一个状态机,完成AD574的控制,和adram 的写入操作。Adram 是一个LPM_RAM_DP 单元,在wren 为’1’时允许写入数据。试分别回答问题

放大采样/保持

AnalogIn

信号预处理FPGA采集控制

adram

(lpm_ram_dp)

Control

AD574

CS ADData 12

CE A0

RC K12_8

地址计数器

CLK

ClkInc Cntclr

wraddr

10

wren

rddata

12

rddata rdaddr

10

12

1

STATUS

下面列出了AD574的控制方式和控制时序图

e a

b y

AD574逻辑控制真值表(X表示任意)

CE CS RC K12_8 A0 工作状态

0 X X X X 禁止

X 1 X X X 禁止

1 0 0 X 0 启动12位转换

1 0 0 X 1 启动8位转换

1 0 1 1 X 12位并行输出有效

1 0 1 0 0 高8位并行输出有效

1 0 1 0 1 低4位加上尾随4个0有效

AD574工作时序:

1.要求AD574工作在12位转换模式,K12_8、A0在control中如何设置

2.试画出control的状态机的状态图

3.对地址计数器模块进行VHDL描述

输入端口:clkinc 计数脉冲

cntclr 计数器情零

输出端口:rdaddr RAM读出地址,位宽10位

4.根据状态图,试对control进行VHDL描述

5.已知adram的端口描述如下

ENTITY adram IS

PORT

(

data : IN STD_LOGIC_VECTOR (11 DOWNTO 0); -- 写入数据

wraddress: IN STD_LOGIC_VECTOR (9 DOWNTO 0); -- 写入地址

rdaddress: IN STD_LOGIC_VECTOR (9 DOWNTO 0); -- 读地址

wren : IN STD_LOGIC := '1'; -- 写使能

q : OUT STD_LOGIC_VECTOR (11 DOWNTO 0) -- 读出数据

);

END adram;

试用例化语句,对整个FPGA采集控制模块进行VHDL描述

EDA試卷答案

一、单项选择题

1、2. 基于EDA软件的FPGA/CPLD设计流程为:原理图/HDL文本输入→__A__→综合→适配→____B____→编程下载→硬件测试。P14

A. 功能仿真

B. 时序仿真

C. 逻辑综合

D. 配置

3. IP核在EDA技术和开发中具有十分重要的地位;提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路的IP核为__A___。P25

A. 软IP

B. 固IP

C. 硬IP

D. 全对

4. 综合是EDA设计流程的关键步骤,在下面对综合的描述中,_____D____是错误的。P15

A. 综合就是把抽象设计层次中的一种表示转化成另一种表示的过程。

B. 综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件。

C. 为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束。

D. 综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系是唯一的(即综合结果是唯一的)。

5. 大规模可编程器件主要有FPGA、CPLD两类,其中CPLD通过___A__实现其逻辑功能。P42

A. 可编程乘积项逻辑

B. 查找表(LUT)

C. 输入缓冲

D. 输出缓冲

6. VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述_____B___。P274

A. 器件外部特性

B. 器件的内部功能

C. 器件外部特性与内部功能

D. 器件的综合约束

7. 电子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);下列方法中___A___不属于面积优化。P238

A. 流水线设计

B. 资源共享

C. 逻辑优化

D. 串行化

8. 进程中的信号赋值语句,其信号更新是___B____。P134

A. 立即完成

B. 在进程的最后完成

C. 按顺序完成

D. 都不对

9. 不完整的IF语句,其综合结果可实现__A__。P147

A. 时序逻辑电路

B. 组合逻辑电路

C. 双向电路

D. 三态控制电路

10. 状态机编码方式中,其中__A__占用触发器较多,但其简单的编码方式可减少状态译码组合逻辑资源,且易于控制非法状态。P221

A. 一位热码编码

B. 顺序编码

C. 状态位直接输出型编码

D. 格雷码编码

二、VHDL程序填空

1. 下面程序是1位十进制计数器的VHDL描述,试补充完整。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CNT10 IS

PORT ( CLK : IN STD_LOGIC ;

Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)) ;

END CNT10;

ARCHITECTURE bhv OF CNT10 IS

SIGNAL Q1 : STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

PROCESS (CLK)

BEGIN

IF CLK'EVENT AND CLK = '1' THEN -- 边沿检测

IF Q1 > 10 THEN

Q1 <= (OTHERS => '0'); -- 置零

ELSE

Q1 <= Q1 + 1 ; -- 加1

END IF;

END IF;

END PROCESS ;

Q <= Q1;

END bhv;

2. 下面是一个多路选择器的VHDL描述,试补充完整。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY bmux IS

PORT ( sel : IN STD_LOGIC;

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

Y : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)) ;

END bmux;

ARCHITECTURE bhv OF bmux IS

BEGIN

y <= A when sel = '1' ELSE

B;

END bhv;

三、VHDL程序改错

仔细阅读下列程序,回答问题

LIBRARY IEEE; -- 1 USE IEEE.STD_LOGIC_1164.ALL; -- 2 ENTITY LED7SEG IS -- 3 PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0); -- 4 CLK : IN STD_LOGIC; -- 5 LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); -- 6 END LED7SEG; -- 7

ARCHITECTURE one OF LED7SEG IS -- 8 SIGNAL TMP : STD_LOGIC; -- 9

BEGIN -- 10 SYNC : PROCESS(CLK, A) -- 11

BEGIN -- 12 IF CLK'EVENT AND CLK = '1' THEN -- 13 TMP <= A; -- 14 END IF; -- 15 END PROCESS; -- 16 OUTLED : PROCESS(TMP) -- 17 BEGIN -- 18 CASE TMP IS -- 19

WHEN "0000" => LED7S <= "0111111"; -- 20

WHEN "0001" => LED7S <= "0000110"; -- 21

WHEN "0010" => LED7S <= "1011011"; -- 22

WHEN "0011" => LED7S <= "1001111"; -- 23

WHEN "0100" => LED7S <= "1100110"; -- 24

WHEN "0101" => LED7S <= "1101101"; -- 25

WHEN "0110" => LED7S <= "1111101"; -- 26

WHEN "0111" => LED7S <= "0000111"; -- 27

WHEN "1000" => LED7S <= "1111111"; -- 28

WHEN "1001" => LED7S <= "1101111"; -- 29

END CASE; -- 30 END PROCESS; -- 31 END one; -- 32

1.在程序中存在两处错误,试指出,并说明理由:

第14行TMP附值错误

第29与30行之间,缺少WHEN OTHERS语句

2.修改相应行的程序:

错误1 行号:9程序改为:

TMP : STD_LOGIC_VECTOR(3 DOWNTO 0);

错误2 行号:29 程序改为:

该语句后添加WHEN OTHERS => LED7S <= "0000000";

四、阅读下列VHDL程序,画出原理图(RTL级)

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY HAD IS

PORT ( a : IN STD_LOGIC;

b : IN STD_LOGIC;

c : OUT STD_LOGIC;

d : OUT STD_LOGIC

);

END ENTITY HAD;

ARCHITECTURE fh1 OF HAD IS

BEGIN

c <= NOT(a NAND b);

d <= (a OR b)AND(a NAND b);

END ARCHITECTURE fh1;

五、请按题中要求写出相应VHDL程序

1.带计数使能的异步复位计数器

输入端口:clk 时钟信号

rst 异步复位信号

en 计数使能

load 同步装载

data (装载)数据输入,位宽为10 输出端口:q 计数输出,位宽为10

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CNT1024 IS

PORT ( CLK, RST, EN, LOAD : IN STD_LOGIC;

DATA : IN STD_LOGIC_VECTOR (9 DOWNTO 0);

Q : OUT STD_LOGIC_VECTOR (9 DOWNTO 0) ); END CNT1024;

ARCHITECTURE ONE OF CNT1024 IS

BEGIN

PROCESS (CLK, RST, EN, LOAD, DATA)

VARIABLE Q1 : STD_LOGIC_VECTOR (9 DOWNTO 0); BEGIN

IF RST = '1' THEN Q1 := (OTHERS => '0'); ELSIF CLK = '1' AND CLK'EVENT THEN

IF LOAD = '1' THEN Q1 := DATA; ELSE

IF EN = '1' THEN

Q1 := Q1 + 1;

END IF; END IF;

END IF;

Q <= Q1;

END PROCESS;

END ONE;

2. 看下面原理图,写出相应VHDL 描述

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY TRI_STATE IS PORT ( E, A : IN STD_LOGIC; Y : INOUT STD_LOGIC;

B : OUT STD_LOGIC);

END TRI_STATE;

ARCHITECTURE BEHAV OF TRI_STATE IS BEGIN PROCESS (E, A, Y) BEGIN IF E = '0' THEN B <= Y;

Y <= 'Z';

e a

b y

ELSE B <= 'Z';

Y <= A;

END IF;

END PROCESS;

END BEHAV;

六、综合题

下图是一个A/D 采集系统的部分,要求设计其中的FPGA 采集控制模块,该模块由三个部分构成:控制器(Control )、地址计数器(addrcnt )、内嵌双口RAM (adram )。控制器(control )是一个状态机,完成AD574的控制,和adram 的写入操作。Adram 是一个LPM_RAM_DP 单元,在wren 为’1’时允许写入数据。试分别回答问题

放大采样/保持

AnalogIn

信号预处理FPGA采集控制

adram

(lpm_ram_dp)

Control

AD574

CS ADData 12

CE A0

RC K12_8

地址计数器

CLK

ClkInc Cntclr

wraddr

10

wren

rddata

12

rddata rdaddr

10

12

1

STATUS

下面列出了AD574的控制方式和控制时序图

AD574逻辑控制真值表(X 表示任意)

CE CS RC K12_8 A0 工 作 状 态

X X X X 禁止 X 1 X X X 禁止 1 0 0 X 0 启动12位转换 1 0 0 X 1 启动8位转换 1 0 1 1 X 12位并行输出有效 1 0 1 0 0 高8位并行输出有效 1

1

1

低4位加上尾随4个0有效

AD574工作时序:

1. 要求AD574工作在12位转换模式,K12_8、A0在control 中如何设置 K12_8为‘1’,A0为‘0’

2.试画出control的状态机的状态图

类似书上图8-4

3.对地址计数器模块进行VHDL描述

输入端口:clkinc 计数脉冲

cntclr 计数器清零

输出端口:rdaddr RAM读出地址,位宽10位

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity addr_cnt is

port ( clkinc, cntclr : in std_logic;

wraddr : out std_logic_vector (9 downto 0) ); end addr_cnt;

architecture one of addr_cnt is

signal tmp : std_logic_vector (9 downto 0);

begin

process (clkinc, cntclr)

begin

if clkinc'event and clkinc = '1' then

if cntclr = '1' then

tmp <= (others => '0');

else

tmp <= tmp + 1;

end if;

end if;

end process;

wraddr <= tmp;

end one;

4.根据状态图,试对control进行VHDL描述

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity control is

port ( addata : in std_logic_vector (11 downto 0);

status, clk : in std_logic;

cs, ce, a0, rc, k12_8, clkinc : out std_logic;

rddata : out std_logic_vector (11 downto 0) );

end control;

architecture behav of control is

type con_st is (s0, s1, s2, s3, s4);

signal cst, nst : con_st;

signal lock : std_logic;

signal reg12 : std_logic_vector (11 downto 0);

begin

a0 <= '0';

k12_8 <= '1';

ce <= '1';

cs <= '0';

REGP : process (clk)

begin

if clk'event and clk = '1' then

cst <= nst;

end if;

end process;

COMP : process (cst, status, addata)

begin

case (cst) is

when s0 => rc <= '1'; lock <= '0'; nst <= s1;

when s1 => rc <= '0'; lock <= '0'; nst <= s2;

when s2 => if status = '1' then nst <= s3; end if;

rc <= '1'; lock <= '0';

when s3 => rc <= '1'; lock <= '1'; nst <= s4;

when s4 => rc <= '1'; lock <= '0'; nst <= s0;

when others => nst <= s0;

end case;

end process;

LOCKP : process (lock)

begin

if lock = '1' and lock'event then

reg12 <= addata;

end if;

end process;

rddata <= reg12;

clkinc <= lock; --(或者为NOT LOCK,延后半个时钟)

end behav;

5.已知adram的端口描述如下

ENTITY adram IS

PORT

(

data : IN STD_LOGIC_VECTOR (11 DOWNTO 0); -- 写入数据

wraddress: IN STD_LOGIC_VECTOR (9 DOWNTO 0); -- 写入地址

rdaddress: IN STD_LOGIC_VECTOR (9 DOWNTO 0); -- 读地址

wren : IN STD_LOGIC := '1'; -- 写使能

q : OUT STD_LOGIC_VECTOR (11 DOWNTO 0) -- 读出数据

);

END adram;

试用例化语句,对整个FPGA采集控制模块进行VHDL描述

library ieee;

use ieee.std_logic_1164.all;

entity daco is

port ( clk, cntclr, status : in std_logic;

addata : in std_logic_vector (11 downto 0);

rdaddr : in std_logic_vector (9 downto 0);

cs, ce, a0, rc, k12_8 : out std_logic;

rddata : out std_logic_vector (11 downto 0) );

end daco;

architecture one of daco is

component control is

port ( addata : in std_logic_vector (11 downto 0);

status, clk : in std_logic;

cs, ce, a0, rc, k12_8, clkinc : out std_logic;

rddata : out std_logic_vector (11 downto 0) );

end component;

component addr_cnt is

port ( clkinc, cntclr : in std_logic;

wraddr : out std_logic_vector (9 downto 0) );

end component;

component adram IS

PORT

(

data : IN STD_LOGIC_VECTOR (11 DOWNTO 0); -- 写入

数据

wraddress: IN STD_LOGIC_VECTOR (9 DOWNTO 0); -- 写入地址

rdaddress: IN STD_LOGIC_VECTOR (9 DOWNTO 0); -- 读地址

wren : IN STD_LOGIC := '1'; -- 写使能

q : OUT STD_LOGIC_VECTOR (11 DOWNTO 0) -- 读出数据

);

END component;

signal rds : std_logic_vector (11 downto 0);

signal clkinc : std_logic;

signal wraddr : std_logic_vector (9 downto 0);

begin

u1 : control port map (addata => addata, status => status, clk => clk, cs => cs, ce => ce, a0 => a0, rc => rc,

k12_8 => k12_8, clkinc => clkinc, rddata => rds);

u2 : addr_cnt port map (clkinc => clkinc, cntclr => cntclr, wraddr => wraddr);

u3 : adram port map (data => rds, wraddress => wraddr,

rdaddress => rdaddr, wren => '1', q => rddata); end 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技术 学习任务1 EDA技术 一、认识课程 二、认识EDA技术 三、认识EDA技术的基本特征 学习任务2 可编程逻辑器件芯片 一、认识可编程逻辑器件 二、CPLD基本结构 三、FPGA基本结构 四、Altera公司的可编程逻辑器件汇报总结 评价与考核

教学设计与建议 教学设计:通过学习和查阅资料了解EDA技术,了解EDA技术的基本特征,并熟悉可编程逻辑器件的种类。了解CPLD和FPGA基本结构,熟悉 Altera公司的可编程逻辑器件。 教学建议:建议学生查找EDA技术发展与可编程逻辑器件应用相关资料,进行总结制作PPT,并进行汇报。 知识目标: 1.了解EDA技术 2.了解EDA技术的基本特征 3.了解可编程逻辑器件的种类 4.了解CPLD基本结构 5.了解FPGA基本结构 6.了解Altera公司的可编程逻辑器件 教学重点及难点: 教学重点:可编程逻辑器件种类 教学难点:熟悉Altera公司的可编程逻辑器件 教学载体与资源: 教学资源:教材、PPT、实训室、多媒体设备。 教学方法建议: 讲授与讨论相结合,查阅资料总结汇报。 教学过程: 1.下达任务和要求 2. 教师带领学生共同解析任务 3.学生展开讨论

4.学生查阅资料 5. 总结汇报 考核评价: 1.根据知识掌握情况评价 2.根据资料查找能力和小组汇报情况评价 教学板书: 任务1:EDA技术 认识课程 1.EDA技术是什么? 2.为什么学习EDA技术? 3.EDA技术学什么? 4.EDA技术怎么学? 相关知识 1.认识EDA技术 EDA(Electronic Design Automation,电子设计自动化)技术是帮助电子设计工程师在计算机上完成电路的功能设计、逻辑设计、性能分析、时序测试直至PCB(印制电路板)的自动设计等。 2.认识EDA技术的基本特征 (1)“自顶向下”设计方法 (2)硬件描述语言 (3)逻辑综合和优化 (4)开放性和标准化 (5)库的引入

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技术的应用及发展

EDA技术的应用 摘要:随着科技的不断进步与发展,EDA (Electronic Design Automation)即电子设计自动化技术与我们的生活的交集越来越密切。随着微电子技术和计算机技术的不断发展,在涉及通信、国防、航天、工业自动化、仪器仪表等领域工作中,EDA技术的含量以惊人的速度上升,从而使它成为当今电子技术发展的前沿之一。本文简单的介绍EDA技术的发展应用及在未来的发展。 关键字:EDA,技术,应用, Abstract:With the advancement and development of technology,( Electronic Design Automation ) electronic design automation technology and our life is more and more close intersection. With microelectronic technology and the continuous development of computer technology, communication, national defense, involved in aerospace, industrial automation, instrumentation and other areas of work, EDA technical content is increasing at an alarming speed, so as to make it become the forefront of the development of electronic technology. This paper briefly introduced the development of EDA technology, application, and the future. Key world: EDA ,development , 一、前言 1·随着微电子技术和计算机技术的不断发展,在涉及通信、国防、航天、工业自动化、仪器仪表等领域工作中,EDA技术的含量以惊人的速度上升,从而使它成为当今电子技术发展的前沿之一。现代电子产品的性能提高、集成度和精密度不断的增加,电子产品更新换代的节奏越来越快。采用传统的电子设计方法设计电路越来越困难,EDA 技术提高了电路的设计效率和可靠性,减少了劳动强度,给电子系统设计带来了革命性的变化。 2·EDA:EDA是电子设计自动化(Electronic Design Automation)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术是以计算机为工具,根据硬件描述语言HDL(Hardware Description language)完成的设计

《EDA技术及应用》朱正伟-三,四,五章部分课后题答案

第三章 3-5设计一个4选1多路选择器,当选择输入信号分别取“00”、“01”、“10”和“11”时,输出信号分别与一路输入信号相连。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY MAX4_1 IS PORT(A,B,C,D,S1,S2 : IN STD_LOGIC; Y : OUT STD_LOGIC); END ENTITY MAX4_1; ARCHITECTURE HF1 OF MAX4_1 IS SIGNAL SS : STD_LOGIC_VECTOR (0 TO 1); BEGIN SS<=S2&S1; PROCESS(SS) BEGIN CASE SS 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 HF1; 3-6设计一个7人表决电路,参加表决者7人,同意为1,不同意为0,同意者过半则表决通过,绿指示灯亮;表决不通过则红指示灯亮。设计思路:根据7人表决电路设计要求,7人中至少有4个通过才可以表决通过,故可以在程序中设置一个变量TEMP,使其在表决电路中遇1则加1,遇0则加0(设计中1表示通过,0表示不通过)。当TEMP>=4时,表示表决通过,当TEMP<4时表决不通过。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY VOTE7 IS PORT (MEN:IN STD_LOGIC_VECTOR(6 DOWNTO 0); OUTPUT: OUT BIT); END VOTE7; ARCHITECTURE BEHA VE OF VOTE7 IS BEGIN PROCESS(MEN) V ARIABLE TEMP: INTEGER RANGE 0 TO 7; BEGIN TEMP:=0; FOR I IN 0 TO 6 LOOP IF(MEN(I)='1')THEN TEMP:=TEMP+1;

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技术应用及发展前景介绍

EDA技术应用及发展前景介绍 EDA技术应用及发展前景介绍 电子设计技术的核心就是EDA技术,EDA是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作,即IC设计、电子电路设计和PCB设计。EDA技术已有30年的发展历程,大致可分为三个阶段。70年代为计算机辅助设计(CAD)阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作。80年代为计算机辅助工程(CAE)阶段。与CAD相比,CAE除了有纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。CAE的主要功能是:原理图输入,逻辑仿真,电路分析,自动布局布线,PCB后分析。90年代为电子系统设计自动化(EDA)阶段。 一、EDA技术的基本特征 EDA代表了当今电子设计技术的最新发展方向,它的基本特征是:设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(HDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件,这样的设计方法被称为高层次的电子设计方法。下面介绍与EDA基本特征有关的几个概念。 1.“自顶向下”的设计方法10年前,电子设计的基本思路还是选用标准集成电路“自底向上”地构造出一个新的系统,这样的设计方法就如同一砖一瓦建造金字塔,不仅效率低、成本高而且容易出错。 高层次设计是一种“自顶向下”的全新设计方法,这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。然后,用综合优化工具生成具体门电路的网络表,其对应的物理实现级可以是印刷电路板或专用集成电路。由于设计的主要仿真和调试过程是在高层次上完成的,这既有利于早期发现结构设计上的错误,避免设计工作的浪费,又减少了逻辑功能仿真的工作量,提高了设计的一次成功率。 2.ASIC设计现代电子产品的复杂度日益提高,一个电子系统可能由数万个中小规模集成电路构成,这就带来了体积大、功耗大、可靠性差的问题。解决这一问题的有效方法就是采用ASIC芯片进行设计。ASIC按照设计方法的不同可分为全定制ASIC、半定制ASIC和可编程ASIC(也称为可编程逻辑器件)。 设计全定制ASIC芯片时,设计师要定义芯片上所有晶体管的几何图形和工艺规则,最后将设计结果交由IC厂家去进行掩模制造,做出产品。这种设计方法的优点是芯片可以获得最优的性能,即面积利用率高、速度快、功耗低,而缺点是开发周期长,费用高,只适合

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.试说明实体端口模式BUFFER和INOUT的不同之处? 答:BUFFER端口:缓冲模式,具有读功能的输出模式,即信号输出到实体外部,但同时也在内部反馈使用,不允许作为双向端口使用。而INOUT端口:双向模式,即信号的流通是双向的,既可以对此端口赋值,也可以通过此端口读入数据。 2.VHDL的数据对象有哪几种?它们之间有什么不同? 答:VHDL的数据对象有三种:信号、变量、常量。它们之间的的区别如下: 信号赋值至少有δ延时,而变量和常量没有;信号除当前值外,有许多相关信息,变量只有当前值,常量的值在设计实体中始终不变;进程对信号敏感而对变量及常量不敏感;信号可以是多个进程的全局信号,变量只在定义它们的顺序域可见,而常量的使用范围取决于它被定义的位置;信号是硬件连线的抽象描述信号赋值,赋值符号 <= 而变量和常量的赋值符号 :=。 3.说明下列各定义的意义: SIGNAL a , b , c : BIT : =’0’; CONSTANT TIME1 , TIME2 : TIME : 20ns ; VARIABLE x , y , z : STD_LOGIC :=’x’; 答:○1定义3个位数据类型的信号a、b、c,它们取值为0; ○2定义2个时间数据类型的常量TIME1、TIME2,它们值为20ns; ○3定义3个标准逻辑位 STD_LOGIC数据类型的变量x、y、z,它们的值是强未知的。 4.什么是重载函数?重载运算符有何用处?如何调用重载运算符函数? 答:为了方便各种不同数据类型间的运算,VHDL允许用户对原有的基本操作符重新定义,赋予新的含义和功能,从而建立一种新的操作符,这就是重载操作符,定义这种操作符的函数成为重载函数。重载运算符的作用是为了方便各种不同的数据类型间的运算。要调用重载运算符函数,先要在程序包中进行函数体的定义,调用的格式如下:

EDA技术及应用实验报告(完整版纯手打)

聲附MU塞农程舉龜Zhengzhou In^lituleof Aeronautical Industry Management

《EDA技术及应用》 实验报告 系部: _________________________ 指导教师:________________________ 学号:___________________________ 姓名:___________________________ 实验一点亮LED设计 一、实验目的 通过此实验让用户逐步了解、熟悉和掌握FPGA开发软件Quartusll的使用方法及Verilog HDL的编程方法。 本实验力求以详细的步骤和讲解让读者以最快的方式了解EDA技术开发以及软件的使用,从而快速入门并激起读者对EDA技术的兴趣。

二、实验内容 SmartSOPC实验箱上有8个发光二极管LED1~8,并分别与FPGA的50、 53~55、176和47~49引脚相连。本实验的内容是建立可用于控制LED亮/灭的简单硬件电路,要求点亮SmartSOPC实验箱上的4个发光二极管(LED1、LED3、LED5 和LED7 )。 三、实验原理 FPGA器件同单片机一样,为用户提供了许多灵活独立的输入/输出I/O 口(单元)。FPGA每个I/O 口可以配置为输入、输出、双向I/O、集电极开路和三态门等各种组态。作为输出口时,FPGA的I/O 口可以吸收最大为24mA的电流,可以直接驱动发光二极管LED等器件。所以只要正确分配并锁定引脚后,在相应的引脚上输出低电平“0”就可以实现点亮该发光二级管的功能。 四、实验步骤 1、启动Quarters II建立一个空白工程,命名为led_test.qpf。然后分别建立图形设计文件,命名为led_test.bdf,以及文本编辑文件led1.v,将他们都添加进工程中。 2、对工程进行设计。在led1.v中输入程序代码,并保存,进行综合编译,若在编译中发现错误,则找出并更正错误,直至编译成功为止。从设计文件中创建模块, 由led1.v生成名为led1.bsf的模块符号文件。在led_test.bdf中任意空白处双击鼠标左键,将symbol对话框中libraries : project下的led1模块添加到图形文件led_test.bdf 中,加入输入、输出引脚,双击各管脚符号,进行管脚命名。完整的顶层模块原理图如下图所示。选择目标器件并进行引脚锁定。将未使用的管脚设置为三态输入。 3、设置编译选项并编译硬件系统。将led_test.bdf设置为顶层实体。对该工程文件进行全程编译处理。若在编译过程中发现错误,则找出并更正错误,直到编译成功为止。

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技术及应用实训报告

桂林电子科技大学信息科技学院《EDA技术及应用》实训报告 学号1252100301 姓名 指导教师:覃琴 2014年4 月29 日

实训题目:数字日历电路 1 系统设计 1.1 设计要求 1.1.1 设计任务 (1)用Verilog HDL语言设计出能够在EDA实训仪的I/O设备和PLD芯片实现的数字日历。 (2)数字日历能够显示年、月、日、时、分和秒。 (3)用EDA实训仪上的8只八段数码管分两屏分别显示年、月、日和时、分、秒,即在一定时间段内显示年、月、日(如20140101),然后在另一时间段内显示时、分、秒(如010101099),两个时间段能自动倒换。 (4)数字日历具有复位和校准年、月、日、时、分、秒的按钮,但校年和校时同用一个按钮,即在显示年、月、日时用此按钮校年,在显示时、分、秒时则用此按钮校时。 (5)体现创新部分 1.1.2 性能指标要求 1)数字电路能够在一定的时间内显示切换的功能,并且能手动校准年月日和时分秒 2)具有复位和进位的功能 3)能起到提示的作用,如闹钟或亮彩灯等。 1.2 设计思路及设计框图 1.2.1设计思路 如图1.2.2所示 1) EDA实训箱上的功能有限,可以用到的有8支数码管和12个lED灯。年、月、日和时、分、秒可以通过数码管显示,年月日和时分秒的切换可以通过拨动开关控制,校正可以通过按键实现。 2)输入的秒脉冲由DEA实训仪上的20MHZ晶振经过分频得到,秒脉冲经过60分频后产生1分钟脉冲信号,在经过60分频后产生1小时的脉冲信号,最后进行24分频,得到1天的脉冲送24进制的 cout输出。在将两个60分频和一个24分频的输出送到送到数码管的译码器输入端,得到24小时的计时显示结果。由此得到数字日历的计时器模块。

相关文档
最新文档