eda技术实用教程:第四章《vhdl设计初步》课件

上传人:tia****nde 文档编号:66894973 上传时间:2019-01-06 格式:PPT 页数:76 大小:578.50KB
返回 下载 相关 举报
eda技术实用教程:第四章《vhdl设计初步》课件_第1页
第1页 / 共76页
eda技术实用教程:第四章《vhdl设计初步》课件_第2页
第2页 / 共76页
eda技术实用教程:第四章《vhdl设计初步》课件_第3页
第3页 / 共76页
eda技术实用教程:第四章《vhdl设计初步》课件_第4页
第4页 / 共76页
eda技术实用教程:第四章《vhdl设计初步》课件_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《eda技术实用教程:第四章《vhdl设计初步》课件》由会员分享,可在线阅读,更多相关《eda技术实用教程:第四章《vhdl设计初步》课件(76页珍藏版)》请在金锄头文库上搜索。

1、EDA技术实用教程,VHDL设计初步,第4章,Very high speed integrated Hardware Description Language (VHDL) 是IEEE、工业标准硬件描述语言 用语言的方式而非图形等方式描述硬件电路 容易修改 容易保存 特别适合于设计的电路有: 复杂组合逻辑电路,如: 译码器、编码器、加减法器、多路选择器、地址译码器. 状态机 等等,是什么是VHDL?,VHDL 描述 输入端口 输出端口 电路的行为和功能 VHDL有过两个标准: IEEE Std 1076-1987 (called VHDL 1987) IEEE Std 1076-1993 (c

2、alled VHDL 1993),VHDL的功能和标准,简单组合电路的VHDL描述,多路选择器,多路选择器的VHDL描述,2选1多路选择器,a,b,s,y,mux21,图 mux21a功能时序波形,多路选择器功能示意波形,【例】 ENTITY mux21a IS PORT( a, b : IN BIT ; s : IN BIT; y : OUT BIT ) ; END ENTITY mux21a ; ARCHITECTURE one OF mux21a IS BEGIN y = a WHEN s = 0 ELSE b ; END ARCHITECTURE one ;,实体,结构体,2选1多路选

3、择器的VHDL描述,实体,实体(ENTITY),ENTITY mux21a IS PORT( a, b : IN BIT ; s : IN BIT; y : OUT BIT ) ; END ENTITY mux21a ; , 实体名, PORT语句和端口信号名, 端口类型,IN,OUT,INOUT,BUFFER, 数据类型:BIT,实体 相关VHDL语法,【例】 ENTITY e_name IS PORT ( p_name : port_m data_type; . p_namei : port_mi data_type ); END ENTITY e_name; 或: ENTITY e_na

4、me IS PORT ( p_name : port_m data_type; . p_namei : port_mi data_type ); END e_name;,实体表达,结构体(ARCHITECTURE), ARCHITECTURE one OF mux21a IS BEGIN y = a WHEN s = 0 ELSE b ; END ARCHITECTURE one ;,【例】 ARCHITECTURE arch_name OF e_name IS (说明语句) BEGIN (功能描述语句) END ARCHITECTURE arch_name ; 或: ARCHITECTURE

5、 arch_name OF e_name IS (说明语句) BEGIN (功能描述语句) END arch_name ;,结构体表达,信号传输(赋值)符号和数据比较符号,信号传输(赋值)符号: ,WHEN_ELSE条件信号赋值语句,赋值目标 = 表达式 WHEN 赋值条件 ELSE 表达式 WHEN 赋值条件 ELSE . 表达式 ;,y = a WHEN s = 0 ELSE b ;,【例】 ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE on

6、e OF mux21a IS SIGNAL d,e : BIT; BEGIN d = a AND (NOT S) ; e = b AND s ; y = d OR e ; END ARCHITECTURE one ;,【例】 . . . ARCHITECTURE one OF mux21a IS BEGIN y = (a AND (NOT s) OR (b AND s) ; END ARCHITECTURE one;,2选1多路选择器的VHDL描述(其它),逻辑操作符,VHDL的逻辑操作符直接用文字来表示: 如: AND 与 OR 或 NOT 非 XOR 异或 ,【例】 ENTITY mux2

7、1a IS PORT ( a, b, s: IN BIT; y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS BEGIN PROCESS (a,b,s) BEGIN IF s = 0 THEN y = a ; ELSE y = b ; END IF; END PROCESS; END ARCHITECTURE one ;,2选1多路选择器的VHDL描述(其它),IF_THEN条件语句,IF s = 0 THEN y = a ; ELSE y = b ; END IF;,PROCESS进程语句,在下一节详细讲述,请课后

8、预习,数据类型,信号赋值符,条件比较符,实体,结构体,端口定义,端口模式,逻辑操作符,IF条件语句,WHEN条件语句,VHDL设计的基本概念和语句小节,Graphic is what you draw is what you get “ tell me what hardware you want and I will give it to you” VHDL is what you write is what functional you get “ tell me how your circuit should behave and the VHDL compiler will give

9、you the hardware that does the job” but the designer can not control how the circuit implement,原理图输入与 VHDL文本输入设计的区别,Easy to Modify It is more powerful than Graphic VHDL is a portable language because is device independent the same code can be applied to Device manufactured by Company A or Company B,

10、Why using VHDL instead of Graphic,VHDL: “tell me how your circuit should behave and I will give you hardware that does the job” ABEL, PALASM, AHDL: “tell me what hardware you want and I will give it to you”,VHDL Synthesis vs. other HDLs Synthesis,寄存器描述及其VHDL语言现象,D触发器,【例】 LIBRARY IEEE ; USE IEEE.STD_

11、LOGIC_1164.ALL ; ENTITY DFF1 IS PORT (CLK : IN STD_LOGIC ; D : IN STD_LOGIC ; Q : OUT STD_LOGIC ); END DFF1; ARCHITECTURE bhv OF DFF1 IS BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q = D ; END IF; END PROCESS ; END bhv;,D触发器,D触发器的VHDL描述,设计库(LIBRARY),格式: LIBRARY IEEE标准库: LIBRARY IEEE 默认加载的

12、设计库 STD 标准库 WORK 工作库(当前设计),程序包的使用(USE),格式: LIBRARY ; USE ALL; IEEE标准库中的STD_LOGIC_1164: 含STD_LOGIC及STD_LOGIC_VECTOR的定义 IEEE 1164,STD_LOGIC,BIT数据类型的定义: TYPE BIT IS (0,1); STD_LOGIC数据类型: (U,X,0,1,Z,W,L,H,-) 九值逻辑,STD_LOGIC所定义的9种数据的含义是: U表示未初始化的; X表示强未知的; 0表示强逻辑0; 1表示强逻辑1; Z表示高阻态; W 表示弱未知的; L表示弱逻辑0; H表示弱

13、逻辑1; -表示忽略。,STD_LOGIC的综合器支持,对于STD_LOGIC类型,综合器只支持 X(或-),0,1,Z,上升沿检测,CLKEVENT AND CLK = 1 信号属性EVENT EVENT 函数 RISING_EDGE(CLK),比较用5种不同语句的D触发器VHDL程序,Entity test1 is port (clk, d : in bit; q : out bit); end test1; architecture body of test1 is signal q1 : bit ; begin process (clk) begin,if clk=1 AND clkl

14、ast_value=0 then q1 = d; end if; end process; q = q1 ; end test1_body;,LIBRARY IEEE; USE IEEE.std_logic_1164.all; Entity test1 is port (clk, d : in bit; q : out bit); end test1; architecture body of test1 is begin,process (clk,d) begin if rising_edge(clk) then q = d; end process; end if; end test1_b

15、ody;,Entity test1 is port (clk : in bit; d : in bit; q : out bit); end test1; architecture body of test1 is signal q1 : bit ; begin,process (clk) begin if (clk = 1) then q1 = d; end if; end process; q = q1 ; end body;,Entity test1 is port (clk : in bit; d : in bit; q : out bit); end test1; architecture body of test1 is begin,process begin wait until (clkevent and clk=1); q = d; end process; end body;,Entity test1 is port (clk, d : in bit; q : out bit); end test1; architecture body of test1 is signal q1 : bit ; begin process (clk) begin if clk=1 AND clklast_value=0 then q1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号