1、FPGA实验培训讲义利用RCII-SP3S400开发板做FPGA实验,应具备一些条件:1、 应用此开发板应该具备的基础知识1)HDL相关知识:FPGA的设计与应用涉及到软件和硬件相关的知识,要求学员具备了一定的Verilog 或VHDL 基础。如果没有这方面的基础,可以利用课余时间把相关内容补上。2)电路相关知识:由于用FPGA开发板做实验,可能要涉及到硬件的测试等,这要求学员对开发板的整个结构和原理图要有个充分的了解,有利于硬件的调试和测试。3)接口协议该开发板提供了相关标准接口,如串口、LCD、USB 等,如果要用这些接口,希望对大家能对这些接口协议有了基本的了解,有助于相关实验的进行。4
2、)FPGA知识对FPGA的内部结构和相关资源的了解,能充分利用FPGA的资源,可加速实验的进展。所以建议学员对FPGA的基本结构和性能有个大体了解。2、使用开发板前的准备工作:1)设计软件的安装使用此开发板前,首先确保已安装了相关的设计软件,在开发包中提供现在主流的一些设计软件,包括:ISE12.2、ModelSim、Synplify,ChipScope 和Xilinx EDK,其中ISE12.2为Xilinx 公司专门用于FPGA 开发的工具,ModelSim 和Synplify是目前应用比较广泛的仿真工具和综合工具,ChipScopePro 是一个功能很强大的在线逻辑分析工具,在FPGA
3、的调试阶段很有用,如果没有安装这些软件,请先安装上述软件。建议先装ISE,再装其它的辅助工具。2)熟悉开发板的硬件环境参照提供的原理图,对照开发板,了解一下FPGA外围器件和接口的配置,对电路板的整体情况有个了解,便于以后的开发。特别是FPGA的供电电路以及FLASH的配置方法,有助于以后做相关FPGA的开发。3)利用本开发板进行FPGA实验的安排利用本开发板的实验分为四个节点,不同的节点侧重点不同,学习的内容和深度也有所不同。下面给出学习建议:第一节点为基本实验。通过这部分实验,希望学员能够掌握FPGA开发的一个基本的流程,从设计到验证再到最后的实现,主要是熟悉Xilinx FPGA设计工具
4、ISE的使用。通过Verilog 或VHDL源代码的输入,设计译码器逻辑功能,熟悉FPGA的基本设计流程。第二节点为存储器IP实验,通过这部分实验,了解如何利用FPGA内部的BlockRAM资源和FPGA外围电路中经常用到的几种存储器SRAM、SDRAM、FIFO和FLASH,掌握利用开发工具所提供的存储器IP核来实现存储器的设计和使用。第三节点为设计实验,在第一节点和第二节点的基础上,利用Verilog 或VHDL适合分层设计的思想,通过采用存储器IP核和相关逻辑实现FIFO功能,学习如何利用FPGA来实现比较复杂器件功能。第四节点为接口设计实验,这一部分内容有一定的难度,是前几部分的综合运
5、用。首先在FPGA内实现一个FIFO;再在FPGA内设计一个接口逻辑电路可实现ARM对FIFO读写操作,通过编写ARM程序实现对FIFO的读写。通过这几个节点的实验,使得大家对FPGA的设计有个比较全面的了解,从简单到复杂,由浅入深,能够自己独立的完成设计。FPGA的学习涉及很多内容,不是一朝一夕就能精通的,需要付出艰辛的努力,希望这套开发系统能够让给您有一个好的开始,为您未来的学习打下比较坚实的基础。请记住下面的一些经验: 要开发 FPGA,不仅需要熟练掌握 verilog HDL 语言,还需要了解 FPGA 芯片结构、专用模块和其底层内嵌单元(全局时钟网络、DLL 模块、DCM 模块、内嵌
6、的块存储单元、硬核乘法器、高速收发器和嵌入式处理器等)的使用方法。 实用的 FPGA 设计方法把 verilog HDL 看成是一种胶合物,将芯片特有的组件融合其中,只有这样才能进行高效的开发,达到事半功倍的效果。 面向硬件的设计思维就是指将具体功能形成硬件的 RTL 级模型,选择具体的物理电路来实现,再用具体合适的语言去描述,而不是凭空写 verilog 代码。 并不是所有用 verilog HDL 语言写的程序都是硬件可综合的。 用 verilog HDL 语言来编程必须采用良好的代码风格;不仅在于了解 verilog HD的语法和语句,更多的要积累实践经验,一定要注意调试过程中对相关问题
7、和结论进行积累,才能逐步形成优秀的代码设计风格。 充分合理地利用约束文件。FPGA 的可编程特性使 PCB 设计、加工和 FPGA 设计可同时进行,不必等到 FPGA 管脚位置完全确定后再进行,节省系统开发时间。 在高速 FPGA 设计开发时,一定要重视时序!4、 使用开发板的注意事项使用此开发板需要注意以下几个问题:1 )供电问题。开发系统为开发板提供了一个5V的电源,请勿使用其他电源,以免电压不符导致开发板损坏。另外,在开发板电源边上有一个开关,用户可以不必每次插拔电源,只需用此开关来控制即可。2)请不要在上电时插拔各种接口,如JTAG、串口、VGA口、USB等3)带电测量时千万要小心不要
8、引起电路短路实验一、ISE 安装和开发流程一、了解 ISE 软件的功能和组成Xilinx 公司的 ISE 软件是一套以开发 Xilinx 公司的 FPGAoutput 3:0 SEG_LED;input 3:0 SW;output 7:0 VD_data;reg 7:0 VD_data;reg 3:0 SEG_LED;always (SW) begincase(SW)4b1110:beginSEG_LED=4b0001;VD_data=8b0110_0000;end4b1101:beginSEG_LED=4b0010;VD_data=b1101_1010;end4b1011:beginSEG_
9、LED=4b0100;VD_data=8b1111_0010;end4b0111:beginSEG_LED=4b1000;VD_data=8b0110_0110;enddefault: beginSEG_LED=4b0000;VD_data=8b1111_1111;endendcaseend endmodule5) 单击“FINISH” ,完成新源代码文件的建立。当代码编辑完成后要存盘时,ISE12.2 要检查代码的语法,如有错误,则存盘时在信息状态栏当中会给出出错信息。根据出错信息修改代码,直到没有语法错误为止。3、进行仿真ISE 仿真有两种方法:一种是利用 HDL Bencher 的图形化波形编辑功能编写测试文件;另一种是利用 HDL 语言编写测试文件,这里介绍利用 HDL 语言来构建测试平台。1) 测试平台建立a) 在工程管理区点击鼠标右键,弹出菜单选择 New Source,弹出界面;b) 输入文件名,选择 Verilog Test Fixture,打钩 add to project,单击 NEXT;