博客

Vivado除法IP注意事项

这篇博客主要记录Vivado中除法IP的注意事项,遇见一些新的知识点应该做相应的笔记。

AXI协议详解-AMBA总线协议AHB、APB、AXI对比分析

在基于IP复用的SoC设计中,片上总线设计是最关键的问题。为此,业界出现了很多片上总线标准。其中,由ARM公司推出的AMBA片上总线受到了广大IP开发商和SoC系统集成者的青睐,已成为一种流行的工业标准片上结构。AMBA规范主要包括了AHB(Advanced High performance Bus)系统总线和APB(Advanced Peripheral Bus)外围总线。

从多图对比看Vivado与ISE开发流程的差异

对 Vivado 和它的前一代设计套件,ISE 做一个组件功能上的平行比较和总结是很有用的。其目的是让那些具有在 ISE 下工作经验 (但是不具有 Vivado 下经验)的人能够更快的适应新工具的各个特性。详细信息见下表。

AXI总线详解-总线、接口以及协议

总线、接口和协议,这三个词常常被联系在一起,但是我们心里要明白他们的区别。总线是一组传输通道,是各种逻辑器件构成的传输数据的通道,一般由由数据线、地址线、控制线等构成。接口是一种连接标准,又常常被称之为物理接口。

Vivado HLS实现离散余弦变换(DCT)

DCT经常用来对信号进行有损数据压缩,这是由于DCT具有很强的能量集中性,大部分自然信号的能量主要集中在DCT变换后的低频部分,具体的DCT公式这里就不多推导了。二维DCT变换是在一维DCT变换的基础上,再进行一次DCT变换,二维DCT变换方法主要由三个步骤组成(信号矩阵8*8)

AXI总线详解

本来是在写PCIe,怎么突然又出现AXI了?不要急,先看下PCIe涉及到的知识点(初版),其中AXI协议也是PCIe知识体量中的一部分,所以先花一部分篇幅把AXI知识总结一下,具体如下:

手把手教你用Python实现Vivado和ModelSim仿真自动化

芯片设计从RTL代码一直到最后流片的GDSII文件,都是文本文件,因此,掌握文本分析处理语言是集成电路设计的一项重要的基本功。本文是孙义雯同学采用Python语言实现的Vivado和Modelsim联合仿真的自动化脚本,已经在实际项目中经过较长时间的检验,今天开源出来,供大家学习,欢迎留言交流心得体会和改进建议

ZYNQ7000系列MIO/EMIO/AXI_GPIO接口

PS 和外部接口之间的通信主要是通过复用的输入 / 输出( Multiplexed Input/Output,MIO)实现的,它提供了可以做灵活配置的 54 个引脚,这表明外部设备和引脚之间的映射是可以按需定义的。这样的连接也可以通过扩展 MIO (ExtendedMIO,EMIO)来实现

【实用篇】FPGA工程师所需掌握的基本能力

想成为一名FPGA工程师,对FPGA的结构是必须要掌握的。FPGA芯片主要是:可编程I/O单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块这六部分组成。

【干货】Python 十大装 B 语法

Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码

Hold Time违例,该如何解决

首先,我们要知道的是,Hold Time违例,是因为时钟绕的太远,到达时间太晚。而且综合之后给出的时序报告都是估计值,因此综合之后可以不考虑Hold Time,只考虑Setup Time;即便此时Hold Time违例,我们也不需要去理会

【tcl学习】vivado write_edif

EDF文件可以直接导入Vivado,而无需Verilog源文件。

好处:

(1) 避免沙雕队友修改源代码,则可以直接提交EDF网表文件。

(2) 避免用户剽窃劳动成果,保护自己的知识产权。

(3) 对于无需更改的设计复用,直接用EDF网表会贼方便。

Vivado时序收敛技术(二) 时序违例的根本原因及解决方法

本文整理自Xilinx公开课:Vivado时序收敛技术。有些知识在公开课中讲的并不是很细,因此我又对其进行了整理,分为了几篇文章。

【tcl学习】vivado write_project_tcl

每次创建vivado工程时都会生成大量的文件,这样一方面导致占用的磁盘空间很大,另一方面也不利于vivado工程的copy和github上传等操作。这里教大家一个简单又实用的方法,将工程保存成xxx.tcl,只保留ip ,verilog/vhdl和xdc等必要文件即可。

PCIe系列第八讲、MSI和MSI-X中断机制

本章将着重讲述PCIe的MSI和MSI-X中断机制,在FPGA应用中主要通过XDMA中断与上位机进行通信。

使用SystemVerilog简化FPGA中的接口

 FPGA工程师们应该都会吐槽Verilog的语法,相当的不友好,尤其是对于有很多接口的模块,像AXI4/AXI-Lite这种常用的总线接口,动不动就好几十根线,写起来是相当费劲。当然现在Xilinx推荐使用纯bd文件的方式来设计FPGA,这样HDL代码就会少了很多

Vivado IP核锁定的解除方法

发生IP核锁定,一般是Vivado版本不同导致的,下面介绍几种方法:

FPGA与LVDS信号兼容性分析方法

很多工程师在使用Xilinx开发板时都注意到了一个问题,就是开发板中将LVDS的时钟输入(1.8V电平)连接到了VCCO=2.5V或者3.3V的Bank上,于是产生了关于FPGA引脚与LVDS(以及LVDS-33,LVDS-25)信号相连时兼容性的问题,该专题就解决一下这类问题。

ADC数据接入到AXI-Steam Interface

如果说要在AXI、AXI-Lite、AXI-Stream中选一种最喜欢的类型,我选择Stream总线,因为这是最简单的类型,而且使用起来非常方便,五个通道就剩数据传输,就像网络通信中的TCP与UDP,UDP用起来更简洁。