设计中心
作业讲评
设计中心
第一章作业
1. Top_Down设计方法主要包括哪几个层
次?分别包含什么内容?
2. 什么是 IP核?学习VHDL 与掌握 IP核技
术的关系是什么?
7. FPGA/CPLD的主要优缺点是什么?
ASIC的主要优缺点是什么?
设计中心
Top_Down设计流程
行为级描述
RTL级描述
逻辑综合
物理实现
设计中心
第一章作业
1. Top_Down设计方法主要包括哪几个层
次?分别包含什么内容?
2. 什么是 IP核?学习VHDL 与掌握IP 核技
术的关系是什么?
7. FPGA/CPLD的主要优缺点是什么?
ASIC的主要优缺点是什么?
设计中心
? IP核,即知识产权核,或称智核(IP Core,
Intellectual Property Core)。
? What is IP ? IP is short for
Intellectual Property. More
specifically, it is a block of logic
that can be used in making ASIC's and
FPGA's. Examples of "IP Cores" are,
UART's, CPU's, Ethernet Controllers,
PCI Interfaces, etc.
(U niversal Asynchronous Receiver Transmitter 通用异步收发机)
? VHDL是形成IP核的重要基础之一。
设计中心
第一章作业
1. Top_Down设计方法主要包括哪几个层
次?分别包含什么内容?
2. 什么是 IP核?学习VHDL 与掌握 IP核技
术的关系是什么?
7. FPGA/CPLD的主要优缺点是什么?
ASIC的主要优缺点是什么?
设计中心
? FPGA/CPLD的优点
①. 资金投入小、风险小
②. 开发周期/ 面市时间( Time to Market)短
③. 改动灵活 ④. 易学易用
? FPGA/CPLD的缺点
①. 芯片成本高、价格贵 ②. 嵌入电路困难
? ASIC的优点
①. 价格优势 ②. 频率优势(性能优势) ③. 嵌入优势
? ASIC的缺点
①. 资金投入大。 ②. 研发投片制作具有一定的失败风险。
③. 面市时间较长。 ④. 改动困难。
设计中心
第二章作业
4. 试用 VHDL程序设计一个三输入与门。
5. 试用 VHDL程序设计一个四输入或门。
设计中心
三输入与门
ENTITY and3 IS
PORT (a,b,c : IN BIT ;
q : OUT BIT) ;
END and3 ;
ARCHITECTURE arch OF and3 IS
BEGIN
q <= a AND b AND c;
END arch;
设计中心
四输入或门
ENTITY or4 IS
PORT (a,b,c,d : IN BIT ;
q : OUT BIT) ;
END or4 ;
ARCHITECTURE arch OF or4 IS
BEGIN
q <= a OR b OR c OR d;
END arch;
设计中心
第三章作业
5. 用构造体的结构描述方式编写全加器程序,限
用以下元件:二输入与门元件(AND2)、二输入
或门元件(OR2)、二输入异或门元件(XOR2)。
6. 请为例 3-3完善底层元件,即编写半加器
half_adder以及或门 or_gate 的VHDL 程序。
设计中心
? 什么是半加器?
? 什么是全加器?
设计中心
全加器真值表
A B C Sum Cout
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0101
1010
AB
C
00 01 11 10
0
1
0010
0111
AB
C
00 01 11 10
0
1
Sum
Cout
设计中心
方法1 : 卡诺图法(圈1 )
0101
1010
AB
C
00 01 11 10
0
1
Sum
0010
0111
AB
C
00 01 11 10
0
1
Cout
Sum=ABC+ABC+ABC+ABC
Cout=AB+BC+AC
设计中心
卡诺图法(圈0 )
0101
1010
AB
C
00 01 11 10
0
1
Sum
0010
0111
AB
C
00 01 11 10
0
1
Cout
Sum =ABC+ABC+ABC+ABC
Cout =AB+BC+AC
设计中心
? 双保留进位全加器 74LS183
Sum =ABC+ABC+ABC+ABC
Cout =AB+BC+AC
A
B
C
Cout
Sum
设计中心
半加器: S=A⊕ B
C= AB
方法2 : 解剖半加器
u1
半加器
half_adder
u2
半加器
half_adder
u3
或门
or_gate
x
y
cin
a
b
sum
cout
c
设计中心
S=A⊕ B
Sum=S⊕ Cin
Cout=S · Cin+A · B
由( 3-2)式可得
( P.21)
方法3 : 公式法
Sum
Cout
Cin
A
B
S
XOR2
XOR2
OR2
AND2
AND2
C1
C2
设计中心
Full_adder.VHD
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY full_adder IS
PORT ( A : IN STD_LOGIC;
B : IN STD_LOGIC;
Cin: IN STD_LOGIC;
Cout: OUT STD_LOGIC;
Sum: OUT STD_LOGIC);
END full_adder;
设计中心
Full_adder.VHD(续 )
ARCHITECTURE structure OF full_adder IS
COMPONENT xor2
PORT (a, b : IN STD_LOGIC; q : OUT STD_LOGIC);
END COMPONENT;
COMPONENT and2
PORT (a, b : IN STD_LOGIC; q : OUT STD_LOGIC);
END COMPONENT;
COMPONENT or2
PORT (a, b : IN STD_LOGIC; q : OUT STD_LOGIC);
END COMPONENT;
设计中心
Full_adder.VHD(续 )
SIGNAL S,C1,C2 : STD_LOGIC;
BEGIN
u1: xor2 PORT MAP(A,B,S);
u2: xor2 PORT MAP(Cin,S,Sum);
u3: and2 PORT MAP(Cin,S,C1);
u4: and2 PORT MAP(A,B,C2);
u5: or2 PORT MAP(C1,C2,Cout);
END structure;
设计中心
设计中心
第三章作业
5. 用构造体的结构描述方式编写全加器程序,限
用以下元件:二输入与门元件(AND2)、二输入
或门元件(OR2)、二输入异或门元件(XOR2)。
6. 请为例 3-3完善底层元件,即编写半加器
half_adder以及或门 or_gate 的 VHDL程序。
设计中心
半加器(half_adder )
表达式: S=A⊕ B
C= AB
ARCHITECTURE arch OF half_adder IS
BEGIN
S <= A XOR B;
C <= A AND B;
END arch;
设计中心
或门(or_gate)
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL ;
ENTITY or_gate IS
PORT (a,b : IN STD_LOGIC ;
q : OUT STD_LOGIC);
END or_gate ;
ARCHITECTURE arch OF or_gate IS
BEGIN
q <= a OR b;
END arch;
设计中心
第四章作业
4. 算术运算符中那些操作符是可综合的? “*”
的使用需要注意什么?为什么?(P.26)
5. VHDL的数据对象主要有哪几种?(P.30)
6. 什么是数据类型?它可以分为哪几大类型?
每一大类型中包括哪些具体类型? (P.28)
7. 常量、变量和信号的申明格式分别是什么样
的?在实际应用中有哪些异同点?(P.30)
设计中心
Signal
vs
Variable
设计中心
Signal vs Variable
? Signal Assignment (<=)
– receive the assign value after a period of time
? Variable Assignment
– happens immediately when the statement is
executed, no delay (: =)
设计中心
Key points to remember
? Function
– Variables represent local storage
? Variables is updated immediately
– the updated value can be used later in the model
for further computations
– Signals represent circuit interconnect
? Place of Declare
– Variables : allow within Process structure
– Signal : allow within Architecture structure
设计中心
? Visible
– Variable : only with the process
– Signal : if define within Entity - visible within
the whole Entity
if define within Architecture - visible
within the whole Architecture
? Make sure that you must have the correct
Signal or Variable declaration
设计中心
答疑时间
? 每周一下午 地点:科 806
相关资源
? 课件下载 请访问教师社区
? FTP下载(工具软件)