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

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    为什么我选择VHDL入门

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

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

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

    浅谈Verilog和VHDL的区别

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

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

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

    数字电路编程语言介绍

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

    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 ?422次阅读

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

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

    语言模型开发语言是什么

    在人工智能领域,大语言模型(Large Language Models, LLMs)背后,离不开高效的开发语言和工具的支持。下面,AI部落小编为您介绍大语言模型开发所依赖的主要编程语言
    的头像 发表于 12-04 11:44 ?776次阅读

    求助vhdl

    vhdl 技术
    发表于 11-13 11:35

    Verilog vhdl fpga

    相关专业,具有良好的专业基础知识。 感兴趣可滴滴 JYHXDX534 2.工作年限不限,有工作经验或优秀应届毕业生亦可。 3.对FPGA芯片架构和资源有深入的理解,精通Verilog HDL、VHDL
    发表于 11-12 16:40

    C语言与Java语言的对比

    C语言和Java语言都是当前编程领域中的重要成员,它们各自具有独特的优势和特点,适用于不同的应用场景。以下将从语法特性、内存管理、跨平台性、性能、应用领域等多个方面对C语言和Java语言
    的头像 发表于 10-29 17:31 ?1188次阅读

    FPGA编程语言的入门教程

    FPGA(现场可编程逻辑门阵列)的编程涉及特定的硬件描述语言(HDL),其中Verilog和VHDL是最常用的两种。以下是一个FPGA编程语言(以Verilog为例)的入门教程: 一、Verilog
    的头像 发表于 10-25 09:21 ?1380次阅读

    【招聘】verilog vhdl FPGA

    1.熟悉FPGA架构及应用,熟悉图像算法的FPGA实现。 2.熟悉verilog vhdl,熟悉Xilinx或Intel等开发工具。 3.有AI算法 fpga实现经验优先。 4.本科及以上学历,硕士优先。具有强烈的责任心,执行力,良好的沟通能力和团队合作能力。
    发表于 09-02 15:50