
FPGA
weiweiliulu
这个作者很懒,什么都没留下…
展开
-
AXI4 Stream Switch使用心得
关于这个ip的内容讲解,在 https://blog.csdn.net/xdczj/article/details/72058100 上面已经讲解的比较详细了,刚接触这个ip可以先看一下,这个博客是关于我使用这个ip的一些小注意事项。 第一点是IP的生成,官方的IP显示应该是有BUG,我的使用需求是3从1主做仲裁,然后在IP显示图中显示了三组AXIs从接口,但是每个从接口是主接口的位宽的3倍,...转载 2021-09-03 17:02:30 · 1777 阅读 · 0 评论 -
先装vivado 再装ise ,用ise 下载代码识别不到JTAG
1, 最开始打开设备管理器是这样的,vivado 可以识别,ise 不能识别2, 后来,插上JTAG ,卸载这个驱动,同时删除驱动文件(我用两个电脑都尝试过,不删除驱动文件只是卸载驱动,虽然在ISE 路径下也安装了新的驱动,但是连上JTAG 后,还是识别为上图那样)。然后,拔掉JTAG , 去ise 路径下安装digilent 和install_driverE:\soft\ise14.7_install\14.7\ISE_DS\ISE\bin\nt64 64 位操作系统,注意使用NT64 .ins原创 2021-08-30 17:19:11 · 5026 阅读 · 2 评论 -
vivado有关波形文件的操作
1、 保存波形配置再调试的过程中,我们会更改一些变量显示的先后顺序、颜色、进制表示。如果更改的较多,每次打开的时候都要重新配置一下会很麻烦。这里可以保存配置文件,下次打开对应的.wcfg文件即可使用上次保存的配置。图 最开始默认的仿真波形图 更改了先后顺序和颜色下面保存配置,看等会再打开是这样的不图 波形配置的方法下一步,关闭波形文件,重新打开仿真,默认就是更新过的。如果显示的配置不是你想要的,可以找到你要使用的配置文件的路径,然后打开即可2、保存仿真后的波形文件有时候我们原创 2021-07-29 17:05:51 · 11535 阅读 · 1 评论 -
verilog对文件的操作
1、读文件到memory的操作假设仿真的时候,某个变量需要输入一堆数据,能想到的具体应用就是做协议解析的时候。以往的做法是把数据提前存入ROM中,从ROM 中读取数据,但是这样操作得添加控制ROM的代码,还浪费了一些资源,不太适合仿真。看到有读文件的操作,就尝试一下。//============= 顶层设计模块===================//module top( input I_clk , input I_rst ,原创 2021-07-29 15:36:56 · 849 阅读 · 0 评论 -
AXI DataMover ip 核 (一)
 ...转载 2021-07-26 14:58:16 · 5834 阅读 · 1 评论 -
VIVADO eco 功能
ECO 是指不改变原有的设计的基础上做小范围的修改,比如修改cell属性、增减或移动cell、手动局部布线。我们以vivado 中修改ILA 信号为列,看一下如何使用ECO .1)首先 ,打开DCP文件,这一定是一个综合、布局布线完成的设计工程,注意选择是routed DCP文件2) 打开后,切换到ECO 模式3)添加/ 修改ILA 变量4) 保存DCP 和LTX 文件,同时也可以看到ila 上面是有变化的5)在ECO 界面中,生成新的BIT 文件。生产完成后...原创 2021-07-26 14:25:56 · 2913 阅读 · 0 评论 -
LVDS OSERDESE2 原语
目录1.AD91482. ad9739在很多高速DA芯片中,都是高速串行输出LVDS数据。这显然不能用fpga Verilog 语言直接写代码进行采样,需要用到专门的 iserdese 原语。一直不懂的是,时钟,并行数据宽度,并行数据位宽的先后顺序,多bit 输出怎么级联,等等。并行数据宽度,有几个,不是随便定义的,要按照上表的说明来。有两套可以学习的代码,一个是AD9148,一个是AD9739 这个不光是看芯片手册,还需要看硬件上原理图。自己没有动手调试过,看别人代码,整理的.原创 2021-02-07 16:40:45 · 2330 阅读 · 1 评论 -
vivado使用TCL命令产生MCS文件
一、vivado生成MCS文件,使用TCL命令如下: 1、打开Open Hardware Manager 2、Tools -> Auto Connect 3、TCL输入: write_cfgmem -format MCS -size 128 -interface BPIx16 -loadbit "up 0x0 xxx.bit" xxx.mcs -fromat mcs 指定生成格式 -inte...转载 2021-01-25 17:54:33 · 1571 阅读 · 0 评论 -
vivado 下载代码到flash
1. 生成MCS 文件第一步:首先生成比特流文件。假设生成的比特文件名字是 led.bit。 第二步:选择工具栏的“Tools"—>"GenerateMemory Configuration File..."打开如下图所示的页面。2. 固化有一次,用SPI X4 报错,在XDC 文件中添加这句话即可set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]...原创 2020-09-08 11:23:40 · 2526 阅读 · 0 评论 -
异步复位 同步释放
目录1. 同步复位2. 异步复位3 异步复位 同步释放在实际的工程中选择复位策略之前必须考虑许多设计方面的问题,如使用同步复位或者异步复位或者异步复位同步释放(Asynchronous Reset Synchronous Release或者Synchronized Asynchronous Reset),以及是否每一个触发器都需要进行复位。复位的基本目的是使器件进入到可以稳定工作的确定状态,这避免了器件在上电后进入到随机状态导致跑飞了。在实际设计过程中,设计者必须选择最适合于...原创 2020-08-19 17:32:39 · 474 阅读 · 0 评论 -
EMIF接口时序和参考代码
EMIF是External Memory Interface的简称。它是DSP比较强大的地方之一。通过EMIF接口,使得DSP可以和FPGA很方便的进行大数据量的数据传输。EMIF输入输出信号图如下所示:上面是官方文档给出的EMIF模块的接口示意图,比较复杂。但是和FPGA通信所使用的引脚比较少,下面用红色框标注出来。AED 数据总线AEA 地址总线ACE2 片选信号(低有效)AECLKOUT ...原创 2020-08-19 14:01:08 · 12808 阅读 · 8 评论 -
JESD204B 协议解析和参数理解
1. 概述 在JESD204接口出现以前,数模转换器的数字接口绝大多数是差分LVDS的接口,这就造成了布板的困难,当PCB的密度很大的时候就需要增加板层从而造成制版的成本。但是JESD204需要进行严格的同步和时延的测量,接口逻辑会比LVDS复杂。JESD204 有不同的版本,但是大部分用的subclass1。2. 时钟 device clock 是器件工作的主时钟,一般在模数转换器里为采样时钟或者整数倍频的时钟,其协议本身的帧和多帧时钟也是基于device clock 。...原创 2020-08-19 10:58:24 · 11004 阅读 · 0 评论 -
AXI BRAM control 用法
我自己做了一个小的例程,是TRUE BRAM +AXI BRAM control 的方式来处理的。原始数据用DDS产生,数据速率是122.88M。然后送入到RAM中,通过AXI BRAM control 把RAM中数据送到zynq接口中。原创 2020-08-18 15:35:42 · 4678 阅读 · 1 评论 -
Vivado中AXI IP核的创建和读写逻辑分析
Vivado中AXI IP核的创建和读写逻辑分析总述本文包含两部分内容:1)AXI接口简介;2)AXI IP核的创建流程及读写逻辑分析。1 AXI简介(本部分内容参考官网资料翻译)自定义IP核是Zynq学习与开发中的难点,AXI IP核又是十分常用的自定义IP核,因此掌握AXI IP核的创建流程及通信机制显得尤为重要。要搞懂AXI IP核,就必须...转载 2020-08-18 15:26:25 · 2522 阅读 · 0 评论 -
7 series FPGA 高速收发器
RX 信号从AFE (模拟前端)进来之后,首先经过RX均衡器,均衡器的主要作用是用于补偿信号在信道传输过程中的高频损失,因为信道是带宽受限的,所以信号经过它必将造成衰减甚至遭到破坏。RX接收端的均衡器首先外部数据进来之后经过均衡器,紧接着均衡器出来的数据就进入时钟恢复电路。GTX使用相位旋转CDR结构,从DFE进来的数据分别被边缘采样器和数据采样器捕获,然后CDR状态机根据两者决定数据流的相位并反馈控制相位内插器,当数据采样器的位置位于眼图中央的时候边缘采样器锁定到数据流的传输域。其中CPLL或原创 2020-08-18 14:58:54 · 599 阅读 · 0 评论 -
跨时钟操作
目录1 电平同步2.边沿检测3 脉冲同步跨时钟的操作的重要性这里就不需要在赘述了,推荐一个比较经典的文章就是 《跨越鸿沟 同步世界中的异步信号》,建议这个文章和此博文搭配起来看。https://wenku.baidu.com/view/3b84da0f844769eae009ed5e.html为了使同步工作能正常进行,从某个时钟域传来的信号应先通过原时钟域上的一个触发器,然后不经过两个时钟域间的任何组合逻辑,直接进度同步器的第一个触发器中。主要讲跨时钟域时候,1bit信...原创 2020-08-14 16:42:19 · 966 阅读 · 0 评论 -
DMA测试(Direct Register Mode)(PS + PL)
ZedBorad–(5)嵌入式Linux下的DMA测试(PS+PL)本文将详细介绍如何在ZedBorad上使用AXI接口的DMA IP核。(文末会给出测试代码的...转载 2020-07-23 18:00:20 · 3195 阅读 · 0 评论 -
AURORA核多通道绑定使用注意事项
正文在Aurora片间接口的调试中,一共需要用到两片FPGA,为达到速率的要求,所以Aurora需要采用主从双核,双通道绑定的工作模式,一共需要四个GTX(一个GTX 支持4Gbps的速率,一个Aurora核使用两个GTX,所以本例程中一个Aurora核最高支持8Gbps的速率)来完成片间数据的传输工作。 ...转载 2020-07-22 15:03:37 · 5018 阅读 · 0 评论 -
vivado 编辑与改写IP核源文件
有些时候,根据设计需求可能会想要修改IP核生成的源文件(只能修改未加密文件),包括HDL文件和XDC约束文件。 这种修改不能直接修改源文件,因为在后续设计流程中,...转载 2020-07-21 15:50:43 · 6689 阅读 · 0 评论 -
警告记录 - [Timing 38-316] Clock period ‘10.000‘ specified during out-of-context synthesis of instance
参考链接:https://blog.csdn.net/hq1097/article/details/84657019[Timing 38-316] Clock period '10.000' specified during out-of-context synthesis of instance 'ila_Top_inst' at clock pin 'clk' is different from the actual clock period '5.000', this can lead to.原创 2020-07-16 15:50:02 · 3245 阅读 · 0 评论 -
Vivado创建带AXI slave接口的IP—PS控制PL侧的LED
目录1. 1 创建AXI slave IP1.2 修改AXI slave IP的2个文件1.3 重新封装IP1.4 新建BD添加IP(PS core IP+AXI slave IP)1.5 修改PS core IP1.5.1 引出DDR端口1.5.2 引出FIXED_IO端口1.5.3 DDR配置1.6 引出...转载 2020-07-14 16:24:39 · 3139 阅读 · 0 评论 -
ZYNQ 之PS 和PL 互联技术之AXI
1. ZYNQ 概述2. AXI 概述AXI (Advanced eXtensible Interface)是xilinx 从6系列fpga开始引入的一个接口协议,主要描述了主设备和从设备之间的数据传输方式。主设备和从设备之间通过握手信号建立连接。当从设备准备好接收数据时,会发出ready信号。当主设备的数据准备好时,会发出和维持VALID信号,表示数据有效。数据只有在valid 和ready信号都有效的时候才开始传输。 在zynq中,支持AXI-LITE,AXI4 和AXI S...原创 2020-06-29 16:02:14 · 1802 阅读 · 0 评论 -
vivado 连不上jtag
今天发现一个问题:自己焊线接到JTAG时,发现vivado连不上板子,经过如处处理才解决:1:根据https://blog.csdn.net/qq_41782582/article/details/89503893只不过我的电脑是win7,所以Vivado\2017.4\data\xicom\cable_drivers\nt64\dlc10_win7中运行install_drivers.ext,不过还是连不上板子;2:然后,我再进入...cable_drivers\nt64\digilent...原创 2020-06-05 18:38:58 · 2211 阅读 · 1 评论 -
带通采样定理
带通采样过程分析 除了低通采样定理以外,还有用途更广的一种采样方法。这就是带通采样。大家知道,低通采样的中心频率是0Hz。如果中心频率不是0,那么我们就要使用另外一种方法了。看下图2-7(a),中心频率为20MHz,带宽B= 5MHz。我们使用带通采样来处理连续信号。这里我们关心的更多的是中心频率fcfc,高频部分是22.5MHz,如果采用奈奎斯特的采样法,那么我们的采样率是45Mhz。这显然是一种浪费。我么用17.5Mhz就够了。如图2-7(b)所示。 带通采样也是一种采样,采样.转载 2020-06-04 18:17:09 · 14386 阅读 · 0 评论 -
JESD204B协议基础知识
1.JESD204B优势 JESD204是基于SERDES的串行接口标准,主要用于数模转换器和逻辑器件之间的数据传输,最早版本的是JESD204A,现在是JESD204B subclass0,subclass1,subclass2。区别主要在于对齐同步和链路间固定时差的测量。目前市场上比较多的数模转换器接口是JESD204Bsubclass1。其最大传输速率可达12.5Gbps,支持多链路和多器件的同步以及固定时差的测量。2. 关键变量M :converters/device , 转换...原创 2020-06-02 17:03:06 · 20598 阅读 · 3 评论 -
FPGA中加扰与解扰的实现
FPGA中加扰与解扰的实现 ...转载 2020-06-02 10:49:40 · 4527 阅读 · 0 评论 -
SATA协议14种FIS介绍
FIS(Frame Information Structure)解析FIS是一种用于Host和device之间信息传输的机制,每个FIS的格式都是固定的,并且对应唯一的ID,SATA Spec定义了14类FIS ID。但是,实际上,我们用到主要是8类:FIS TypeFIS IDDiscriptio...转载 2020-05-27 15:12:49 · 2511 阅读 · 0 评论 -
SATA控制器学习资料整理
1. 参考资料首先,先推荐几个好的参考资料https://www.doc88.com/p-592167157036.html这是一个中文论文,可以先看中文的,再看下面英文的,英文的比中文 的写的详细https://download.csdn.net/download/weiweiliulu/12465007其实就是Design of an Open-Source Sata Core for Virtex-4 FPGAs这篇英文论文2. SATA结构SATA 的每一层都分工明确..原创 2020-05-27 15:03:13 · 3580 阅读 · 0 评论 -
vivado 下的microblaze系统搭建
FPGA硬件逻辑独有的并行性使其在实时处理和并行算法中占尽优势,但当执行串行操作时却需要使用笨重的状态机来完成。因此,要实现对实时性要求不高的串行操作,对各类IP核的总体控制调度,亦或是快速移植软件协议栈时,利用fpga内部CPU 是个比较好的选择。 下面描述怎么搭建一个最小的microblaze软核,以及各个模块的意义。create block design,添加microblaze软核。配置添加microblaze之后,点击 run block automation这里...原创 2020-05-25 15:45:04 · 4398 阅读 · 1 评论 -
GT高速接口通关简介
1、GT基础知识 SATA 接口只有几根线为什么那么快?连上网线显示的10Gbps(万兆网)是不是很令人兴奋!没错,他们都用了高速GTX技术、GTX全称Gigabit transceiver,是为了满足高速、实时传输而生的技术。传统的并行传输技术存在抗干扰能力低,同步能力差,传输速度低和信号质量差等问题。GTX目前的线速度范围是1Gbps - 12Gbps,有效负载范围0.8Gbps - 10Gbps。目前GTX已经应用于光纤通道(FC),PCIE,Rapid io,串行SATA ,千兆以太网,万..原创 2020-05-20 18:54:59 · 9482 阅读 · 0 评论 -
zynq 固化程序
目录1. 工程搭建2. 生成FSBL3. 创建BOOT文件4. SD卡启动测试5.QSPI启动测试6.在vivado 下烧写QSPI1. 工程搭建平台采用AX7Z100开发平台。1) 首先搭建好zynq框架,有一个完整的工程。2)要固化程序必须使能 QSPI 或SD卡。由于开发板上是由两颗QSPI flash 组成8位的QSPI,因此这里选择Dual Quad SPI (8 bit ),选择feedback 连接到MIO8 。3)添加 SD0...原创 2020-05-20 11:22:19 · 6799 阅读 · 0 评论 -
GTX/GTH QPLL CPLL学习之Aurora
目录1 基础知识2 Aurora 使用过程中报错1 基础知识Xilinx的7系列FPGA随着集成度的提高,其高速串行收发器不再独占一个单独的参考时钟,而是以Quad来对串行高速收发器进行分组,四个串行高速收发器和一个COMMOM(QPLL)组成一个Quad,每一个串行高速收发器称为一个Channel。QPLL和CPLL的区别,在于两者支持的线速率不同,对于CPLL来说,支持的线速率位1.6GHz到3.3GHZ之间,而对于QPLL来说,GTX支持的线速率分两档,Low...原创 2020-05-19 19:05:19 · 8977 阅读 · 0 评论 -
10G Ethernet PCS/PMA IP 核
目录1 代码说明2 时序说明一个完整的10G以太网接口分为10G PHY和10G MAC两部分。上一节对MAC进行过介绍,这里主要讲PHY。通常都会用PHY芯片,目前vivado也有PHY 对应的IP 核10G Ethernet PCS/PMA。1 代码说明可以查看一下RTL级原理图,详细看一下送入核的时钟核复位。2 时序说明...原创 2020-05-15 15:47:39 · 7383 阅读 · 0 评论 -
10G Ethernet Mac IP核
1. 10G以太网结构一个完整的10G以太网接口分为10G PHY和10G MAC两部分。如下图所示1.1 以太网媒体接入控制器(MAC)主要负责控制与连接物理层的物理介质.在发送数据的时候,MAC协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至LLC层.看图上,输入端是用户接口,输出端是MII等延伸的接口。MII(Medi.原创 2020-05-14 17:19:06 · 6955 阅读 · 5 评论 -
控制信号(单脉冲信号)的跨时钟域传输问题
控制信号(单脉冲信号)的跨时钟域传输问题存在两种情况,一种是从快时钟域到慢时钟域传输,如果用慢时钟强行采样快时钟域内的控制信号,可能存在采样不到信号的情况,而且很大概率采不到信号;另一种情况是从慢时钟域到快时钟域的控制信号传输问题,这种情况,快时钟一定能采样到慢时钟域内的控制信号,但是可能...转载 2020-05-09 17:57:13 · 1184 阅读 · 0 评论 -
SRIO IP 数据发送时代码复位的问题
SRIO 调试期间,抓取送入IP核的数据,没有错误,但是对端收到的数据,感觉第一包数据和第二包数据不连续,一包数据16KB。具体记不清了,大致就是,第二包最开始收到的数据不是数据帧头,最后查验,是第一包数据的一部分,然后才是第二包数据的帧头。 最后查找问题,是发送端数据复位的问题。比如,一次SRIO 发送256字节的数据,下面assign 是SRIO NWRITE包,定义了...原创 2020-04-23 14:44:02 · 1081 阅读 · 0 评论 -
vivado Mark debug 方式添加测试端口
在线调试,可以用ila,也可以用debug。平时我都用的ila或者chipscope。但是在block开发方式下,module里面不能含有IP核,否则add module失败。当然也可以把module封装成IP核,然后在block中添加。自己开发的时候,又懒得把所有模块封装成IP核,耗时,麻烦。这样想要添加测试信号的时候,就需要用到debug。 在使用chipscope的时候...原创 2020-04-23 11:06:28 · 6169 阅读 · 0 评论 -
VIVADO inout 端口的使用
使用2018.1版本编译带有INOUT 端口的代码,代码逻辑没问题,写了三态控制。但是下板子,inout端口输入数据一直是0。最终查找原因,看RTL级原理图,并没有三态控制,端口信号只是被认为一个简单的输出信号。后来,用IOBUF 代替 assign 语句描述的三态控制问题得到解决。 IOBUF #( .DRIVE(12), // Speci...原创 2020-04-22 18:47:22 · 6931 阅读 · 1 评论 -
fpga的网表文件
第三方给的代码,有可能会被封装成网表文件,而没有源码。没亲自操作过,不是很懂。目前别人给的一个代码,vivado 开发,其模块就封装成EDF文件,看不到源码。网上看vivado 还有一种网表文件格式 dcp.我知道官方自带的IP核平时用的时候,可以只添加XCI 文件即可对于ISE工具,网表文件是NGC 。...原创 2020-04-21 16:18:01 · 4189 阅读 · 0 评论 -
DDR 学习4 不用AXI 方式的DDR IP核控制
ddr 400Mmig 200Muser 200Mddr data_width 64user data_width256https://blog.csdn.net/MaoChuangAn/article/details/85268231https://www.docin.com/p-2111794929.htmlhttps://blog.csdn.net/SLAM_ma...原创 2020-04-21 16:14:58 · 623 阅读 · 0 评论