设计中心
电子设计自动化技术
教师:李平教授(博导)
Email: pli@uestc.edu.cn
Tel: 83201794
2004年 5月
设计中心
电子设计自动化技术
第三章
VHDL构造体的描述方式
设计中心
Review
VHDL程序组成部分及其功能
设计中心
Review
VHDL程序的基本构成格式
设计中心
Review
设计中心
本章要点
? 构造体:是VHDL程序中最复杂的部分。
构造体设计是VHDL程序设计的重点。
? 构造体主要有三种描述方式:
行为描述、RTL描述、结构描述。
? 设计者可以自由选择不同的描述方式
(根据设计阶段和设计意图的不同)。
? 深入理解本章举例,深入理解行为描述、
RTL描述以及结构描述分别的特点。
设计中心
VHDL 构造体的描述方式
? 行为( Behavioral)描述方式
? 寄存器传输( RTL)或数据流
( Data-Flow)描述方式
? 结构化( Structural)描述方式
多层次的设计
直接用门电路单元搭建
u1
半加器
half_adder
u2
半加器
half_adder
u3
或门
or_gate
x
y
cin
a
b
sum
cout
c
设计中心
构造体的行为( Behavioral)描述方式
? 基于系统数学模型或系统工作原理
? 抽象程度高,不能进行逻辑综合 (Logic Synthesis)
? 设计复杂的或新的电子系统初,进行行为级描述
? 用于保护设计者的知识产权 (e.g)
设计中心
e.g: 本人负责的国家 863超大规模集成电路设计
SOC专项 “可编程逻辑器件核及其编译开发 ”
* 该项目研制出国内第一颗复杂可编程逻
辑器件 CPLD,填补国内空白; 于
2002.1-2003.12,国家863 计划SOC专项
资助下研制出具有72个宏单元的 CPLD芯
片(集成度为15万门), 2004年通过部级鉴
定,2005 年获国防科技进步三等奖。
鉴定意见:该项目结束了国外在可
编程逻辑器件设计技术方面垄断的
历史。
Behavioral描述方式应用举例
设计中心
T Region is a flash
IP(0.35 um, 2P3M)
It was provided by
the foundry
We, CPLD designer,
could use it in the
simulation, but we
could not see it.
设计中心
s□20%
f□ 40%
将大的 flash IP
分解成18个小
flash IP
Trust!
Closed
cooperation!
Final layout was finished by a joined team.
设计中心
【例 3-1】 一个五端口电路如图3-2 所示。我们希望它具有
如表3-1 所示的功能,问如何通过行为级描述来得到它的
输入输出波形。
x sum
y
cin cout
图 3-2 五端口电路
设计中心
表3-1此五端口逻辑电路功能表
n xycinsum cout
0 00000
001
0 1 0
1 00
0 11
110
1 0 1
311111
012
101
设计中心
对表3-1 观察,可见规律:
1. 输出信号sum 和 coun
的值仅与n 相关
n=0, (sum,cout)=0, 0
n=1, (sum,cout)=1, 0
n=2, (sum,cout)=0, 1
n=3, (sum,cout)=1, 1
2. 而 n=输入信号为1 的数
目
n xycinsum cout
0 00000
001
0 1 0
1 00
0 11
110
1 0 1
311111
012
101
表 3-1
设计中心
ENTITY five_ports_circuit IS
PORT (x,y,cin:IN BIT;
sum,count:OUT BIT);
END five_ports_circuit;
ARCHITECTOR behavioral_view OF five_ports_circuit IS
BEGIN
PROCESS
VARIABLE n : INTEGER;
CONSTANT sum_vector :BIT_VECTOR (0 TO 3) :=“0101” ;
CONSTANT carry_vector : BIT_VECTOR(0 TO 3) :=“0011” ;
BEGIN
WAIT ON x, y,cin;
n :=0 ;
IF x =’1’ THEN n :=n+1 ; END IF;
IF y =’1’ THEN n :=n+1 ; END IF;
IF cin =’1’ THEN n :=n+1 ; END IF;
sum <=sum_vector (n) ;
cout <=carry_vector (n) ;
END PROCESS;
END behavioral_view;
变量赋值符号 : =
进程语句描述一个进程( process)
进程中的所有语句顺序执行 (step by step)
行为级描述:
借助变量 n描述了一个逻辑电
路的外部行为
设计中心
表 3.2
cin01010101
x00110011
y00001111
cout00010111
sum01101001
从仿真波形
得出真值表:
表 3.2
设计中心
构造体的RTL描述方式
? RTL描述方式 是一种使用寄存器实现数据传递的描述方
法,它能够表明寄存器之间的联结关系和数据流向或电路
功能,它必须是可综合的。
? 前述5 端口电路描述是不可综合的,因此,它不是RTL 描述。
? 但是,其仿真结果,表3.2 ,提供了有用的信息。
? 怎样由上述行为级描述得到RTL 级描述?
设计中心
从 表 3.2总结得出:
sum =x⊕ y⊕ cin
cout=(x⊕ y)·cin+x·y (3-1)式
从 (3-1)式 看出该5 端口电路为全加器
化简(3-1 )式
令:s=x ⊕ y,得到
sum=s⊕ cin
cout=s·cin+x·y (3-2)式
( 3-2)式描绘出了全加器中从输入端到输出端的数据流
据此可写出全加器的RTL 构造 :
设计中心
【例 3-2】 全加器的RTL 级描述(硬件一一对应)
ARCHITECTURE RTL_view OF full_adder IS
SIGNAL s : BIT;
BEGIN
s <= x xor y;
sum <= s xor cin;
cout <= (s and cin )or (x and y);
END RTL_view;
信号赋值符号 < =
设计中心
关于RTL 描述
? 对于RTL 描述加以不同的约束条件(延时、
面积、功耗等条件),其综合结果是不相同
的。
? RTL描述的上述特点使它具有以下两种特别的
用途:
1> 可以形成IP软核,是有商业价值的;
2>同一个 RTL描述可以在不同的 ASIC加工工
艺线实现,或者用不同厂家的FPGA/CPLD实现。
设计中心
构造体的RTL描述方式应用举例
? E.g:本人负责研制的VME总线控制VLSI芯片
类似于 PCI总线,但要强
大得多。可带21颗 CPU和
它们的外设,集成度20万
门
本教研室20多人的团队1
年半HDL RTL 描述 /验证
己投片成功,满足了国家
急需。售价1.2 万元 /只 。
设计中心
构造体的结构描述方式
? 所谓构造体的结构( Structural)描述方式,
就是在多层次的设计中,高层次的设计模块调用低
层次的设计模块,或者直接用门电路设计单元来构
建一个复杂的逻辑电路的描述方式
例如: 通过对( 3-2)式的观察,我们可以看出该全加器由两
个半加器(half_adder )和一个 “或”门(or_gate)组成
u1
半加器
half_adder
u2
半加器
half_adder
u3
或门
or_gate
x
y
cin
a
b
sum
cout
c
设计中心
【例 3-3】全加器的一种结构描述
ARCHITETURE structure_view OF Full_adder IS
COMPONENT half_adder
PORT (a,b : IN BIT ;s ,c : OUT BIT);
END COMPONENT;
COMPONENT or_gate
PORT (in1,in2:IN BIT;out1:OUT BIT);
END COMPONENT;
SIGNAL a,b,c:BIT;
BEGIN
u1: half_adder PORT MAP (x,y,a,b);
u2: half_adder PORT MAP (a,cin,sum,c);
u3: or_gate PORT MAP (b,c,cout);
END structure_view;
SIGNAL:内部信号连线
元件(component)说明
元件引用语句
设计中心
关于结构描述方式
? 结构描述方式属于RTL 描述方式,它是指明所
用器件的RTL 描述。
? 采用结构描述方式可使得经综合得到的电路门
数减少,它是比较好的RTL 描述。
? 进行结构描述方式的前提是设计者对所使用的
库有充分的理解,例如:设计者知道库中有何
器件,有何模块等等。
? 结构描述方式是进行多层次的设计的有力工具
设计中心
作业