如今生产FPGA的两大家公司分别为Xilinx和Altera。两家公司生产的FPGA各有千秋。目前两家公司合计占有的市场份额有90%。两家公司不同之处为,Altera公司目前除了设计和发售FPGA之外还有ASIC,而现在,因为现场可编程逻辑器件的种种优点,ASIC被取代已经只是时间问题。
伴随着视频图像处理技术以及电子产业的蓬勃发展,视频图形阵列,也就是前文所说的VGA,在计算机以及显示器等各个领域都得到了非常广泛的应用[5]。在图像处理的过程中如果使用的是通常的数据传输方式来让拥有较高分辨率的图像准确准时地显示在显示器上,在这样的情况下一般会要求晶振的频率能够超过40MHz,但是一般的电子电路基本不能达到这个频率,而如果要专门针对此来设计开发一个图像处理芯片,则会遇到许多的问题,不仅仅是开发成本高,而且设计难度也是十分的大。所以,因为现场可编程逻辑器件具有灵活的可编程性的特点,再加上现场可编程逻辑器件的工作频率可以高达上百兆,并且现场可编程逻辑器件具有许多I/O资源能够外接大容量存储器,我们就选择FPGA来设计一种驱动VGA的程序。
1.4 技术要求
对于VGA的控制,主要要用开发板的几个功能,其中一个是外置晶振,另外要会使用外置晶振产生需要的各种不同的时钟频率,这时需要用到DCM单元来进行倍频和分频。这各方面我们会在下面继续叙述。还需要控制VGA时序,用来产生640*480的显示范围,在程序中要编写好控制场同步信号和行同步信号的程序,以保证显示器会按照自己想的要求显示。另外还要用到BASYS2的八位VGA接口,需要搞清楚接口的标号,这样才能保证正常的数据输出。
1.5 研究预期结果
前期目标是要,了解BASYS2的板子的某些特定的部分,比如BASYS2的八位VGA接口,要搞清楚每个接口分别对应的是哪个标号,搞混了的话我们的整个毕设就从一开始就没有办法下手。并且要搞明白外置晶振怎么用,我们要做的是800*600的显示分辨率,所以需要40MHz的时钟频率,也就是说我们需要一个40MHz频率的外置晶振,连接到BASYS2板子上,并且搞清楚是哪个端口作为输入将这40MHz的信号输入进来的。以上工作做好之后才能正式开始显示控制的主程序。
VGA有一套严格的标准,只有按照这个标准才能正常的扫描显示,其中最关键的一环就是时钟频率,时钟频率不对的话无论你怎么设置都不会有图像显示,所以说VGA标准一定要搞懂学会。知道了VGA标准,剩下的就是RGB的研究了,我们都知道五彩斑斓的颜色其实都是由三原色构成的,只要有三原色,并让他们按照不同的比例融合就能显示出不一样的颜色,VGA也是利用的这样的原理。RGB分别控制的是红绿蓝三色,通过控制他们不同的比例来达到显示自己想要的颜色。
搞懂之后我们就能利用以上的知识来产生一个初步的棋盘格,这个格子就是以后工作的基础,产生了棋盘格之后,我们就可以通过加工来改变棋盘格,使他最终变成一条贪吃蛇,并且我们要自己思考如何让一成不变的图像开始动起来,也就是蛇要会动。最终我们左晨给一个简单的贪吃蛇的程序。
2.BASYS2开发板介绍
2.1 BASYS2简介
本款BASYS2开发板是借助ISE Design Suite软件进行编程,利用Adept加载程序的一款开发板。BASYS2是一个可以设计以及实施电路的平台,借助BASYS2每个人都可以获得一些构建真实的数字电路的经验。BASYS2无论是基本逻辑器件还是复杂的控制器的电路都可以实现,这全都仰仗BASYS2拥有完备的、每时每刻都可供使用的硬件。正是由于BASYS2拥有一系列的I/O设备和几乎所有需要支持的现场可编程逻辑器件电路,所以BASYS2能够创造出数不清的设计,并且不需要额外借助任何其他元件