- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《VHDL第一讲
贴心建议:初学时,对于简单的程序,先尽自己努力看懂每一句话,从字面上先去理解,通过英文单词的意思,自己先去琢磨该段程序所要实现的功能,然后再去和正确的意思相比对,这样比一开始就去看解释来的记忆深刻,这些是我自己的切身体会。
1.三输入与非门
在数字电路设计中,门电路是最基本的电路单元。在这里我们挑选了比较典型的三输入的与非门,完成我们的第一个设计。
三输入与非门的逻辑表达式:
逻辑符号为:
源代码:
逐行解释:
1:库声明。告诉编译器,我要使用这个库里的内容。语法是:LIBRARY 库名;(结束有个分号的,别丢了,这个分号是每条语句的结束标志,每条语句最后都是要有分号的,这是它们的标配)。
2~4:声明所选择的程序包名称,ALL就是打开整个程序包。一个库里当然有很多的程序包了,给编译器指明一下那个包要用,好缩小它的搜寻范围。别让它满库的找,怪费俺们的CPU的。语法:USE 库名.程序包.程序包的组成部分;。
一句话总结:1和2两句其实相当于C中的“#include”,使被声明的库和库中的元件对当前设计项目可见。
发散:IEEE库是最重要的资源库,我们经常使用其中的一些信号定义和数据的定义。列举一下其中比较重要的几个程序包:
(1)STD_LOGIC_1164:指定了STD_LOGIC和STD_ULOGIC逻辑系统
(2)STD_LOGIC_ARITH:包含SIGNED和UNSIGNED数据类型定义和相应的算术和比较操作还包含了几个数据转换函数,允许数据从一个类型转换为另一个类型。
(3)STD_LOGIC_UNSIGNED:
CONV_INTEGER(A)由INTEGER,UNSDGNED,SIGNED转换成STD_LOGIC_VECTOR由UNSIGNED,SIGNED转换成INTEGER”连接”这些引脚就行了.有点象OOP(面向对象设计)里的封装.呵呵.
语法:
PORT(
端口名A : 信号模式(即端口的数据流向) 类型;
端口名 B : 信号模式(即端口的数据流向) 类型(最后一个没有分号)
);(这儿有分号)
发散:信号的模式包括IN(输入),OUT(输出),inout(双向),buffer(缓冲).注意:out 是不能在程序中读的,inout是双向的,可以反馈内部而被程序可读.假设O是输出端口,S是程序里面的一个信号,你想着程序中看看这个输出对不对,于是这样写S=O,你会得到一个error:
Error (10309): VHDL Interface Declaration error in nand3_gate.vhd(19): interface object O of mode out cannot be read. Change object mode to buffer or inout.
看看其建议是:Change object mode to buffer or inout---改成buffer或inout模式,这样就以在程序中可读了。
Buffer我在以后用到的时候再讲解。
一点小的建议(也是为了程序的美观和规范):在书写端口时,输入端口先在前,再写双向端口,最后写输出端口。
数据类型我们最常用的是STD_LOGIC和STD_LOGIC_VECTOR。STD_LOGIC中文名叫标准逻辑位,有九种可选值,包括(‘U’,‘X’,‘0’,‘1’,‘Z’,‘W’,‘L’,‘H’,‘-’)‘U’:未初始化的, ‘X’:强未知的, ‘0’:强0, ‘1’:强1, ‘Z’:高阻态,??? ‘W’:弱未知的, ‘L’:弱0,??????? ‘H’:弱1, ‘-’:忽略”1000_1110”-----即DATA_A[7…0]
DATA_B=”1000_1110”-----即DATA_A[7…0]
一组位数据要用双引号(“”),单个的位数据用单引号(‘’),而且数据的位数和你所定义的位数要一致,就象这个车载重量只能是5顿,你偏偏要载10顿,这样的话交警可是不会让你通过的。
12.实体描述结束.。语法:END 实体名;。
14~18:结构体,是描述该实体的功能的。相当于C中的main()函数了。
14:结构体名。语法:ARCHITECTURE 机构体名 OF 实体名 IS ,就是指明该结构体是那个归那个实体所管。一个实体可有好多个结构体。
15: 结构体描述区.就是要定义一些在这个程序里要用的SIGNAL(信号),componet(元件)等信息.相当于C中的定义变量.在这个程序中我们没用这块区域.(已用”--”给注释掉了)
16:开始标志。用BEGIN来标志.
17:结构体的描述。包括元件映射语句,信号赋值语句,进程语句和子程序。在这个
您可能关注的文档
最近下载
- 实验室检测培训总结.docx VIP
- 大学学110周年庆典综艺晚会舞美灯光音响舞台工程投标文件(技术标).docx
- 《中华人民共和国安全生产法》试题.doc VIP
- 公路工程质量检验评定标准(JTG F801-2017)培训课件.pptx
- ASCO 胰腺癌领域治疗新进展.pptx
- 高三读后续写题库练习题55篇(含范文解析).pdf VIP
- 2024届湖北省七市州高三3月联考语文试题评讲课件.pptx
- 食品生产企业食品安全主要主体责任清单、每日食品安全检查记录.pdf VIP
- 急性上消化道出血急诊诊治流程--危重病课件.ppt
- 湖北省七市州2024届高三下学期3月联考二模语文试题及答案解析.docx
文档评论(0)