最近一段时间在研究FPGA的开发,以前只是限于用modelsim仿真工具用Verilog硬件描述语言进行基于MIPS指令集的流水CPU的设计及实现,但也仅限于仿真的实现,该流水CPU能支持中断异常的处理,为五级的流水CPU内部无互锁和冲突,这也是花了大量的时间将其冒险给处理掉,最终生实现的CPU是一款完整的仿真CPU,可以说是功能强大。
但是做完仿真后,就想着如何能将其在硬件层面给实现出来,现在趁着在学校还有时间多钻研一下,这一个月来经过自己的摸爬滚打和一些工具书以及网络的帮助终于有了入门的感觉了。下面的图片是我最近用Xilinx公司生产的Nexys3的芯片板做的设计,主要是VGA口的使用包括字符显示和动态的屏保显示和按钮控制方块的移动并在屏幕上显示出来,同时还利用了板子上的4个7段数码管实现了数字时钟,其中有个LED灯是用来当秒针来闪烁的。虽说不上有多高档但对于一个以软件为主的人来是还是蛮有难度的,期间翻译了Xilinx的Nexys3的板子的电路和时序说明,真心感到不深入不知道,一深入够你喝一壶的。
其实最可惜的是没将自己的CPU和外设将行很好的交互。
以前做惯了软件的设计和开发,总感觉没什么新意了,做多了你会感到怎么又是这个,至少目前我的FPGA掌握的不多,所以好多都不知道,挺好奇,很有意思。不够令人烦心的是warning有时太多动则就有几百个,这你得理解,又是硬件之间的连接是牵一发动全身的,而且一旦工具综合优化起来warning就更多了。
ISE的xst不如别综合软件。