从事FPGA设计工作已经三年多了,从最开始的参加培训公司的培训到现在能独立完成一个大型的芯片设计,觉得自己似乎懂得了很多,但是真要去细究一些技术细节,还是会发现自己的知识有很多不足之处。就如,现在我能够用verilog完成数万行的代码,能实现一个万兆路由器级的复杂系统,但是我所掌握的verilog知识仅仅是常用的那部分,真要拿份考卷来测试我,肯定还是有很多我不会的或者不熟悉的。
第一次使用Xilinx 的FFT的IP core。没有太多的资料和实例可以学习,只有一个软件自带的文档xfft_ds260,而且是英文的,看了很长时间受益不大。然后决定一边用一边再学习,就自己建立了一个工程实验。
1.V6芯片管脚类型
以Virtex-6 LXT系列FPGA为例,V6芯片的用户管脚可以分为普通IO和高速SERDES IO。每个V6 LXT系列的FPGA至少包含三列普通IO和一列高速SERDES IO,某些大芯片会有最多四列普通IO。本文主要总结普通用户IO的排布。普通IO以BANK为单位分布在芯片内,每个BANK包含40个IO,芯片大小不同,包含的BANK数也不相同。三列(最多四列)普通IO根据相对于芯片中间列(时钟管理模块与FPGA 配置模块)的位置,分为左中间列、右中间列、左外侧列、右外侧列。由于V6特殊的时钟结构的缘故,左中间列和右中间列的IO BANK能跑到的时钟频率要比左外侧列以及右外侧列高。另外,在一个BANK内,40个IO组成20个差分IO对。在普通用户IO中,有一部分IO是多用途的。在每个BANK中有两个VREF、一组VRP和VRN、四个区域时钟输入管脚等多用途IO,在不作为特殊功能管脚使用时,可以用作普通用户IO。另外,在24BANK和34BANK有一些管脚是配置相关的,使用受限。整个芯片还有8对全局时钟输入管脚。
JPEG解码总共分为:桶型寄存器模块,状态控制模块,huffman解码模块,反量化模块,反zig_zag模块,反idct模块,色彩空间变换模块。桶型寄存器的作用是控制数据流和去除冗余。对于数据的控制是要求桶型存储器能读取数据的任何宽度,输出的数据给状态控制模块和huffman解码模块,状态控制模块要求输入的数据有两种,一种是8位,另一种是16位,huffman解码模块要求输入的数据为不定位数,huffman编码是不定位数的编码,所以在解码的时候事先不知道被解码数据的位数。冗余信息的产生是由于在编码非标志位的数据FF 时,必须在其后加上00,而产生了冗余信息00。所以再遇到FF00的时候必须去除00。
DCM是数字时钟管理单元,在xilinx器件中要经常用到,她可以起到分频和倍频的作用。
做ip仿真的实验的基础是:所有xilinx的库都已经加到modelsim中了,方法这里就不介绍了。
1、建立一个文件夹保存源代码
其中dcm.v是顶层文件。
my_dcm是例化的一个dcm的IP
dcm_tb是测试文件
glbl是在C:\Xilinx\12.4\ISE_DS\ISE\verilog\src 目录下。C:\Xilinx是ISE的安装目录。
2、编写do文
北京化工大学信息科学与技术学院副教授
Xilinx(赛灵思公司)不愧是“创新”理念最忠实的实践者和推动者,在全球业界第一个发货和量产28nm 7系列器件后,又推出了“VIVADO”这一全新的FPGA设计套件,用来取代已经面世15年之久的赛灵思旗舰型ISE设计套件。VIVIDO的推出,不仅仅是让设计的界面更加漂亮,更重要的是,它所带给行业的那种更深层次的意义,那种体现在设计手段和设计方法上的的创新。
昨晚无意间看到一段新闻频道对最近炒得火热的“史上最年轻教授”的专访,倒是他的一位同学对于梦想的“现实版”解说颇有些耐人寻味。大体意思是说“拼了老命考上一所梦寐以求的大学,父母辛辛苦苦交了学费,我们却挑了最容易的学分拿,为了求得一份好工作我们都已经失去了对梦想的追逐”。或许这都是曾经处于就业压力中的我们真实的写照,而在我们如愿拿到了或者如意或者迁就着的offer摸爬滚打若干年以后又如何呢?梦想在你的脑子里是否已然遥远?
《设计者的思想--基于FPGA的数字信号处理》连载二:FPGA使数字系统调试方法发生变革

最新评论
1 天 15 小时之前
1 周 7 小时之前
2 周 1 天之前
2 周 1 天之前
2 周 3 天之前
2 周 4 天之前
2 周 4 天之前
2 周 5 天之前
2 周 5 天之前
3 周 2 天之前