本帖最后由 superstar_gu 于 2021-1-29 16:04 编辑
2.2.1 Vivado硬件开发环境搭建
Perf-V 开发板核心处理芯片采用Xilinx Artix-7 FPGA 芯片,需要安装Xilinx官方设计软件Vivado。Vivado下载地址如下链接所示。
https://www.xilinx.com/support/download.html
考虑到安装授权问题,一般推荐安装Web版本的Vivado。通过查询《Vivado Design Suite User Guide》,Web版本支持的XC7A35T。
Perf-V 开发板要求的版本号为2018.1,按照厂家推荐步骤安装完成,过程不细阐述。
VIVADO2018.1界面示意图
VIVADO许可文件安装,打开“VIVADO License Manage”文件->obtain license, 然后程序连接到Xilinx官方网址,按照官方程序,得到免费的Vivado web许可文件,打开“VIVADO License Manage”文件->Load license,打开“VIVADO License Manage”文件->View License Status, 安装完毕
VIVADO License确认界面示意图
2.2.2 LED跑马灯
(1) 启动vivado,选择Create New Project,指定工程名字和工程存放目录,选择RTL Project,选择FPGA设备,工程创建完成后
(2) 开始编写verilog代码(复制例程中的LED程序)
三个输入:时钟clk,复位rst_n, 按键开关Sw
一个输出:pio_led,13位寄存器输出
中间变量:
26位计数寄存器cnt
4位状态寄存器state
常量T
程序为时钟上升沿触发或复位下降沿触发启动。
当复位引脚电平为低电平时,所有led引脚电平拉低,同时,计数寄存器清零,且状态位清零
当按键开关被按下时,检测状态寄存器state状态信息
当state为0时,只有第12 led亮,计数寄存器累加,当计数到T时,state翻转为1;
当state为1时,只有第11 led亮,计数寄存器累加,当计数到T时,state翻转为2;
当state为2时,只有第10 led亮,计数寄存器累加,当计数到T时,state翻转为3;
当state为3时,只有第9 led亮,计数寄存器累加,当计数到T时,state翻转为4;
当state为4时,只有第7 led亮,计数寄存器累加,当计数到T时,state翻转为5;
当state为5时,只有第5 led亮,计数寄存器累加,当计数到T时,state翻转为6;
当state为6时,只有最后位led亮,计数寄存器累加,当计数到T时,state翻转为0;
本文没有描述仿真过程。
(3) 添加XDC管脚约束文件
主要分配管脚分配,设置下列信号电平为LVCMOS33:
时钟clk,N14
复位rst_n, L13
按键开关Sw
PIN M16 pio_led[12] D0
PIN N16 pio_led[11] D1
PIN P15 pio_led[10] D2
PIN P16 pio_led[9] D3
PIN M2 pio_led[8] D4B
PIN L5 pio_led[7] D4G
PIN P5 pio_led[6] D4R
PIN N12 pio_led[5] D5B
PIN T9 pio_led[4] D5G
PIN T10 pio_led[3] D5R
PIN D10 pio_led[2] D6B
PIN P6 pio_led[1] D6G
PIN K12 pio_led[0] D6R
注意:厂家提供的LED部分引脚约束需要根据原理图进行调整。
(4) 编译
第一步:运行Run Synthesis综合
运行过程中,发现下列错误“ [Common 17-180] Spawn failed: No such file or directory”
网上给出的建议参考下了链接:
https://forums.xilinx.com/t5/Synthesis/common-17-180-spawn-failed-No-such-file-or-directory-during-IP/td-p/818187
一般重启工程运行,错误消失。
第二步:运行Run Implementation 布局布线
第三步:运行Generate Bitstream 生成bit文件。下载程序时遇到下列问题:
问题为:There are no debug cores,分析可能由于版本问题或者下载驱动的问题,重新安装最新版本再试试看。
|