电子设计自动化技术 第三章 构造体的三种描迷方式
电子设计自动化技术 第三章 构造体的三种描述方式
本章要点 选一步认识构造体在ⅧHDL中的作用。 ·构造体的三种描述方式 行为描述 RTL描迷 结构描迷 深入理解三种描述各自的特点
本章要点 • 进一步认识构造体在VHDL中的作用。 • 构造体的三种描述方式: 行为描述 RTL描述 结构描述 • 深入理解三种描述各自的特点
3.1综合( Synthesis) 逻辑综合( Logic Synthesis)是EDA设计一个重 要内容,它是一个把高层次的与工艺无关的描述转换为 个低层次的与特定工艺相关的逻辑电路的过程。 c=a+ b Z-X y Synthesis t=c+ x out =t+ u: abxy out optimization y (a)描述 (b)直接实现 布尔代数优化→优化的逻辑电路
3.1综合(Synthesis) 逻辑综合(Logic Synthesis), 是EDA设计一个重 要内容,它是一个把高层次的与工艺无关的描述转换为一 个低层次的与特定工艺相关的逻辑电路的过程。 c = a + b; z = x * y; t = c + x; out = t + u; (a) 描述 (b) 直接实现 a b x y b y c z t u out + + + * * Synthesis optimization 布尔代数优化→优化的逻辑电路
3.2VHDL构造体的描迷方式 行为( Behaviora)描述方式 (一般不可综合) Input 行为描述 Output 寄存器传输(RTL)或数据流 ( Data-Flow)描述方式(可综合) Input Output 结构化( structural)描述方式(可综合) 多层次的设计 直接用门电路单元搭建 X a 半加器 half adder 半加器 sum cIn half adder 或门 cout or gate
3.2 VHDL 构造体的描述方式 • 行为( Behavioral)描述方式 (一般不可综合) • 寄存器传输(RTL)或数据流 (Data-Flow)描述方式(可综合) • 结构化(Structural)描述方式 (可综合) 多层次的设计 直接用门电路单元搭建 u1 半加器 half_adder u2 半加器 half_adder u3或门 or_gate x y cin a b sum cout c
3.2.1行为( Behavioral)描述方式 基于系统数学模型或系统工作原理 抽象程度高,不一定能进行逻辑综 在复杂的或新的电子系统设计中, 作为验证设计思想的有效手段
3.2.1 行为(Behavioral)描述方式 • 基于系统数学模型或系统工作原理 • 抽象程度高,不一定能进行逻辑综 合 • 在复杂的或新的电子系统设计中, 作为验证设计思想的有效手段
3.2.1行为( Behaviora1)描述方式 【例3-1】一个五端口电路如图32所示。我们希望它具 有如表31所示的功能,问如何通过行为级描述来得到它 的输入输出波形。 X SUI ClL cout 图3-2五端口电路
3.2.1 行为(Behavioral)描述方式 【 例3-1 】一个五端口电路如图3-2所示。我们希望它具 有如表3-1所示的功能,问如何通过行为级描述来得到它 的输入输出波形。 x sum y cin cout 图3-2 五端口电路
321行为( Behaviora)描述方式 表3-1逻辑功能表 cIn sum cout n01 0010111 y00101101 01001011 0 2 0 3 输出信号sum和cout的值与输入信号中“1”的数目有关
3.2.1 行为(Behavioral)描述方式 n x y cin sum cout 0 000 0 0 001 010 100 011 110 101 3 111 1 1 2 0 1 1 1 0 输出信号sum和cout的值与输入信号中“1”的数目有关 表3-1逻辑功能表
321行为( Behaviora)描述方式 ENTITY five_ports_circuit Is PORT (x, y, cin: IN BIT sum, cout: OUT BIT); END five_ports_ circuit ARCHITECTOR behavioral_view OF five_ports_circuit IS BEGIN PROCESS 进程语句描述一个进程( process) VARIABLE n: INTEGER:进程中的所有语句顺序执行( step by step CONSTANT sum_vector: BIT-VECTOR(O TO 3):=0101 CONSTANT carry_ vector: BIT VECTOR(O TO 3):50011 BEGIN 变量赋值符号: WAIT ON X, y, cin n:〓v 行为级描述: IFx=1 THEN n:=n+1:ENDF:借助变量n描述了一 IFy = THEN n: =n+1; END IF; IF cin= THEN n:=n1: END F;个逻辑电路的外部 sum <=sum_vector(n); 行为 cout <=carry_vector(n) END PROCESS: 三 ND behavioral view;
ENTITY five_ports_circuit IS PORT (x,y,cin:IN BIT; sum,cout: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.1 行为(Behavioral)描述方式
321行为级( Behavioral)描述方式 仿真波形如下 O Active-HDL 4.2(counter)-Waveform Editor 1+ File Edit Search View Design Simulation Waveform Tools Help e,》x 的哆日國里的Q②步川E间m“ Des,x‖| QQ食Ⅶ的世典 EA five_porl-Name stin...0,,·20,,·30·,·40·1·50,·60,·71ns 0 Formula F非Rot:fh PIste P out 1 E five, hd Aa waveform e. d console
3.2.1 行为级(Behavioral)描述方式 仿真波形如下
3.2.2寄存器级RTL描述方式 RL描述方式。也被称为数据 流描述方式,是一种明确规定积存 器的描述方法,在RL描述中可采 用积存器硬件一一对应的直接描述, 也可采用积存器之间功能描述的方 法
3.2.2 寄存器级RTL描述方式 RTL描述方式,也被称为数据 流描述方式,是一种明确规定积存 器的描述方法,在RTL描述中可采 用积存器硬件一一对应的直接描述, 也可采用积存器之间功能描述的方 法