[EDA计科作业参考答案.doc
文本预览下载声明
1、FPGA与CPLD的区别??
(1)结构不同:
CPLD 复杂可编程逻辑器件,CPLD 器件至少包括以下3 个部分:可编程逻辑功能块(FB) ;可编程I/ O 单元;可编程内部连线。在结构上以乘积项结构方式构成逻辑行为。
FPGA 现场可编程门阵列,通常包含三类可编程资源:可编程逻辑功能块、可编程I/O块和可编程互连资源。在结构上以查表法结构方式构成逻辑行为。
(2)功能不同
①CPLD更适合完成各种算法和组合逻辑,FP GA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限乘积项丰富的结构。
②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。
③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FP GA可在逻辑门下编程,而CPLD是在逻辑块下编程。
④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。
⑤CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。
⑥CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。
⑦CPLD保密性好,FPGA保密性差。
⑧一般情况下,CPLD的功耗要比FPGA大
2、第八章课后习题8-15
方法一:
LIBRARY ieee;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
Entity method1 is
Port(
a,b: in std_logic_vector(7 downto 0);
d,e,f: out std_logic
);
End entity;
ARCHITECTURE arth1 OF method1 IS
Begin
d=‘1’ when a=b else ‘0’;
e=‘1’ when ab else ‘0’;
f=‘1’ when ab else ‘0’;
end architecture arth1;
方法二:
LIBRARY ieee;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
Entity method2 is
Port(
a,b: in std_logic_vector(7 downto 0);
d,e,f: out std_logic
);
End entity;
ARCHITECTURE arth2 OF method2 IS
Signal tmp: std_logic_vector(8 downto 0);
Signal t: std_logic;
Begin
Tmp=(0’a)-(’0’ b);
T=‘1’ when tmp=”000000000” else
‘0’;
D=t;
E=(not tmp(8)) and (not t);
F=tmp(8) and (not t);
End architecture arth2;
3、第七章习题7-7
next1 = 1101 when a= 0 AND b=1 else
d when a=0 else
c when b=1 else
1011;
4、第三章3-5
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY MULTI IS
PORT(CL:IN STD_LOGIC; --输入选择信号
???? CLK0:IN STD_LOGIC; --输入信号
D Qn+1 0 0 1 1 ???? OUT1:OUT STD_LOGIC);--输出端
END ENTITY;
ARCHITECTURE ONE OF MULTI IS
SIGNAL Q : STD_LOGIC;SIGNAL Q2 : STD_LOGIC;
BEGIN
Q2= Q NOR CL;
PROCESS(CLK0)
BEGIN
IF CLK0’EVENT AND CLK=’1’
THEN Q=Q2;
END IF;
END PROCESS;
OUT
显示全部