EDA硬件描述语言VHDL概述

1、EDA技术概述

大规模可编程逻辑器件为设计载体,以硬件描述语言HDL为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,自动地完成用软件方式描述的电子系统到硬件系统的逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。

    开发流程

                      

   CPLD:复杂可编程逻辑器件。ASIC:专用集成电路。

   FPGA:现场可编程门阵列。SOC:片上系统/系统芯片。

VHDL程序结构

主要有三部分:

(1)库和程序包调用声明语句构成的模块(库一般有两类资源库如IEEE库存放常规元件标准模块,设计库)

(2)描述电路信号端口和参数通道的实体模块

(3)具体描述电路功能的结构体模块

                                

实体说明单元的一般语句结构:

ENTITY  实体名  IS
              [GENERIC ( 参数名:数据类型 );]
             [PORT ( 端口表:数据类型 );]   
          END  ENTITY 实体名;
--------端口四种IN、OUT、INOUT、BUFFER

结构体的一般语言格式:

ARCHITECTURE  结构体名  OF 实体名  IS
         [说明语句]
BEGIN
        [功能描述语句]
END ARCHITECTURE 结构体名;

其中功能描述语句

   配置语句:把特定的结构体关联到(指定给)一个确定的实体。

CONFIGURATION 配置名 OF 实体名 IS
   for 为实体选配的结构体名 
   end for;
 END 配置名; 

VHDL数据对象:常数,变量,信号

常数是全局量,其使用范围取决于它被定义的位置

变量是一个局部量,只能在进程和子程序中使用。

变量的赋值是立即发生的,不存在任何延时。

主要作用是在进程中作为临时的数据存储单元。

  变量的初始值用于仿真,但综合时被忽略。

信号具有全局性,信号的使用和定义范围是实体、结构体和程序包。在进程和子程序的顺序语句中不允许定义信号。(但允许赋值)。进程中只能将信号列入敏感表,而不能将变量列入敏感表

------常数定义的一般表述:     
    CONSTANT  常数名:数据类型 := 表达式 ;
    CONSTANT FBT : std_logic_vector := “010110” ;
    CONSTANT datain : integer := 15;
------变量定义
     VARIABLE 变量名 : 数据类型 := 初始值 ; (初始值不是必须的)
     VARIABLE a : integer range 0 to 15;
     VARIABLE d : std_logic :=‘1’;
------信号定义
     SIGNAL 信号名: 数据类型 := 初始值 ;(初始值不是必须的)
     SIAGNAL a,b,c,y,z: integer;

 

 

 

 

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值