VHDL硬件描述语言基础.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《VHDL硬件描述语言基础.ppt》由会员分享,可在线阅读,更多相关《VHDL硬件描述语言基础.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、l简介l基本结构l基本数据类型l设计组合电路l设计时序电路l设计状态机l大规模电路的层次化设计lFunction and Procedurel传统数字电路设计方法不适合设计大规模的系统。工程师不容易理解原理图设计的功能。l众多软件公司开发研制了具有自己特色的电路硬件描述语言(Hardware Description Language,HDL),存在着很大的差异,工程师一旦选用某种硬件描述语言作为输入工具,就被束缚在这个硬件设计环境之中。因此,硬件设计工程师需要一种强大的、标准化的硬件描述语言,作为可相互交流的设计环境。l美国国防部在80年代初提出了VHSIC(Very High Speed I
2、ntegrated Circuit)计划,其目标之一是为下一代集成电路的生产,实现阶段性的工艺极限以及完成10万门级以上的设计,建立一项新的描述方法。1981年提出了一种新的HDL,称之为VHSIC Hardware Description Language,简称为VHDL,这种语言的成就有两个方面:l描述复杂的数字电路系统l成为国际的硬件描述语言标准l用于设计复杂的、多层次的设计。支持设计库和设计的重复使用l与硬件独立,一个设计可用于不同的硬件结构,而且设计时不必了解过多的硬件细节。l有丰富的软件支持VHDL的综合和仿真,从而能在设计阶段就能发现设计中的Bug,缩短设计时间,降低成本。l更方
3、便地向ASIC过渡lVHDL有良好的可读性,容易理解。l运行的基础计算机语言是在CPURAM构建的平台上运行VHDL设计的结果是由具体的逻辑、触发器组成的数字电路l执行方式计算机语言基本上以串行的方式执行VHDL在总体上是以并行方式工作l验证方式计算机语言主要关注于变量值的变化VHDL要实现严格的时序逻辑关系-eqcomp4 is a four bit equality comparatorLibrary IEEE;use IEEE.std_logic_1164.all;entity eqcomp4 isport(a, b:in std_logic_vector(3 downto 0); eq
4、ual :out std_logic);end eqcomp4;architecture dataflow of eqcomp4 isbegin equal = 1 when a=b else 0;End dataflow;VHDL 大小写不敏感大小写不敏感eqcomp4.vhd包实体构造体文件名和实体名一致每行;结尾关键字begin关键字end后跟实体名关键字end后跟构造体名库l描述此设计功能输入输出端口(Port)l在层次化设计时,Port为模块之间的接口l在芯片级,则代表具体芯片的管脚A3.0B3.0equalEntity eqcomp4 isport(a, b: in std_log
5、ic_vector(3 downto 0); equal:out std_logic );end eqcomp4;l输入(Input)l输出(Output)l双向(Inout):可代替所有其他模式,但降低了程序的可读性,一般用于与CPU的数据总线接口l缓冲(Buffer):与Output类似,但允许该管脚名作为一些逻辑的输入信号lEntity test1 is port(a: in std_logic; b,c: out std_logic ); end test1; architecture a of test1 is begin b = not(a); c = b;-Error end a
6、;lEntity test2 is port(a: in std_logic; b : buffer std_logic; c: out std_logic ); end test2; architecture a of test2 is begin b = not(a); c = b; end a;l描述实体的行为l结构体有三种描述方式行为描述(behavioral)数据流描述(dataflow)结构化描述(structural)Architecture behavioral of eqcomp4 is begincomp: process (a,b) beginif a=b then eq
7、ual = 1; else equal =0;end if; end process comp;end behavioral ;高层次的功能描述,不必考虑在电路中到底是怎样实现的。Architecture dataflow1 of eqcomp4 is begin equal = 1 when a=b else 0;end dataflow1;Architecture dataflow2 of eqcomp4 is beginequal = not(a(0) xor b(0) and not(a(1) xor b(1) and not(a(2) xor b(2) and not(a(3) xo
8、r b(3);end dataflow2;当a和b的宽度发生变化时,需要修改设计,当宽度过大时,设计非常繁琐architecture struct of eqcomp4 isbegin U0:xnor2 port map(a(0),b(0),x(0); U1:xnor2 port map(a(1),b(1),x(1); U2:xnor2 port map(a(2),b(2),x(2); U3:xnor2 port map(a(3),b(3),x(3); U4:and4 port map(x(0),x(1),x(2),x(3),equal);end struct;类似于电路的网络表,将各个器件通
9、过语言的形式进行连接,与电路有一一对应的关系。一般用于大规模电路的层次化设计时。描述方式优点缺点适用场合结构化描述连接关系清晰,电路模块化清晰电路不易理解、繁琐、复杂电路层次化设计数据流描述布尔函数定义明白不易描述复杂电路,修改不易小门数设计行为描述电路特性清楚明了进行综合效率相对较低大型复杂的电路模块设计l基本标识符由字母、数字和下划线组成l第一个字符必须是字母l最后一个字符不能是下划线l不允许连续2个下划线l保留字(关键字)不能用于标识符l大小写是等效的l常数(Constant)固定值,不能在程序中被改变增强程序的可读性,便于修改程序在综合后,连接到电源和地可在Library、Entity
10、、Architecture、Process中进行定义,其有效范围也相应限定Constant data_bus_width: integer := 8;l信号(Signals)代表连线,Port也是一种信号没有方向性,可给它赋值,也可当作输入在Entity中和Architecture中定义设定的初始值在综合时没有用,只是在仿真时在开始设定一个起始值。在MaxPlusII中被忽略。用 = 进行赋值signal count:bit_vector(3 downto 0):=“0011”;l变量(Variable)临时数据,没有物理意义只能在Process和Function中定义,并只在其内部有效要使其
11、全局有效,先转换为Signal。用 := 进行赋值 variable result : std_logic := 0;architecture rtl of start is signal count : integer range 0 to 7; begin process(clk) begin if (clkevent and clk=1) then count = count + 1; if(count=0) then carryout = 1; else carryout = 0; end if; end if; end process; end rtl;architecture rt
12、l of start is begin process(clk)variable count : integer range 0 to 7;begin if (clkevent and clk=1) then count := count + 1; if(count=0) then carryout = 1; else carryout = 0; end if; end if; end process; end rtl;architecture a of start is signal tmp : std_logic;begin process(a_bus)begin tmp = 1; for
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 硬件 描述 语言 基础
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内