- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VHDL语法简单总结.
VHDL语法简单总结 一个VHDL程序代码包含实体(entity)、结构体(architecture)、配置(configuration)、程序包(package)、库(library)等。 ? ? 一、????????数据类型 1.用户自定义数据类型 使用关键字TYPE,例如: TYPE my_integer IS RANGE -32 TO 32; –用户自定义的整数类型的子集 TYPE student_grade IS RANGE 0 TO 100; –用户自定义的自然数类型的子集 TYPE state IS (idle, forward, backward, stop); –枚举数据类型,常用于有限状态机的状态定义 一般来说,枚举类型的数据自动按顺序依次编码。 2.子类型 在原有已定义数据类型上加一些约束条件,可以定义该数据类型的子类型。VHDL不允许不同类型的数据直接进行操作运算,而某个数据类型的子类型则可以和原有类型数据直接进行操作运算。 子类型定义使用SUBTYPE关键字。 3.数组(ARRAY) ARRAY是将相同数据类型的数据集合在一起形成的一种新的数据类型。 TYPE type_name IS ARRAY (specification) OF data_type; –定义新的数组类型语法结构 SIGNAL signal_name: type_name [:= initial_value]; –使用新的数组类型对SIGNAL,CONSTANT, VARIABLE进行声明 例如: TYPE delay_lines IS ARRAY (L-2 DOWNTO 0) OF SIGNED (W_IN-1 DOWNTO 0); –滤波器输入延迟链类型定义 TYPE coeffs IS ARRAY (L-1 DOWNTO 0) OF SIGNED (W_COEF-1 DOWNTO 0); –滤波器系数类型定义 SIGNAL delay_regs: delay_lines;??– 信号延迟寄存器声明 CONSTANT coef: coeffs := (????); –常量系数声明并赋初值 4.端口数组 在定义电路的输入/输出端口时,有时需把端口定义为矢量阵列,而在ENTITY中不允许使用TYPE进行类型定义,所以必须在包集(PACKAGE)中根据端口的具体信号特征建立用户自定义的数据类型,该数据类型可以供包括ENTITY在内的整个设计使用。 —————————————PACKAGE———————————- library ieee; use ieee.std_logic_1164.all; —————————————— PACKAGE my_data_types IS ?????TYPE vector_array IS ARRAY (natural range ) OF STD_LOGIC_VECTOR(7 DOWNTO 0); –声明8位的数组 END my_data_types; ———————————–Main Code————————————— library ieee; use ieee.std_logic_1164.all; use work.my_data_types.all; –用户自定义包集 —————————————————————— ENTITY mux IS PORT (inp: IN vector_array(0 to 3); END mux; ——————————————————————————- 5.有符号数和无符号数 要使用SIGNED和UNSIGNED类型数据,必须在代码开始部分声明ieee库中的包集std_logic_arith。它们支持算术运算但不支持逻辑运算。 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; …… SIGNAL a: IN SIGNED (7 DOWNTO 0); SIGNAL b: IN SIGNED (7 DOWNTO 0); SIGNAL x: IN SIGNED (7 DOWNTO 0); …… v = a + b; w = a AND b;??–非法(不支持逻辑运算) ——————————————————————————- STD_LOGIC_VECTOR类型的数据不能直接进行算术运算,只有声明了std_logic_signed和std_logic_unsigned两个包集后才可以像SIGNED和UNSIGNED类型的数据一样进行算术运算。 6.数据类型转换 在ieee库的std_logic_arith包集中提供了许多数据类型转换函数: 1. conv_intege
您可能关注的文档
最近下载
- 代谢相关(非酒精性)脂肪性肝病防治指南(2024年版) .pdf VIP
- 大连理工大学22春“计算机科学与技术”《数据结构》期末考试高频考点版(带答案)试卷号4.pdf VIP
- 新生儿机械通气常规.pptx
- 全国通用版高考语文一轮复习论述类文本阅读论述类文本筛选并整合文中信息教案.pdf VIP
- 光伏电站建设与施工技术 课件 第一章 光伏电站项目建设前期准备.ppt
- 代谢相关(非酒精性)脂肪性肝病防治指南(2024年版)解读.pptx VIP
- 2024届高考语文论述类文本阅读考点训练:分析概括观点、态度.pdf VIP
- (完整版)生命与健康常识八年级下册教案.pdf VIP
- 高考语文一轮复习:信息类文本阅读之概念类(原卷版+解析).pdf VIP
- (通用版)2019年高考语文一轮复习论述类文本阅读论述类文本筛选并整合文中信息教案.doc VIP
文档评论(0)