写在前面 全系列:《基于Xilinx的时序分析、约束和收敛》目录与传送门 在《基于Xlinx的时序分析、约束和收敛(3)----基础概念(下)》文章中写了一些时序分析的基础概念,同时还说了文章中提到的公式根本就不需要记忆,因为综合工具vivado会帮你把所有时序路径都做详尽的分析,你所需要做的就是理解概念。 光说不练云玩家,今天就通过一个简单的工程来看下如何在vivado软件中查看时序报告。1、建立工程与添加时序约束 首先新建一个vivado的RTL工程,再添加一个Verilog文件,内容如下:moduletest(inputsys_clk ,i
写在前面 全系列:《基于Xilinx的时序分析、约束和收敛》目录与传送门 在《基于Xlinx的时序分析、约束和收敛(3)----基础概念(下)》文章中写了一些时序分析的基础概念,同时还说了文章中提到的公式根本就不需要记忆,因为综合工具vivado会帮你把所有时序路径都做详尽的分析,你所需要做的就是理解概念。 光说不练云玩家,今天就通过一个简单的工程来看下如何在vivado软件中查看时序报告。1、建立工程与添加时序约束 首先新建一个vivado的RTL工程,再添加一个Verilog文件,内容如下:moduletest(inputsys_clk ,i
前言FPGA内部有大量的逻辑资源,可以实现简单到复杂的工程,但依旧需要基本的输入输出引脚,如时钟引脚,普通的IO引脚配置IO引脚这里配置一下LED的引脚与FPGA的时钟输入引脚,也就是FPGA外部晶振的输入引脚首先需要通过查看原理图,确认FPGA的引脚,以下是我的开发板上的引脚配置引脚引脚编号说明40MHz时钟输入U2740MHz时钟输入LED1AF28高电平亮LED2AE28高电平亮LED3Y29高电平亮一般FPGA会有复位引脚,也就是RESET引脚,我这个开发板没有找到,可以先随意制定一个没有使用的IO引脚配置步骤在开发FPGA的Module(模块)时,会定义输入与输出的网络,类型为:in
前言FPGA内部有大量的逻辑资源,可以实现简单到复杂的工程,但依旧需要基本的输入输出引脚,如时钟引脚,普通的IO引脚配置IO引脚这里配置一下LED的引脚与FPGA的时钟输入引脚,也就是FPGA外部晶振的输入引脚首先需要通过查看原理图,确认FPGA的引脚,以下是我的开发板上的引脚配置引脚引脚编号说明40MHz时钟输入U2740MHz时钟输入LED1AF28高电平亮LED2AE28高电平亮LED3Y29高电平亮一般FPGA会有复位引脚,也就是RESET引脚,我这个开发板没有找到,可以先随意制定一个没有使用的IO引脚配置步骤在开发FPGA的Module(模块)时,会定义输入与输出的网络,类型为:in
程序的固化为什么网表下载后还要再进行固化呢?当你把下载网表的开发板断电后再重新上电发现之前的功能已经不存在了,也就是说下载后的网表消失了。为什么会这样子呢,很多人不禁问道,其实我们使用的这款FPGA芯片是基于SRAM的结构,即下载后的网表存储在FPGA内部的SRAM中,我们也知道SRAM有掉电易失的特性,这也就是我们为什么掉电后功能就消失的原因。所以我们要想使网表重新上电后仍然存在就需要将网表存储到片外的flash中,flash芯片型号为N25Q256,存储容量为256Mbit(32M字节),采用SPI协议和FPGA进行通信,可做为FPGA的配置芯片,以保证FPGA在重新上电后仍能继续工作。具
程序的固化为什么网表下载后还要再进行固化呢?当你把下载网表的开发板断电后再重新上电发现之前的功能已经不存在了,也就是说下载后的网表消失了。为什么会这样子呢,很多人不禁问道,其实我们使用的这款FPGA芯片是基于SRAM的结构,即下载后的网表存储在FPGA内部的SRAM中,我们也知道SRAM有掉电易失的特性,这也就是我们为什么掉电后功能就消失的原因。所以我们要想使网表重新上电后仍然存在就需要将网表存储到片外的flash中,flash芯片型号为N25Q256,存储容量为256Mbit(32M字节),采用SPI协议和FPGA进行通信,可做为FPGA的配置芯片,以保证FPGA在重新上电后仍能继续工作。具
平台:vivado2017.4最近在验证一个单独的模块时,希望可以在线实时改变内部寄存器的值。经过分析发现,VIVADO的VIO可以完美解决我的这个问题。下面来看看官方介绍。VIO它可以实时监控和驱动FPGA内部的信号,输入和输出端口的数量和宽度是可以设置的。因为VIO核心与被监控和驱动的设计是同步的,因此应用于设计的时钟约束也会应用于VIO。下面我们用VIO来监控模块IIC_JFM24C512的动作。此模块是一个EEPROM控制模块。这里使用VIO来给EEPROM写入数据,和读出数据。在IPCatalog中搜索VIO。这里我们分析EEPROM控制模块,我们需要监视的地方就是EEPROM读出的
平台:vivado2017.4最近在验证一个单独的模块时,希望可以在线实时改变内部寄存器的值。经过分析发现,VIVADO的VIO可以完美解决我的这个问题。下面来看看官方介绍。VIO它可以实时监控和驱动FPGA内部的信号,输入和输出端口的数量和宽度是可以设置的。因为VIO核心与被监控和驱动的设计是同步的,因此应用于设计的时钟约束也会应用于VIO。下面我们用VIO来监控模块IIC_JFM24C512的动作。此模块是一个EEPROM控制模块。这里使用VIO来给EEPROM写入数据,和读出数据。在IPCatalog中搜索VIO。这里我们分析EEPROM控制模块,我们需要监视的地方就是EEPROM读出的
vcs2018+verdi实现独立仿真带有VivadoIP核的工程前言工具准备vcs编译Vivado库文件使用Makefile实现仿真file.fsynopsys_sim.setupmakefilecompileelaboratesimulate+verdi前言在对带有VivadoIP核的工程进行仿真时,通常有联合仿真和独立仿真两种方法。前者通过在Vivado软件内部与其他仿真器联合实现仿真,但这存在很多弊端,例如每次必须同时启动两个软件,不够方便,效率也低;每次修改工程中的文件,都要重新编译整个工程;从别人那里拷贝来工程还要考虑两个软件的版本问题等等…因此独立仿真在实际工程仿真中有重要意义,
vcs2018+verdi实现独立仿真带有VivadoIP核的工程前言工具准备vcs编译Vivado库文件使用Makefile实现仿真file.fsynopsys_sim.setupmakefilecompileelaboratesimulate+verdi前言在对带有VivadoIP核的工程进行仿真时,通常有联合仿真和独立仿真两种方法。前者通过在Vivado软件内部与其他仿真器联合实现仿真,但这存在很多弊端,例如每次必须同时启动两个软件,不够方便,效率也低;每次修改工程中的文件,都要重新编译整个工程;从别人那里拷贝来工程还要考虑两个软件的版本问题等等…因此独立仿真在实际工程仿真中有重要意义,