0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

VHDL语言

电阻率 来源:电气工程及其自动化学习 作者:电气工程及其自动 2022-11-09 13:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一个完整的VHDL程序包括实体(Entity),结构体(Architecture),配置(Configuration),包集合(Package),库(Library)5个部分。在VHDL程序中,实体和结构体这两个基本结构是必须的,他们可以构成最简单的VHDL程序。实体用于描述电路器件的外部特性;结构体用于描述电路器件的内部逻辑功能或电路结构;包集合存放各设计模块都能共享的数据类型、常数和子程序等;配置用于从库中选取所需单元来组成系统设计的不同版本;库用于存放已经编译的实体、结构体、包集合和配置。

e3a6088e-5fef-11ed-b468-dac502259ad0.jpg


一,实体

  实体是VHDL程序设计的基础单元。实体声明对设计实体与外部电路的端口描述,以及定义所有输入和输出端口的基本性质,是实体对外的一个通信界面。实体声明以entity开始,由end entity 或 end 结束,关键词不区分大小写。实体声明语句结构如下:

  entity 实体名 is
    [generic (类属参量) ;]
    [port (端口说明);]
  end entity 实体名;

1,实体名:一般由用户定义,最好能体现功能;

2,类属参量:是一个可选项;它是一种端口界面常数,常用来规定端口的大小、实体中元件的数目及实体的定时特性等。类属参量的值可由实体的外部提供,用户可以从外面通过重新设定类属参量来改变一个实体或一个元件内部电路结构和规模。

3,端口说明:端口为实体和其外部环境提供动态通信的通道,利用port语句可以描述设计电路的端口和端口模式。格式如下
  port(端口名:端口模式 数据类型;…)

(1)端口名:是用户为实体的每个对外通道所取得名字,通常为英文字母加数字得形式。
(2)端口模式:可综合得端口模式有四种,分别是:IN,OUT,INOUT,BUFFER.用于定义端口上数据得流动方向和方式。

e3cd1fdc-5fef-11ed-b468-dac502259ad0.jpg


二,结构体

  结构体描述了实体的结构、行为、元件及内部连接关系,即定义了设计实体的功能,规定了实体的数据流程,指定了实体内部的数据连接关系。结构体是对实体功能的具体描述,一定跟在实体的后面。
  结构体一般分为两个部分,第一部分是对数据类型,常量,信号,子程序和元件等因素进行说明;第二部分是描述实体的逻辑行为、以及各种不同的描述风格的功能描述语句,包括各种顺序语句和并行语句。结构体声明语句结构如下:
  architecture 结构体名 of 实体名 is
    [定义语句]
  begin
    [功能描述语句]
  end 结构体名;

1,结构体名:用户自行定义,通常用dataflow(数据流),behavior(行为),structural(结构)
命名。体现了三种不同结构体的描述方式。

2,结构体信号定义语句
  结构体信号定义语句必须放在关键词architecture和 begin之间,用于对结构体内部将要使用的信号、常数、数据类型、元件函数和过程进行说明。结构体定义的信号为该结构体的内部信号,只能用于这个结构体中。结构体中的信号定义和端口说明一样,应有信号名称和数据类型定义。用于结构体中的信号是内部连接用的信号,因此不需要方向说明。

3,结构体功能描述语句
  结构体功能描述语句位于begin和end之间,具体的描述了结构体的行为及其连接关系。结构体功能描述语句可以含有5中不同类型的并行语句。语句结构内部可以使用并行语句,也可以使用顺序语句。

e3fa536c-5fef-11ed-b468-dac502259ad0.jpg


三,库

  库用来存储已经完成的程序包等VHDL设计和数据,包含各类包定义、实体、机构体等。在VHDL库中,库的说明总是放在设计单元的最前面。这样,设计单元内的语句就可以使用库中的数据,便于用户共享已经编译的设计结果。

1,库的说明
库的说明使用use语句,通常有以下两种格式:
  use 库名. 程序包名. 工程名;
  use 库名. 程序包名.all;
  第一种格式的作用是向本设计实体开放指定库中的特定程序包内的选定工程。第二种格式的作用是向本设计实体开放指定库中特定程序包内的所有内容。

2,常见库
(1)IEEE库
IEEE库中包含以下四个包集合

STD_LOGIC_1164:标准逻辑类型和相应函数;
STD_LOGIC_ARITH:数学函数;
STD_LOGIC_SIGNED:符号数学函数;
STD_LOGIC_UNSIGNED:无符号数学函数;

(2)STD库
STD库是符合VHDL标准的库,使用时不需要显示声明;

(3)ASIC矢量库
各个公司提供的ASIC逻辑门库;

(4)WORK库
WORK库为现行行业库,用于存放用户的VHDL程序,使用户自己的库。

  VHDL语法比较规范,对任何一种数据对象(信号,变量,常数),必须严格限定其取值范围,即明确界定对其传输或存储的数据类型。在VHDL中,有多种预先定义好的数据类型,如,整数数据类型INTEGER,布尔数据类型BOOLEAN,标准逻辑位数据类型STD_LOGIC和为数据类型BIT等。
  VHDL要求赋值运算符“<=”两边的信号数据类型必须一致。VHDL共7中基本逻辑运算符,AND(与),OR(或),NAND(与非),NOR(或非),XOR(异或),XNOR(同或),NOT(取反)。逻辑运算符所要求的操作对象的数据类型有三种,即BIT,BOOLEAN,STD_LOGIC。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • VHDL语言
    +关注

    关注

    1

    文章

    113

    浏览量

    19286
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    C语言和单片机C语言有什么差异

    单片机c语言相对于普通C语言增加了一些基本的指令,还有变量的赋值是16进制,当然单片机c语言只牵涉到普通c语言非常基础部分。 主要的差异具体体现在: 1、单片机中C的语法一般都对
    发表于 11-14 07:55

    【产品介绍】Modelsim:HDL语言仿真软件

    概述ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器。它采用直接优化的编译技术、Tcl/Tk技术、和单一内核
    的头像 发表于 11-13 11:41 193次阅读
    【产品介绍】Modelsim:HDL<b class='flag-5'>语言</b>仿真软件

    为什么我选择VHDL入门

    篇。 从长期来看,两个语言大概率都要学一下;但是从初学角度而言,总要选择一个入门语言。 根据网上的信息,总结对比结论: Verilog 的优势: 1. Verilog 语法接近C,学习容易;VHDL
    的头像 发表于 06-25 11:18 874次阅读
    为什么我选择<b class='flag-5'>VHDL</b>入门

    语言康复行业首家!阳光语言正式接入DeepSeek

    2025年3月5日,阳光语言上线全国首个部署DeepSeek的语言康复专用AI问答系统,该系统在阳光语言官方微信公众号和小程序对外免费开放。作为一家发展几十年的老牌机构,此番引入最新的AI科技,这种
    的头像 发表于 03-06 14:14 481次阅读
    <b class='flag-5'>语言</b>康复行业首家!阳光<b class='flag-5'>语言</b>正式接入DeepSeek

    做APPSFPGA的vhdl源码,fpga如何修改pgen送数据到数据总线然后复位?

    有人在做 APPSFPGA的 vhdl 源码吗,我刚开始接触 fpga 如何修改 pgen 送数据 到数据总线 然后 复位 ,有大佬可以指点一下吗
    发表于 02-21 06:01

    AN90034用于功率MOSFETs的SPICE和VHDL-AMS中的Nexperia精密电热模型

    电子发烧友网站提供《AN90034用于功率MOSFETs的SPICE和VHDL-AMS中的Nexperia精密电热模型.pdf》资料免费下载
    发表于 02-19 15:43 1次下载
    AN90034用于功率MOSFETs的SPICE和<b class='flag-5'>VHDL</b>-AMS中的Nexperia精密电热模型

    浅谈Verilog和VHDL的区别

    Verilog和VHDL是两种广泛使用的硬件描述语言(HDL),它们用于描述和模拟数字电路系统的行为和结构。这两种语言的主要作用是帮助工程师设计、仿真和验证集成电路(IC)和系统级芯片(SoC)中的硬件模块。
    的头像 发表于 02-17 14:20 2621次阅读
    浅谈Verilog和<b class='flag-5'>VHDL</b>的区别

    用于功率MOSFET的SPICE和VHDL-AMS精密电热模型

    电子发烧友网站提供《用于功率MOSFET的SPICE和VHDL-AMS精密电热模型.pdf》资料免费下载
    发表于 02-12 15:15 2次下载
    用于功率MOSFET的SPICE和<b class='flag-5'>VHDL</b>-AMS精密电热模型

    数字电路编程语言介绍

    数字电路编程语言是专门为描述和模拟数字电路而设计的编程语言。它们通常具有以下特点: 硬件描述语言(HDL) :大多数数字电路编程语言都是硬件描述语言
    的头像 发表于 01-24 09:39 1386次阅读

    ADS8361 fpga如何实现

    ADS8361项目中用到ADS8361,Verilog或者vhdl语言怎么实现对ad的读写?? ADS8361的误差有多少?我用FPGA写的误差有30mv,什么原因?求赐教
    发表于 01-20 06:15

    MT-HIL(4):如何在Simulink下使用HDL Coder导出FPGA/VHDL代码

    vhdl
    芒果树数字
    发布于 :2025年01月10日 17:22:17

    语言模型管理的作用

    要充分发挥语言模型的潜力,有效的语言模型管理非常重要。以下,是对语言模型管理作用的分析,由AI部落小编整理。
    的头像 发表于 01-02 11:06 568次阅读

    Triton编译器支持的编程语言

    Triton编译器支持的编程语言主要包括以下几种: 一、主要编程语言 Python :Triton编译器通过Python接口提供了对Triton语言和编译器的访问,使得用户可以在Python环境中
    的头像 发表于 12-24 17:33 1444次阅读

    Verilog与VHDL的比较 Verilog HDL编程技巧

    Verilog 与 VHDL 比较 1. 语法和风格 Verilog :Verilog 的语法更接近于 C 语言,对于有 C 语言背景的工程师来说,学习曲线较平缓。它支持结构化编程,代码更直观,易于
    的头像 发表于 12-17 09:44 2678次阅读

    语言模型开发框架是什么

    语言模型开发框架是指用于训练、推理和部署大型语言模型的软件工具和库。下面,AI部落小编为您介绍大语言模型开发框架。
    的头像 发表于 12-06 10:28 820次阅读