FPGA与VHDL 小结 您所在的位置:网站首页 电气识图应该注意哪些问题 FPGA与VHDL 小结

FPGA与VHDL 小结

2023-07-01 01:44| 来源: 网络整理| 查看: 265

参考:http://blog.sina.com.cn/s/blog_72cd3a5c01014wl1.html

参考:http://blog.csdn.net/shanekong/article/details/42686135

一个VHDL程序代码包含实体(entity)、结构体(architecture)、配置(configuration)、程序包(package)、库(library)等。

一、数据类型

1.用户自定义数据类型

使用关键字TYPE,例如:

TYPEmy_integer IS RANGE -32 TO 32;

–用户自定义的整数类型的子集

TYPEstudent_grade IS RANGE 0 TO 100;

–用户自定义的自然数类型的子集

TYPEstate IS (idle, forward, backward, stop);

–枚举数据类型,常用于有限状态机的状态定义

一般来说,枚举类型的数据自动按顺序依次编码。

2.子类型

在原有已定义数据类型上加一些约束条件,可以定义该数据类型的子类型。VHDL不允许不同类型的数据直接进行操作运算,而某个数据类型的子类型则可以和原有类型数据直接进行操作运算。

子类型定义使用SUBTYPE关键字。

3.数组(ARRAY)

ARRAY是将相同数据类型的数据集合在一起形成的一种新的数据类型。

TYPEtype_name IS ARRAY (specification) OF data_type;

–定义新的数组类型语法结构

SIGNALsignal_name: type_name [:= initial_value];

–使用新的数组类型对SIGNAL,CONSTANT, VARIABLE进行声明

例如:

TYPEdelay_lines IS ARRAY (L-2 DOWNTO 0) OF SIGNED (W_IN-1 DOWNTO 0);

–滤波器输入延迟链类型定义

TYPEcoeffs IS ARRAY (L-1 DOWNTO 0) OF SIGNED (W_COEF-1 DOWNTO 0);

–滤波器系数类型定义

SIGNALdelay_regs: delay_lines;  – 信号延迟寄存器声明

CONSTANTcoef: coeffs := (    ); –常量系数声明并赋初值

4.端口数组

在定义电路的输入/输出端口时,有时需把端口定义为矢量阵列,而在ENTITY中不允许使用TYPE进行类型定义,所以必须在包集(PACKAGE)中根据端口的具体信号特征建立用户自定义的数据类型,该数据类型可以供包括ENTITY在内的整个设计使用。

—————————————PACKAGE———————————-

libraryieee;

useieee.std_logic_1164.all;

——————————————

PACKAGEmy_data_types IS

     TYPE vector_array IS ARRAY (natural range) OF STD_LOGIC_VECTOR(7 DOWNTO 0); –声明8位的数组

ENDmy_data_types;

———————————–MainCode—————————————

libraryieee;

useieee.std_logic_1164.all;

usework.my_data_types.all; –用户自定义包集

——————————————————————

ENTITYmux IS

PORT(inp: IN vector_array(0 to 3);

ENDmux;

——————————————————————————-

5.有符号数和无符号数

要使用SIGNED和UNSIGNED类型数据,必须在代码开始部分声明ieee库中的包集std_logic_arith。它们支持算术运算但不支持逻辑运算。

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_arith.all;

……

SIGNALa: IN SIGNED (7 DOWNTO 0);

SIGNALb: IN SIGNED (7 DOWNTO 0);

SIGNALx: IN SIGNED (7 DOWNTO 0);

……

v



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有