环境:win7 64   vivado 2014.1
开发板:zedboard version d    xc7z020clg484-1

串口软件:SecureCRT

注意:本文中所有的源码、工程文件在“我的资源”中可以找到,如果没有请联系作者本人。转载请注明出处。

前面一段时间各种事,一直就没有更新博客了。现在准备把前两天的学习笔记放上来,以供分享讨论。

这篇笔记主要是关于Vivado System Generator的学习笔记,是Xilinx官网的ug948教程的简要说明,只包括了自己实际验证的部分。ug948、ug897都是很好的学习Vivado System Generator的资料,讲的非常详细,英文也不难,所以这里不打算像之前一样一步步的写下来了,有了前面的基础和一点matlab的基础应该可以很快上手的。

1. 使用流程(个人总结,详细请参考ug948)

1. 使用流程(新建slx)
    打开SG
    在matlab主界面:打开simulink
    新建model,在simulink library browser里面选择相应的组件,添加到model中
    修改相关参数,连接模块
    设置参数,仿真

2. 使用流程(已有的slx文件)
    打开SG
    在matlab主界面,设置工作目录(非常重要);在左侧栏可以看到已有的工程文件。
    打开*.slx文件,可进行编辑。打开simulink可选择相关模型。
    添加Xilinx(System Generator模块),一定注意设置part为已安装的part。
    如果因为版本问题无法保存,可以另存为新的文件。(测试几次mdl格式比较保险)

2. ug948学习导航

•  Lab 1: Use Simulink to create a simple design, create a subsystem, and then simulate.
    基本概念和使用。
•  Lab 2: Build a basic design in System Generator, simulate the design, and then generate an FPGA bitstream for a target Xilinx technology.
    首先介绍了matlab simulink的使用;
    然后使用Xilinx block改写;注意必须使用Xilinx Gateway In / Gateway Out blocks 来定义FPGA的边界;设计中必须有 Xilinx System Generator™ token
    选中Xilinx模块,ctrl+G将其打包成一个模块,注意要包括Xilinx System Generator™ token
    采用不同的方案进行设计。如普通计算单元和DSP48单元。
•  Lab 3: Learn how signal routing blocks are used to re-define or modify fixed-point numbers at the bit-level.
•  Lab 4: Create a finite state machine using the Mcode block in System Generator.
    使用Mcode模块,通过m文件构建了一个状态机并在SG中验证。
•  Lab 5: Change sample rates in a multi-rate DSP design and then convert a serial data stream to a parallel data word and a parallel data word to a serial data stream.
•  Lab 6: Use a Xilinx ROM block to implement a trig or math function such as arcsin.
•  Lab 7: Include a System Generator model within a Vivado IDE design and combine that model with other RTL sources.
    在vivado中添加各种rtl资源的方法。
•  Lab 8: Import C/C++ source files into a System Generator model by leveraging the tool integration with Vivado High-Level Synthesis (HLS).
    HLS生成的模块导入SG中应用的方法。
    添加HLS模块:
        1. Add a Vivado HLS block by right clicking anywhere on the canvas workspace. 
        2. Select Xilinx BlockAdd and scroll down to the Vivado HLS block as shown in the figure below
        3. Double click the block and use the Browse button to select the solution created by Vivado HLS
•  Lab 9: Including a System Generator Design as a Module in an IP Integrator Design
     export a design as an IP module into the Vivado® IP Catalog.包括两个例子
    第一个,raw_interface:
        1. Double-click the System Generator token and verify that the IP Catalog compilation target is selected. 
        2. Verify that the Create testbench option is checked.
        3. Click the Settings button and configure the IP Packager Settings 
        4. Click OK, then click Generate on the System Generator token
        5. 在./ip目录下有生成的ip;在./ip_catalog有示例工程。
        6. Select Behavioral simulation;Run a validation check on this design to confirm the IP works within IP integrator.
    第二个,AXI4-Lite interface:
        很强大的例子,AXI4接口;Locate the ELF file and associate
•  Lab 10: AXI4-Lite Interface Synthesis
    how to package a System Generator design with a synthesized AXI4-Lite interface
    例子:rgb2gray
        1. 设置目录;打开文件;(另存为新文件);设置器件;仿真验证
        2. 设置模块 Gateway In block to an AXI4-Lite Slave Interface:双击模块--Implementation tab--set  Interface to AXI4-Lite.
        3.  package the design:双击 System Generator token,检查器件,语言,目录等项;click the Generate button 
        4. ip在./netlist/ip中;示例工程在./netlist/ip_catalog中。
        5. 打开工程;(validate)Generate Bitstream
        6. SDK:select Xilinx Tools > Repositories and add the full path to the directory containing the System Generator Model (…/netlist_mzed/ip) 
            Create a new Application Peripheral Tests Project 
            right-click the rgb2gray_bd_i Block Design instance and select Export Hardware to SDK.Launch SDK
        7. add repository:./netlist/ip
        8. 新建工程,修改源码,验证。               
•  Lab 11: Black Box Examples
3. 小结
  看起来可能是泛泛的,但是确实是个人学习过程中的笔记,还有部分直接记在pdf中了,可以在附件中(我的资源)查看。后续个人实际做了一个使用SG生成的IP并在实际中验证成功。不过实例比较简单,没有体现出matlab的强大之处。尽管SG对matlab提供了很多支持,但是很多matlab的代码、语法不能100%迁移使用,外加的第三方库估计更难使用了。(MCode模块的报错真心是**,而且网上还不好查,得慢慢积累了)

Vivado System Generator学习笔记相关推荐

  1. system generator学习笔记【02】

    作者:桂. 时间:2018-05-20  23:28:04 链接:https://www.cnblogs.com/xingshansi/p/9059668.html 前言 继续学习sysgen.接触s ...

  2. Vivado System Generator for DSP - “Error evaluating ‘OpenFcn‘ callback of Xilinx Block“错误解决方法

    使用Vivado System Generator for DSP时,遇到"Error evaluating 'OpenFcn' callback of Xilinx Block" ...

  3. Vivado HLS #pragma 学习笔记(一)

    https://www.xilinx.com/html_docs/xilinx2018_2/sdaccel_doc/hls-pragmas-okr1504034364623.html 数据精度 支持任 ...

  4. MATLAB Robotics System Toolbox学习笔记(一):一步一步建造一个机械臂

    本文参考 MathWorks 中 Help Center 的 Build a Robot Step by Step ,并加以自己的理解 原网址:https://ww2.mathworks.cn/hel ...

  5. System Verilog学习笔记—fork...join_xxx的三种用法及wait fork和disable fork

    目录 0.前言 1.fork...join 2.fork...join_any 3.fork...join_none 4.其它线程执行语句 4.1wait fork 4.2 disable fork ...

  6. System Verilog学习笔记—接口interface

    目录 0.interface的直观理解 1.使用端口的TB与DUT通信 2.使用接口的TB与DUT通信 3.使用modport将interface中的信号分组 4.接口中的clocking block ...

  7. System Verilog学习笔记—随机化约束的控制

    目录 1.控制多个约束块儿constraint_mode() 2.控制随机变量 2.1 rand_mode() 2.2 randomize() with {} 2.3 randomize单独控制变量 ...

  8. System Verilog学习笔记—随机化约束种类

    1.为什么引入随机化? 芯片体积增大,复杂度日渐提高,定向测试已经无法满足验证的需求,而随机测试的比例逐渐提高 定向测试能找到你认为可能存在的缺陷,而随机测试可以找到连你都没有想到的缺陷 随机测试的环 ...

  9. System Verilog学习笔记—虚接口(virtual interface)

    1.虚接口(virtual interface) 1.1为什么引入虚接口? 我们知道,通过引入interface可以简化模块儿之间的连接,即interface是连接硬件的,其是硬件语言:但对于验证来说 ...

最新文章

  1. 有道算法题--排序之桶排序实现求排序后相邻最大差值问题
  2. 51nod 1188 最大公约数之和 V2(欧拉函数)
  3. HBase:分布式列式NoSQL数据库
  4. 云计算创业在美国真是如火如荼。
  5. SQL Server抛出异常信息 RAISERROR
  6. 3GPP规范命名规则解读
  7. 小胖月安卓版,随机选号、叫号功能,互动功能
  8. 如何优雅的对网页截取长图
  9. 121. 买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的
  10. 微信小程序之图片压缩
  11. HTTP调用状态返回码
  12. 为什么学习信息学竞赛?
  13. Cannot read lifecycle mapping metadata for artifact org.apache.maven.plugins:mav问题
  14. 【解决方案】文化体育场馆如何搭建远程网络视频监控,防范突发人流拥挤踩踏事件?
  15. 我喜欢用计算机300,我喜欢夏天作文300字
  16. 营销:通过扭曲价值来创造价值
  17. xgs芯片_了解有关XGS的所有信息
  18. caged系统pdf_C-TPAT协议自我评估表
  19. NT151应用案例:西门子PLC S7-1200与派克ACR9000的通信(Part 1)
  20. 1166 Summit (25 分) PAT

热门文章

  1. python拉勾网招聘信息爬取(单线程,最新)
  2. Mysql数据库的详细安装步骤
  3. Android开发真等于废人?全网独家首发!
  4. VMware16虚拟机安装macOS Monterey 12详细教程
  5. 炒菜机器人的弊端_机器人炒菜缺点味 “人情味”还得用人
  6. 兄弟 brother,数控系统数据采集,NC程序下发实战
  7. yum安装与pip安装的区别
  8. 手机服务器响应出错 错误码500,jmeter响应代码:500响应消息:内部服务器错误响应标头:...
  9. php赛车源码,纯JS单页面赛车游戏制作代码分享
  10. 三极管的材质、管型以及极性判断