- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)