数字 01 Vivado2018.2安装及实操

硬件平台:xilinx kf705(实际上跟kc705基本一样)  芯片是kintex-7

软件:vivado2018.2

系统:WIN7

目录

安装

创建工程

添加源文件

添加testbench文件

综合(时序约束)

实现(管脚约束)

生成比特流

ILA IP核的使用

VIO IP核的使用

IP核的例化


 

注意:

1、有时候综合不了,把安全软件关掉就可以了。

2、bitstream错误有时候提示在log框,但是实际上错误信息在message框。

 

安装

1、一开始的关于连接到网络检查vivado版本的选项我都选了ignore

2、

数字 01 Vivado2018.2安装及实操_第1张图片

选择第二个

Design edition

3、

安装的软件都确定安装,然后安装完毕,软件自动开启license manager,

点击load license,选择license(有史以来...的那个)

然后点击view license status

 

数字 01 Vivado2018.2安装及实操_第2张图片

 

创建工程

新建第一个工程:

  1. Create project
  2. Next
  3. 工程名和工程路径
  4. RTL工程
  5. 数字 01 Vivado2018.2安装及实操_第3张图片
  6. Next
  7. Next
  8. 数字 01 Vivado2018.2安装及实操_第4张图片
  9. 选择芯片,后面应该还可以更改(tools-project或者tool-setting里面)
  10. 数字 01 Vivado2018.2安装及实操_第5张图片
  11. Finish

添加源文件

点击左边flow navigator

数字 01 Vivado2018.2安装及实操_第6张图片

  1. Add sources
  2. 数字 01 Vivado2018.2安装及实操_第7张图片
  3. next
  4. 数字 01 Vivado2018.2安装及实操_第8张图片
  5. Create file
  6. 写verilog文件
  7. 数字 01 Vivado2018.2安装及实操_第9张图片直接ok
  8. 数字 01 Vivado2018.2安装及实操_第10张图片yes
  9. 编写完文件后

 

添加testbench文件

  1. 在simulation sources里面右键,选择add sources
  2. 同样的操作。(如果此时有语法错误的文件,系统会在simulation sources里面出现一个synax error的文件夹,里面的文件是语法错误的文件)
  3. 进入仿真,点击 run simulation→ run behavioral simulation 行为仿真
  4. 数字 01 Vivado2018.2安装及实操_第11张图片这样的错误
  5. 数字 01 Vivado2018.2安装及实操_第12张图片
  6. 原因是我的模块名和使用时的接口模块名没有对上,名字不一样
  7. 仿真同时可以实时修改程序,注意修改时间以更好地查看时序                                             
  8. 然后重新仿真
  9. 关闭仿真时,点击break或取消,然后点击仿真界面右上角的叉(不是整个软件的退出)

 

综合(时序约束)

  1. 点击左侧向导中的,run synthesis
  2. 完成后点击,oepn synthesis design,点击edit timing constraints 进行时序约束

 

数字 01 Vivado2018.2安装及实操_第13张图片这一列有原理图,时序约束,时序报告都可以点开看一下。

 

数字 01 Vivado2018.2安装及实操_第14张图片复杂的时序约束可以根据这个列表来创建。

Clock→create clock,给时钟编辑名称,然后source object,点击空白框右边的3个点,选择对应的需要收到约束的时钟管脚,默认点击Find,然后将管脚,点击向右的箭头,放到

  1. selected里面数字 01 Vivado2018.2安装及实操_第15张图片
  2. 然后设置周期,rise at指的是上升沿的位置,0的话就是一个周期的一开始就是上升沿,下降沿在一半的周期以后。
  3. 设置完时钟后,点击set input delay,在create clock下面,
  4. 数字 01 Vivado2018.2安装及实操_第16张图片
  5. 设置成上面这样就可以了,然后是output delay
  6. 数字 01 Vivado2018.2安装及实操_第17张图片

实现(管脚约束)

  1. 然后run Implement(需要一定时间,看右上角的状态)
  2. 完成后点击左边 open synhtesized Design  然后右上角Default Layout改为I/O Planing
  3. 把I/O std全部改为LVMOS33
  4. 我是查看原理图,找到LED,CLK和rst的管脚,去进行管脚约束
  5. 对照表是LED0=AB8,LED1=AA8,LED2=AC9,LED3=AB9,LED4=AE26,LED5=G19,LED6=E18,LED7=F16,
  6.  
  7. 数字 01 Vivado2018.2安装及实操_第18张图片
  8. 此处LVCMS字体变成红色我也不知道为啥,如果没事我就不再提了(错了,这些红色的改成lvmos15)
  9. Clk=AD12SYS_CLK)(这里发现不行,我该用user_clk才可以,改成K28,reset=y29(一个开关)
  10. 为了保存,点击关闭,然后保存
  11. 出现了数字 01 Vivado2018.2安装及实操_第19张图片
  12. 数字 01 Vivado2018.2安装及实操_第20张图片这个是管脚约束文件的名称

生成比特流

  1. 点击Generate bitstream  编程实现
  2.  
  3. 数字 01 Vivado2018.2安装及实操_第21张图片
  4. 数字 01 Vivado2018.2安装及实操_第22张图片
  5. Yes
  6. 出现了错误
  7. 数字 01 Vivado2018.2安装及实操_第23张图片
  8. 我把clock换成了user clock就可以了,好像是Bank33不支持3.3V电压模式?
  9. 之后y0~y3也出现了这个错误,查看了原理图后,于是我将她们都改成了LVCMO15.
  10. 之后,实现完成,我想看一下门级电路,点开左边RTL anysis的schematic
  11. 数字 01 Vivado2018.2安装及实操_第24张图片
  12. 是下图这样子,分别是一个分频器,一个计数器,一个38译码器。
  13. 数字 01 Vivado2018.2安装及实操_第25张图片
  14. 然后是开启开发板,连接电脑
  15. Usb连接后 ,等待驱动安装完成,然后,
  16. 点击左边 open Hardware manager,会提示no hardware target is open
  17. 点击open target,open a new target
  18. 数字 01 Vivado2018.2安装及实操_第26张图片
  19. 数字 01 Vivado2018.2安装及实操_第27张图片
  20. 我选了本地,next
  21. 数字 01 Vivado2018.2安装及实操_第28张图片
  22. 数字 01 Vivado2018.2安装及实操_第29张图片
  23. 然后出现了there are no debug core ,点击program device
  24. 数字 01 Vivado2018.2安装及实操_第30张图片
  25. 点击program之后,程序就被写入了,我的跑马灯亮起来了(兴奋)。
  26. 然后断电,提示
  27. 数字 01 Vivado2018.2安装及实操_第31张图片

 

ILA IP核的使用

 

关于IP核的使用

  1. 点开ip catalog
  2. 点开Debug&Verification
  3. Debug文件夹下有个ILA,或者直接在软件的搜索框里面填入搜索文本ila也可以
  4. 双击它
  5. 默认设置直接ok
  6. 数字 01 Vivado2018.2安装及实操_第32张图片
  7. 数字 01 Vivado2018.2安装及实操_第33张图片我点击了generate
  8. 数字 01 Vivado2018.2安装及实操_第34张图片
  9. 然后例化ila核
  10. 然后上电开发板,打开hardware maneger

 

 

 

数字 01 Vivado2018.2安装及实操_第35张图片

 

数字 01 Vivado2018.2安装及实操_第36张图片

 

VIO IP核的使用

点击IP catalog

在搜索框内输入vio

按照需求设置输入输出窗口。

在使用vio的时候,vio 的输出对应的是模块的输入端口,比如一个模块的一个输入开关,

应该连接到vio的输出上,并且这个开关我是只定义为wire变量,没有用input定义,因为用了input会报错。

IP核的例化

1、到工程文件下

D:\vivado_default\My_self\spi_ila_freq_uart\spi_ila_freq_uart2\spi_ila_modify_10M.srcs\sources_1\ip\clk_wiz_0

上面红色字体是工程名

进去之后找到.srcs后缀文件夹,source→ip→对应ip文件夹→找到后缀.veo文件

用记事本打开,可以看到有初始化程序,

比如这样

clk_wiz_0 instance_name

   (

    // Clock out ports

    .clk200m(clk200m),     // output clk200m

   // Clock in ports

    .clk_in1(clk_in1)); 

你可能感兴趣的:(数字)