VHDL快速入门.pptVIP

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VHDL快速入门

盛建伦 jlsheng@qtech.edu.cn 库(library)和程序包(package) 库(library) 设计库对当前设计是可见的,默认的,无需用library子句和use子句说明的库。 VHDL的标准库。库中存放有称为“standard”的标准包集合,其中定义了多种常用的数据类型,均不加说明可直接引用。 library子句说明使用哪个库,它的格式是 library 库名1,库名2,…,库名n; 程序包(package) 程序包是一种使包体中的类型、常量、元件和函数对其他模块(文件)是可见、可以调用的设计单元。 信号和变量 信号(signal) 信号在逻辑电路设计中最常用的数据类型 在VHDL中有10种数据类型,但是在逻辑电路设计中最常用的是std_logic和std_logic_vector提供的数据类型。 信号说明 一个信号只有经过说明后才能使用。用VHDL进行设计就是写一系列语句。信号说明形式如下: 逻辑运算符 --signal a,b :std_logic; --signal c,d :std_logic_vector(7 downto 0); 逻辑运算符 不等于 ( a and b) or (c and d) 算术运算符 a + b a + 1 并置运算符 --signal a,b:std_logic_vector(3 downto 0); --signal c,d:std_logic_vector(2 downto 0); a and (1 c) c a 关系运算符 = 等于 /= 不等于 小于 大于 = 小于等于 = 大于等于 常用的4种语句 VHDL有许多类型的语句,入门只需掌握4种语句: 赋值语句 --signal a, b, c: std_logic; --signal d, e, q :std_logic_vector(3 downto 0); 赋值语句 --variable x,y,z : integer range 0 to 255; x := 0; y := 132; z := x; if 语句 例: 一个8位二选一数据选择器 process 语句 process语句通常称为进程语句,本质上它描述了一个功能独立的电路块。 Process语句的书写格式是: [进程名:] process(敏感信号1,敏感信号 2,…,敏感信号n) [若干变量说明语句] begin 若干顺序执行语句 end process [进程名]; process语句中有个敏感信号表,各敏感信号之间用逗号分开。最后一个敏感信号后面是括号,不需要跟一个逗号。 在process语句的书写格式中,在 begin 和 end process 之间的若干顺序执行语句用于描述该process语句所代表的电路块的功能。 --signal sel: std_logic; --signal a, b, c: std_logic_vector(15 downto 0); mux2to1: process(sel, a, b) begin if sel = 0 then c = a; else c = b; end if; end process; case语句 case语句是顺序执行语句,常用来描述总线的行为、编码器和译码器的结构以及状态机等等。case语句可读性好,非常简洁。case语句的书写格式为 在case语句中,某一个条件表达式满足时,就执行它后面的顺序执行语句。 --signal sel :std_logic_vector(1 downto 0); --signal a, b, c : std_logic; process(a, b, sel) begin sel = a b; case sel is when 00 |01 |10 = c = ’1;

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档