第2章 VHDL语言基础.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 VHDL语言基础

VHDL超高速集成电路硬件描述语言 (Very High speed Integrated Circuit Hardware Description Language) ;2.1 VHDL语言特点;2.2 VHDL程序基本结构;2.3 VHDL程序主要构件;Library(库)是用于存放预先编译好的Package(程序包)。 Package (程序包)中定义了基本的常数,数据类型,元件及子程序等。 作用:声明在实体和结构体定义中将用到的 数据类型、元件或子程序等。 声明格式: Library 库名; Use 库名. PACKAGE名.All;;(1)LIBRARY和PACKAGE声明区; ENTITY(实体)用于定义电路的外观,即I/O端口的类型和数量。 定义格式: Entity 实体名 is Port( a : in bit; b : in bit; c : out bit); End 实体名;;端口模式(MODE)有以下几种类型: IN ;OUT;INOUT ;BUFFER 端口模式可用下图说明:(黑框代表一个设计或模块) IN OUT BUFFER INOUT;二输入与门电路设计范例;练习;答案;(3)ARCHITECTURE;二输入与门电路设计范例 ;二输入与门电路设计范例;Library ieee; Use ieee.std_logic_1164.all; Entity half_adder is Port( x,y : in std_logic;sum,carry : out hlf_adder); End half_adder; Architecture dataflow of and2 is half_adder Begin carry = x and y; --and 为逻辑与操作 sum = x xor y; --xor为逻辑异或操作 End dataflow; --结构体dataflow ;标识符;(4)CONFIGURATION定义区;(4)CONFIGURATION定义区;二输入与门电路设计范例 ;二输入与门电路设计范例;二输入与门电路设计范例;2.4数据对象;2.4.1 常量;常数的应用示例;library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; --必需定义 entity examp1e is port (rst,clk,en : in std_logic; data:in std_logic_vector(3 downto 0); q : buffer std_logic_vector(3 downto 0)); end examp1e; architecture m1 of examp1e is begin process(rst,clk,en) constant zero : std_logic_vector(7 downto 0) := ; begin if clkevent and clk=1 then if res=1 then q=zero; elsif en=1 then q=data; else q=q; end if; end if; end process; end m1; ;2.4.2 信号;library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; --必需定义 entity frequencies is port (clk : in std_logic; q : out std_logic ); end frequencies; architecture m1 of frequencies is signed time:integer Range 0 to 5; begin process(clk) begin if rising_edge(clk) then time=time+1;

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档