
System Generator
Smart_Devil
就是不想写简介
展开
-
System Generator系列之使用AXI接口和IPI
介绍本篇将会介绍使用System Generator实现AXI接口,然后以IP catalog格式保存设计,再使用Vivado的IPIntegrator进行设计,这时将看到在使用 AXI 接口时,IP Integrator如何通过提供连接帮助来增强你的工作效率将分成四个步骤进行AX接口和IP集成的设计:第一步:将查看到如何使用System Generator实现AXI接口第二步:为System Generator生成的IP创建一个Vivado工程第三步:在Vivado工程中创建一..原创 2020-06-14 17:26:31 · 1200 阅读 · 3 评论 -
System Generator系列之多速率系统的使用(下)
前言前两步完成了不同时钟域层次结构的创建以及异步通道的创建,本次将完成多速率系统设计的最后一步,给每个层次指定不同的时钟域。操作双击System Generator生成器,打开其属性编辑器,选择Clocking的菜单,将Enable multiple clocks选上,这时FPGA clock period和Simulink system period的数值处变成灰色,这一步是为了通知System Generator,每一个层次结构将分别指定时钟速率,因此此时的顶层只包含了子系统与FIFO,在多原创 2020-06-08 21:26:27 · 745 阅读 · 0 评论 -
System Generator系列之多速率系统的使用(中)
前言上一篇将创建的设计模块分成了三个时钟层次的子系统,此时子系统之间的数据由于时钟未同步,导致数据在传播时,采样所得的数据会有错误,因此需要建立一个异步通道,使得各时钟通道之间的数据可以准确的被传输。建立异步通道该设计将使用FIFO进行,FIFO(First-In-First-Out)也就是指FIFOs中的数据是先进先出的,控制信号可以确保仅在当前数据有效时才可被读取,并且仅当有可用空间时才写入。如果FIFO是空的或者满的,控制信号会让其停止运行,不过此次的设计不需要考虑FIFO会写满,输入是始原创 2020-06-06 08:03:40 · 655 阅读 · 0 评论 -
System Generator系列之多速率系统的使用(上)
前言玩FPGA的都知道,跨时钟域进行处理设计是很常见的事,而常见的有使用FIFO或者双口RAM实现跨时钟域的数据传输,再进而处理,本次将讲一下在System Generator中使用多速率系统,分成以下三个步骤进行:第一步:创建时钟域层次结构第二步:创建异步通道第三步:指定时钟域在开始之前,需要运行一个.m的文件,用于之后对模块进行配置时所需要的变量赋值,该文件可在文末回复关键字获得,运行后三个主要窗口的结果如下:创建时钟域层次结构在新建的模型文件中放置两个信号源,分别.原创 2020-06-04 16:23:03 · 892 阅读 · 0 评论 -
System Generator系列之资源分析
前言昨天使用System Generator对时序进行了简单的分析,然后今天再介绍一下资源分析的功能,本次的设计文件和昨天的一样,只是System Generator的配置不太相同。介绍双击System Generator,打开配置窗口,Compilation可以是选项中的任意一项,不需要像时序分析那样有特定的要求;在Clocking菜单下,将分析类型改成Resource完成配置,点击Generate生成资源利用的数据,并在一个资源分析的表格中进行显示;表中每一列的标题,就是BR原创 2020-05-28 21:26:35 · 595 阅读 · 1 评论 -
System Generator系列之时序分析
前言在很多时候,进行FPGA的设计都是需要注意时序的问题,因为时序一旦不正确将导致最终的结果与预期的不同,因此今天将分享一下在System Generaotr中是如何分析时序,并且在设计中找到违反时序的根源。开始这次直接准备好了一个设计文件,打开如下所示,可以直接回复文末的关键字获取,双击System Generator,将Compilation菜单下的Compilation改为HDL Netlist,语言可以改成Verilog,也可以默认使用VHDL,然后将目标路径更改下,与以前进行设原创 2020-05-27 18:03:23 · 908 阅读 · 0 评论 -
System Generator系列之Black Box使用(将HDL文件导入进行设计)
前言折腾了下System Generator里头的黑盒(black box),该模块就能实现将硬件语言描述的设计导入到System Generator中进行使用,今天也是对该模块实现将HDL描述导入模型文件,然后用于数字信号处理的实现,其次对模块做好配置,使其可以通过仿真验证。设计打开软件和新建空白模型这些就不再多述了,直接上今天的主题,在模型文件中放置Black Box,路径是:Xilinx Blockset/Index/Black Box,然后在弹出的窗口选择需要链接到黑盒的HDL文件,我这边为让原创 2020-05-24 20:34:38 · 1157 阅读 · 0 评论 -
System Generator系列之使用MCode进行建模控制
前言前些天通过创建数字滤波器的设计,对System Generator做了一些简单的使用介绍,今天将分享一下如何在System Generator中使用MATLAB中编写的M代码进行建模控制。开始老样子,先打开System Generator,启动MATLAB完成后,再打开Simulink进行仿真模型的设计,再添加以下的一些基本模块:Repeating Sequence Stair:用于重复产生离散时间序列,也是本次设计的输入。Gateway In、Gateway Out、System Gen原创 2020-05-22 22:38:20 · 1713 阅读 · 0 评论 -
基于System Generator的浮点数与定点数设计(实现与分析)
前言讲完上次的设计优化,这次将学习到如何使用效率高的定点数类型来创建一个满足所需规范且资源更有效利用的设计,以及使用System Generator下Xilinx Blocksets中的模块来分析这些设计,分成了两个部分进行。浮点数类型设计打开System Generator,然后将第一次设计的滤波器文件Copy一份然后进行一些更改,或直接新建模型,可以参考前几篇文章初识System Generator(安装+使用)基于System Generator的数字滤波器基于System Generat原创 2020-05-21 22:20:30 · 1041 阅读 · 0 评论 -
初识System Generator(安装+使用)
首先简单介绍下它是干嘛用的。System Generator是Xilinx公司进行数字信号处理开发的一种设计工具,嵌入了Xilinx的一些模块,可以在MATLAB中的Simulink中进行定点仿真,可以设置定点信号的类型等操作,不过我更看重的是那个可以直接生成HDL文件,然后用于设计Xilinx的FPGA,ISE可以调用,VIVADO也可以调用,不过现在应该搞得比较多的是VIVADO,所以就直接按VIVADO的来玩这个System Generator。开始安装System Generator是在安装V原创 2020-05-17 15:47:38 · 5742 阅读 · 2 评论 -
基于System Generator的数字滤波器(Simulink验证+Block设计+FPGA的仿真验证)
首先打开System Generator 2018.2,不清楚咋打开的可以看下我之前发的,等待MATLAB启动完成后,再打开simulink并且建立一个空白模型(以.slx为后缀),将其存放到自己想要存放的位置,保存好文件后就开始放置相关的模块来进行今天的设计。首先产生带有两个或多个频率信息的信号,使用Sine Wave产生,然后用Add进行叠加,设计结果如下图所示图中使用了两个Sine Wave模块,分别产生9M和1M的正弦信号,然后叠加,在示波器上看到各个信号的样子。9M的Sine Wave设置原创 2020-05-20 09:13:01 · 2768 阅读 · 1 评论 -
基于System Generator的数字滤波器设计所用资源优化
首先将上次设计的滤波器文件copy一份进行备份,后面还会有用到的时候,或者之后再改回去都可以。基于System Generator的数字滤波器(Simulink验证+Block设计+FPGA的仿真验证)打开System Generator这个模块的Clocking,然后看到之前设置的是20MHz的时钟频率,其实在FPGA器件中,时钟频率是很容易就超过20MHz的,使用更高的时钟频率运行FPGA将允许System Generator使用相同的硬件资源来计算多个中间结果。双击打开FDATool的属性编辑原创 2020-05-20 17:47:04 · 796 阅读 · 0 评论