EDA技术项目教程——基于VHDL与FPGA 课件 项目1 数据比较器的设计与实现 (4).pptx

EDA技术项目教程——基于VHDL与FPGA 课件 项目1 数据比较器的设计与实现 (4).pptx

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

EDA项目教程

——基于VHDL与FPGA;本章要点

VHDL的程序结构

VHDL的数据结构

VHDL的并行语句;VHDL是一种用普通文本形式设计数字系统的硬件描述语言,主要用于描述数字系统的结构、行为、功能和接口,可以在任何文字处理软件环境中编辑。编写VHDL程序时允许使用一些符号(字符串)作为标识符,标识符的命名规则如下:

(1)由26个英文字母、数字0~9及下划线“_”组成。

(2)第一个字符必须以字母开头。

(3)下划线不能连用,最后一个字符不能是下划线。

(4)对大小写字母不敏感(英文字母不区分大小写)。

在VHDL中把具有特定意义的标识符号称为关键字,只能作固定用途使用,用户不能将关键字作为一般标识符来使用,如ENTITY,PORT,BEGIN,END等。;3.1.1VHDL的基本结构;3.1.2库和程序包;3.1.3VHDL的实体;3.1.4VHDL的结构体;3.1.5VHDL的特点;3.1.5VHDL的特点;3.1.5VHDL的特点;3.1.5VHDL的特点;3.2编码器的设计;3.2.1数据对象;3.2.1数据对象;3.2.1数据对象;在VHDL程序中,信号和变量是两个经常使用的对象,都要求先声明,后使用,具有一定的相似性,其主要区别如下:;3.2.2VHDL的运算符;3.2.3赋值语句;LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYvote_3IS

PORT(A,B,C:INSTD_LOGIC;

Y:OUTSTD_LOGIC);

ENDvote_3;

ARCHITECTUREdeOFvote_3IS

SIGNALe:STD_LOGIC;--定义e为信号

BEGIN

Y=(AANDB)OR(AANDC)ORe;--以下两条并行语句与书写顺序无关

e=BANDC;

ENDde;;;3.2.4选择信号赋值语句;(1)只有当选择条件表达式的值符合某一选择条件时,才将该选择条件前面的信号表达式赋给目标信号。

(2)每一个信号表达式后面都含有WHEN子句。

(3)由于选择信号赋值语句是并发执行的,所以不能够在进程中使用。

(4)对选择条件的测试是同时进行的,语句将对所有的选择条件进行判断,而没有优先级之分。这时如果选择条件重叠,就有可能出现两个或两个以上的信号表达式赋给同一目标信号,这样就会引起信号冲突,因此不允许有选择条件重叠的情况。

(5)选择条件不允许出现涵盖不全的情况。如果选择条件不能涵盖??择条件表达式的所有值,就有可能出现选择条件表达式的值找不到与之符合的选择条件,这时编译将会给出错误信息。;;LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYmux4IS

PORT(d0,d1,d2,d3:INSTD_LOGIC;

s0,s1:INSTD_LOGIC;

q:OUTSTD_LOGIC);

ENDmux4;

ARCHITECTURErt1OFmux4IS

SIGNALcomb:STD_LOGIC_VECTOR(1DOWNTO0);

BEGIN

comb=s1s0;

WITHcombSELECT

q=d0WHEN00,

d1WHEN01,

d2WHEN10,

d3WHEN11,

ZWHENOTHERS;--Z必须大写,表示高阻状态

ENDrt1;;需要注意的是,以上程序的选择信号赋值语句中,comb的值00、01、10和11被明确规定,而用保留字OTHERS来表示comb的所有其他可能值。

因此,为了使选择条件能够涵盖选择条件表达式的所有值,这里用OTHERS来代替comb的所有其他可能值。

注意:每条WHEN短句表示并列关系用逗号,最后一句用分号。

;;3.2.58-3线普通编码器;输入变量;LIBRARYieee;

USEieee.std_logic_1164.ALL;

ENTITYENCODEIS

PORT(X:INstd_logic_VECTOR(7DOWNTO0);

Y:BUF

文档评论(0)

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

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

1亿VIP精品文档

相关文档