第四模块EDA技术.ppt

上传人:本田雅阁 文档编号:3133455 上传时间:2019-07-15 格式:PPT 页数:39 大小:826.02KB
返回 下载 相关 举报
第四模块EDA技术.ppt_第1页
第1页 / 共39页
第四模块EDA技术.ppt_第2页
第2页 / 共39页
第四模块EDA技术.ppt_第3页
第3页 / 共39页
第四模块EDA技术.ppt_第4页
第4页 / 共39页
第四模块EDA技术.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《第四模块EDA技术.ppt》由会员分享,可在线阅读,更多相关《第四模块EDA技术.ppt(39页珍藏版)》请在三一文库上搜索。

1、第10课 EDA技术概述1,一、概述 FPGA - Field Programmable Gate Array 现场可编程门阵列 CPLD - Complex Programmable Logic Device 复杂可编程逻辑器件,逻辑符号对比 (1)普通数字电路使用符号,(2) PLD中所用符号,(3)PLD内部结构举例,(4) FPGA的核心-查找表,(5) 产品介绍,ALTERA公司 FPGA: FLEX系列:10K、10A、10KE,EPF10K30E APEX系列:20K、20KE EP20K200E ACEX系列:1K系列 EP1K30、EP1K100 STRATIX系列:EP1系

2、列 EP1S30、EP1S120 CPLD: MAX7000/S/A/B系列:EPM7128S MAX9000/A系列 XILINX公司 FPGA: XC3000系列, XC4000系列, XC5000系列 Virtex系列 SPARTAN系列:XCS10、XCS20、XCS30 CPLD: XC9500系列:XC95108、XC95256,二、VHDL语言,硬件描述语言HDL是一种用形式化方法描述数字电路和系统的语言。利用这种语言,数字电路系统的设计可以从上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后,利用电子设计自动化(EDA)工具,逐

3、层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级电路网表。接下去,再用专用集成电路ASIC或现场可编程门阵列FPGA自动布局布线工具,把网表转换为要实现的具体电路布线结构。,目前,这种高层次(high-level-design)的方法已被广泛采用。据统计,目前在美国硅谷约有90%以上的ASIC和FPGA采用硬件描述语言进行设计。,硬件描述语言HDL的发展至今已有30多年的历史,并成功地应用于设计的各个阶段:建模、仿真、验证和综合等。到20世纪80年代,已出现了上百种硬件描述语言,对设计自动化曾起到了极大的促进和推动作用。但是,这些语言一般各自面向特定的设计领域和层

4、次,而且众多的语言使用户无所适从。因此,急需一种面向设计的多领域、多层次并得到普遍认同的标准硬件描述语言。20世纪80年代后期,VHDL和Verilog HDL语言适应了这种趋势的要求,先后成为IEEE标准。,设计目的:实现如真值表所示的逻辑功能,二、硬件描述语言(HDL),1用VHDL进行描述,【例1】 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 ;

5、 END ARCHITECTURE one ;,例1VHDL描述的说明,(1)以关键词ENTITY引导,END ENTITY 结尾的语句部分,称为实体。 实体的功能:描述了电路系统的外部情况,包括电路的名称、有多少管脚、哪些是输入哪些是输出(即信号的流动方向)。,(2)以关键词ARCHITECTURE 引导,END ARCHITECTURE结尾的语句部分,称为结构体。 结构体的功能:描述电路系统的内部逻辑功能或电路结构。如本例中给出了逻辑功能的描述,而例4-2给出了电路结构的描述。ENTITY mux21a IS,【例2】另一种描述方法 PORT ( a, b, s: IN BIT; y :

6、OUT BIT ); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS SIGNAL d,e : BIT; BEGIN d = a AND (NOT S) ; e = b AND s ; y = d OR e ; END ARCHITECTURE one ;,相关语法与说明,2.实体描述方法 【例3】 ENTITY e_name IS PORT ( p_name : port_m data_type; . p_namei : port_mi data_type ); END ENTITY e_name; e-name:实休名称;p-name:管脚

7、名称; port_m:管脚方向,如输入、输出、双向、缓冲输出; data_type:管脚数据类型, 如一根线,用BIT,两根线用BIT_VECTOR(0 TO 1)。,注意语法,如每一行后的分号,以及实体中最后一个引脚的分号应在括号外等。,端口方向(即端口模式),IN:输入 OUT:输出 INOUT:双向 BUFFER:缓冲输出,即输出信号同时反馈给系统内部。强调该端口的反馈功能。,思考,何种电路需要用到BUFFER端口方向?,结构体描述方法,ARCHITECTURE arch_name OF e_name IS 说明语句 BEGIN (功能描述语句) END ARCHITECTURE arc

8、h_name,(1)说明语句:说明引用的元件、或说明定义的数据对象与数据类型。该项根据需要可选。 功能描述语句:说明系统的功能与结构,VHDL的描述语句都应用于这部分,这部分通常是必须得。,(2)赋值符号“=” Y=a,表示输入引脚a的信号输出给引脚y,这里y作为输出信号必须放在赋值符号左边。 (3)比较符号“=” WHEN-ELSE语句中的=表示比较两边是否相等。比较的结果的数据类型是布尔类型,关键词为BOOLEAN,这种类型的取值要么为真,要么为假。 (4)逻辑操作符 例2出现的AND等逻辑符号是通用符号,VHDL可以取7种基本逻辑操作。,3、WHEN-ELSE语句的语法 值目标 = 表达

9、式1 WHEN 赋值条件1 ELSE 表达式2 WHEN 赋值条件2 ELSE . 表达式 ;,4、 CASE语句语法及其应用 CASE IS When = ; . ; ; When = ; . ; ; . WHEN OTHERS = ; END CASE ;,5、半加器 知识回顾,能对两个1位二进制数进行相加而求得和及进位的逻辑电路称为半加器。,加数,本位的和,向高位的进位,6、半加器描述:真值表描述方法,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT (a, b : IN STD_LOGIC; co, so

10、 : OUT STD_LOGIC); END ENTITY h_adder;,ARCHITECTURE had OF h_adder is SIGNAL ab : STD_LOGIC_VECTOR(1 DOWNTO 0) ; BEGIN ab = a ,CASE ab IS WHEN “00“ = so so so so NULL ; END CASE;,7、说明,(1)在使用STD_LOGIC_VECTOR中,必须注明其数组宽度,即位宽,如: B : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ; 或 SIGNAL A :STD_LOGIC_VECTOR(1 TO 4)

11、 B = “01100010“ ; - B(7)为 0 B(4 DOWNTO 1) = “1101“ ; - B(4)为 1 B(7 DOWNTO 4) = A ; - B(6)等于 A(2),(2)并置操作符 SIGNAL a : STD_LOGIC_VECTOR (3 DOWNTO 0) ; SIGNAL d : STD_LOGIC_VECTOR (1 DOWNTO 0) ; . a = 1 0 d(1) 1 ; - 元素与元素并置,并置后的数组长度为4 . IF a d = “101011“ THEN . - 在IF条件句中可以使用并置符,(3)PROCESS语句结构的一般表达格式如下

12、进程标号: PROCESS ( 敏感信号参数表 ) IS 进程说明部分 BEGIN 顺序描述语句 END PROCESS 进程标号;,8、时序逻辑电路的描述,(1)回顾计数器知识,以10进制递增计数器为例,ENTITY CNT4 IS PORT ( CLK : IN BIT ; Q : BUFFER INTEGER RANGE 15 DOWNTO 0 ) ; END ;,ARCHITECTURE bhv OF CNT4 IS BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q = Q + 1 ; END IF; END PROCES

13、S ; END bhv;,另一种表示方法 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; USE IEEE.STD_LOGIC_UNSIGNED.ALL ; ENTITY CNT4 IS PORT ( CLK : IN STD_LOGIC ; Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ) ; END ; ARCHITECTURE bhv OF CNT4 IS SIGNAL Q1 : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AN

14、D CLK = 1 THEN Q1 = Q1 + 1 ; END IF; END PROCESS ; Q = Q1 ; END bhv;,带异步复位、同步使能、十进制计数、进位输出等功能的计数器设计,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT10 IS PORT (CLK,RST,EN : IN STD_LOGIC; CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT10;,A

15、RCHITECTURE behav OF CNT10 IS BEGIN PROCESS(CLK, RST, EN) VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF RST = 1 THEN CQI := (OTHERS =0) ; -计数器异步复位 ELSIF CLKEVENT AND CLK=1 THEN -检测时钟上升沿 IF EN = 1 THEN -检测是否允许计数(同步使能) IF CQI 0); -大于9,计数值清零 END IF; END IF; END IF; IF CQI = 9 THEN COUT = 1; -计数

16、大于9,输出进位信号 ELSE COUT = 0; END IF; CQ = CQI; -将计数值向端口输出 END PROCESS; END behav;,时序逻辑电路之移位寄存器描述,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY SHFRT IS - 8位右移寄存器 PORT ( CLK,LOAD : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0); QB : OUT STD_LOGIC ); END SHFRT; ARCHITECTURE behav OF SHFRT IS BE

17、GIN PROCESS (CLK, LOAD) VARIABLE REG8 : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF CLKEVENT AND CLK = 1 THEN IF LOAD = 1 THEN REG8 := DIN; -由(LOAD=1)装载新数据 ELSE REG8(6 DOWNTO 0) := REG8(7 DOWNTO 1); END IF; END IF; QB = REG8(0); - 输出最低位 END PROCESS; END behav;,100进制递增计数器的VHDL描述,ARCHITECTURE one OF mux21a IS BEGIN PROCESS(clk) BEGIN IF k=1 THEN IF rising_edge(clk) THEN IF qout=99 THEN qout=0; ELSE qout=qout+1; END IF; END IF; END IF; END PROCESS; END ARCHITECTURE one ;,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1