第一讲综述

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

可编程逻辑器件是什么东西?我想大家都应该了解一点,按我自己的理解来说,可编程逻辑器件是一个更微观的可编程的逻辑芯片,它不仅可以形成初级数字电路,也能构造高级的数字微处理器。用一个不太恰达的比喻,可以将它比做面团,可以做成面条、饺子、包子,也可以做个面人,而不再是已经加工后的成品。最后要做成什么,完全由你决定。若有伙计对这个可编程逻辑器件一窍不通,那么就看看从维基百科摘抄的专业讲解吧。见《附件:可编程逻辑器件简介-维基百科》在这里,大家记住一点:可编程逻辑器件最基本的特点是“并行”处理。我们还从网上摘抄了主流可编程逻辑器件厂商列表,见《附件:可编程逻辑厂商简介》,介绍了他们主要的编程逻辑器件产品和各自特点,也便于需要选型的朋友做参考。大伙随便看看,权当科普读物,扩大自己的知识面了。当前可编程逻辑器件最流行的就是CPLD和FPGA两种类型,这两种器件只是结构不同,在编程上都是一样的:用的无非是VHDL或者是Verilog。爱问问题的朋友可能又有疑惑了,那CPLD和FPGA有什么区别呢?VHDL和Verilog又有什么区别呢?关于CPLD和FPGA的概念问题在《附件:可编程逻辑器件简介-维基百科》中已经有所涉及,我们还收集了CPLD和FPGA的基本结构《附件:CPLD基本结构》和《附件:FPGA基本结构》,感兴趣的朋友可以翻翻看看。当然这两种器件是有性能差别的,我们介绍了这两种它们两者之间的差别,参考《附件:CPLD与FPGA性能特点差异》。现在流行的可编程逻辑器件设计语言有VHDL和Verilog两种,我们已经遇到不止一个网友问我们学哪个语言好。其实,我觉的学哪个语言是不用太纠结的事情,既然两种语言共存于市场中,那必然有互相不可替代的优点。有时候,选择哪种语言往往由周围的学习环境、周围学习人群的喜好、单位项目需要等因素决定,而并非个人意志所决定。也许你在学校里学习Verilog方便,但到了单位后,老板又有可能要你用VHDL编程。现在还是坚持把一种语言学好再说!多动手,多实践,学会解决问题的能力,这才是重点,语言,毕竟只是个工具!关于这两种语言的特点可参考《附件:选择VHDL还是Verilog》我们在这个教程中使用的器件是Altera的CPLD。所以,在讲VHDL编程的结构时,先在你的电脑上安装Altera的QuartusII软件,并学习一下Altera的QuartusII软件的操作。接下来我们看一下VHDL程序的基本结构。主要包括的结构如下:2-3:库声明和使用的程序包。相当于高级语言的#include功能。一般的我们在日常的编程中使用以下的库和程序包就足够可以了:以后,一般的,在程序的开头写上这4句话就足够了。语法点:库声明:LIBRARY库名;程序包声明:USE库名.程序包.程序包的组成部分;注意:“--”(两个双横短线)是注释;VHDL中不分大小写;分号是每句话介绍的标志。6-14:实体声明。定义实体的名字和接口端口。最主要是定义这个程序对外的端口,包括名字和类型。若这个程序是顶层文件,那么这些端口就要去连接实物器件的引脚,若这个程序是个子程序,那么顶层文件就调用这些端口与这个子程序相连接。实体声明语法:ENTITY实体名ISPORT(端口名A:端口模式(即端口的数据流向)数据类型;端口B:端口模式(即端口的数据流向)数据类型(最后一个没有分号));(这儿有分号)END实体名;注意点:实体名必须与文件名称相同,否则Quartus软件会报错。17-36:结构体。是整个程序功能实现的主要部分。16-21,定义要使用的信号可参考《附件:VHDL常用语法列表》,当然在后面的教程中也会详细讲解,21-36,实现功能的语句。至于可以包括的语句都已经写出,我们也将在后面的教程中会讲解。结构体语法点:ARCHITECTURE结构体名OF实体名ISBEGINEND结构体名;注意:1.在结构名和BEGIN之间可写信号的定义,元件声明等;2.在BEGIN和END是具体的实现语句。VHDL程序的基本结构就是这个样子的,还是比较清晰明了的。接触过C语言的朋友,可能会觉的结构怪怪的,没关系,总有一个适应过程的。就像会骑自行车的人,在刚开始骑三轮车的时候总是学不会,慢慢适应就好了。为了趁热打铁,我们在附件里准备了一个小程序,见《附件:nand3_gate.vhd》,希望大家在QuartusII里为这个文件建立一个工程,并把这段程序逐字抄写一遍,并在软件上操作一遍。这样,即可以走一边这个Quartus软件的操作,又可以加深VHDL程序基本结构的认识!今天的付出是为了获得明天的幸福!大家继续努力。

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功