FPGA系统性学习笔记连载_Day2-3开发流程篇之ISE 14.7

2021-03-31 10:14:27 浏览数 (1)

FPGA系统性学习笔记连载_Day2-3开发流程篇之ISE 14.7

连载《叁芯智能fpga设计与研发-第2-3天》 【工程建立、verilog代码编写、分析综合、仿真、程序下载、程序固化】之 ISE 14.7

原创作者:紫枫术河 转载请联系群主授权,否则追究责任

这篇文章记录《xilinx SPARTAN-6 》 系列的基本开发流程(我用的是ISE 14.7)

一、建立工程

1、打开ISE的新建工程向导

2、选择工程存放位置为isepri目录,名字为and_gate2_1

3、选择Spartan6系列的XC6SLX9芯片,封装为TQG144,仿真工具选择Isim,语言选择verilog,VHDL的语法标准选择2000版本,93版本比较老

4、点击下一步

5、鼠标右键,and_gate2_1,在弹出的列表框选择添加源文件,将我们之前写的设计文件添加进来

6、在弹出的对话框选择OK

7、选中and_gate2_1.v设计文件后,在双击综合按钮 Synthesize,软件会进行语法分析

8、点击左侧View RTL Schematic选项查看生成的寄存器传输级示意图(从图片可以看出是2输入与门)

8.1、在弹出的对话框选择顶层模块

8.2、确定后会出一个RTL示意图

8.3、双击方框内的区域,会看到而输入与门的等效电路图

9、点击左侧的布局布线选项

10、点击左侧的芯片规划器选项

11、打开后可以看见这个界面,图中黑色的小点都是芯片的寄存器,右侧是该verilog代码设计的模块的信号引脚列表

12、双击引脚列表的a信号,会自动搜索芯片的布局位置,如图中所示的信号b

13、双击红色区域后,会显示FPGA内部使用的逻辑资源,图中蓝色的线表示实际所用的资源,可以看出2个输入,1个输出

14、添加之前我们写的仿真文件

15、再弹出的对话中,主要文件类型选择Simulation

16、按照图示,对仿真文件进行语法分析,注意一定要选择Simulation,然后点击仿真脚本,最后双击语法检查

17、进行仿真按照下图,打开Isim仿真界面

18、打开的仿真波形界面如下

19、单击全局缩放按钮,对波形缩小在当前屏幕范围内,观察波形

输入 0 0 ->0 0 1 ->0 1 0->0 1 1->1,可以得出结论设计的2输入与门仿真正确

20、分配引脚,当我们设计的逻辑经过仿真没有问题,就可以分配引脚下班验证

20.1、给工程创建一个ucf文件(user config file),用来分配引脚

20.2 我们用2 个按键模拟与门的输入信号,用1个led模拟 与门的输出信号,查看原理图得知 key0(pin83) key1(pin82) led0(pin74)

在Site位置双击,输入P93回车,依次类推,注意修改完成后,必须要点击保存

21、分配完成后再次执行步骤7分析综合,右键选择Rerun

22、综合完成后,进行布局布线

23、打开程序烧写工具iMPACT

23.1、打开烧写工具后,将仿真器接上,板卡上电,然后单击Boundary Scan 按钮进行扫描板卡

23.2、根据提示右键单击Initialize Chain

23.3、发现报错了找不到芯片

23.4、通过上网发现,是因为安装了vivado导致的驱动冲突,执行下面的步骤

1、以管理员运行CMD命令行进入ISE的安装目录

cd D:xilinx_ise_design_suite_14.714.7ISE_DSISEbinnt64

2、执行卸载驱动命令

wdreg -compat -inf windrvr6.inf uninstall

3、执行驱动安装命令

wdreg -compat -inf windrvr6.inf install

23.5、上面的方法都试了还是不行,最后解决的方法很简单,在设备管理器将Xilinx的默认驱动删掉,红色的一定要勾选,否则不成功

23.6、然后再重新插拔usb设备,会自动安装,这样就好了

23.7、由于我后来装了viado2017.4,导致驱动有冲突, 解决的办法是卸载驱动和上面一样,然后进入ise安装目录的驱动文件夹,手动安装驱动,主要安装之前必须要断开仿真器

D:xilinx_ise_design_suite_14.714.7ISE_DScommonbinnt64

以管理员身份安装install_drivers.exe驱动即可

23.7、识别到芯片后,弹出一个对话框,单击YES,会提示添加一个配置文件,我们这里选择and_gate2_1.bit文件,然后点击OPEN

23.8、点击open后还会弹出一个对话框,这个意思是我的配置文件是XC6SLX4,但是我的芯片是XC6SLX9,所以我的工程芯片选错了,这里我改一下芯片就不会有这个提示

23.9、修改芯片后,重新添加文件会下面的提示,意思是我们是否要添加一个flash的存储器,我们选择No

24.0、点击NO后弹出一个对话框,我们单击Cancle

24.1、程序烧写,在xilinx芯片上右击,在弹出的列表中选择Program,当下载完成后会出现Program Succeeded的提示字符

25、硬件验证,通过按键测试输入信号和led灯与设计一致

26、程序固化、FPGA是基于SRAM设计的,所以程序掉电丢失,需要将程序烧写进flash里

27、先生成可烧写进flash的文件,ISE 是产生mcs文件

28、单击创建PROM文件按钮

29、弹出一个产生mcs的配置界面,按照图示的标识进行配置,然后点击OK

30、点击ok后,会弹出一个对话框,提示添加一个设备文件,意思是用什么文件来生成mcs文件,单击OK

31、点击OK后,会弹出对话框,提示选择文件,我们选择and_gate2_1.bit

32、单击打开后,会弹出一个对话框,提示是否添加另外一个设备文件,我们选择NO

33、单击NO,会弹出对话框,提示我们已经完成设备文件配置,点击OK

34、点击OK后,回到了开始的烧写程序界面,这时候点击生成文件按钮

35、当生成文件后,会有相应的提示字符

36、可以在文件夹里找到刚生成的文件

37、给fpga添加一个FLASH存储器,在FPGA芯片上右击,在弹出的列表中选择Add SPI/BPI Flash

38、在弹出的文件对话框中选择and_gate2_1.mcs

39、点击打开后,会弹出一个对话框,选择spi的型号,这里选择SPI PROM,M25P16(flash根据板子的型号更改),位宽1(根据板子型号更改),然后点击OK

40、完成上述步骤后,会发现FPGA芯片上面,多了一个FLASH芯片

41、程序固化,右键点击FLASH设备,在弹出的列表选择Program

42、在弹出的对话框,选择OK即可

43、等到进度条100%,即固化成功,会有成功提示符

0 人点赞