xilinx
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 · 1570 阅读 · 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 · 4389 阅读 · 2 评论 -
vivado有关波形文件的操作
1、 保存波形配置再调试的过程中,我们会更改一些变量显示的先后顺序、颜色、进制表示。如果更改的较多,每次打开的时候都要重新配置一下会很麻烦。这里可以保存配置文件,下次打开对应的.wcfg文件即可使用上次保存的配置。图 最开始默认的仿真波形图 更改了先后顺序和颜色下面保存配置,看等会再打开是这样的不图 波形配置的方法下一步,关闭波形文件,重新打开仿真,默认就是更新过的。如果显示的配置不是你想要的,可以找到你要使用的配置文件的路径,然后打开即可2、保存仿真后的波形文件有时候我们原创 2021-07-29 17:05:51 · 10791 阅读 · 1 评论 -
verilog对文件的操作
1、读文件到memory的操作假设仿真的时候,某个变量需要输入一堆数据,能想到的具体应用就是做协议解析的时候。以往的做法是把数据提前存入ROM中,从ROM 中读取数据,但是这样操作得添加控制ROM的代码,还浪费了一些资源,不太适合仿真。看到有读文件的操作,就尝试一下。//============= 顶层设计模块===================//module top( input I_clk , input I_rst ,原创 2021-07-29 15:36:56 · 769 阅读 · 0 评论 -
AXI DataMover ip 核 (一)
 ...转载 2021-07-26 14:58:16 · 4596 阅读 · 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 · 2535 阅读 · 0 评论 -
vivado iBert 测试
以上配置完成后自动生成IP 的example 。不用分配引脚,直接使用就可以。原创 2021-03-24 11:08:16 · 1225 阅读 · 0 评论 -
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 · 1362 阅读 · 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 · 2329 阅读 · 0 评论 -
AXI BRAM control 用法
我自己做了一个小的例程,是TRUE BRAM +AXI BRAM control 的方式来处理的。原始数据用DDS产生,数据速率是122.88M。然后送入到RAM中,通过AXI BRAM control 把RAM中数据送到zynq接口中。原创 2020-08-18 15:35:42 · 4387 阅读 · 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 · 2149 阅读 · 0 评论 -
DMA测试(Direct Register Mode)(PS + PL)
ZedBorad–(5)嵌入式Linux下的DMA测试(PS+PL)本文将详细介绍如何在ZedBorad上使用AXI接口的DMA IP核。(文末会给出测试代码的...转载 2020-07-23 18:00:20 · 3057 阅读 · 0 评论 -
AURORA核多通道绑定使用注意事项
正文在Aurora片间接口的调试中,一共需要用到两片FPGA,为达到速率的要求,所以Aurora需要采用主从双核,双通道绑定的工作模式,一共需要四个GTX(一个GTX 支持4Gbps的速率,一个Aurora核使用两个GTX,所以本例程中一个Aurora核最高支持8Gbps的速率)来完成片间数据的传输工作。 ...转载 2020-07-22 15:03:37 · 3803 阅读 · 0 评论 -
vivado 编辑与改写IP核源文件
有些时候,根据设计需求可能会想要修改IP核生成的源文件(只能修改未加密文件),包括HDL文件和XDC约束文件。 这种修改不能直接修改源文件,因为在后续设计流程中,...转载 2020-07-21 15:50:43 · 6003 阅读 · 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 · 2758 阅读 · 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 · 1662 阅读 · 0 评论 -
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 · 8831 阅读 · 0 评论 -
Xilinx 系列 FPGA 高速收发器的一些知识
GT的意思是Gigabyte Transceiver ,G比特收发器,通常叫serdes 、高速收发器。GT有GTP GTX GTH GTZ 。TX和RX:严格说TX应该是Transmitter ,表示发送部分,RX是Receiver .,表示接受部分 。包含两大部分,PMA PCS。PMA主要功能是 : 串并转换和模拟部分。PCS主要是并行数字电路处理。ibert 是Xil...原创 2019-07-02 15:57:22 · 7534 阅读 · 6 评论 -
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 · 6572 阅读 · 0 评论 -
fpga 如何用VIO
在硬件调试过程中,经常会遇到这种情况。我们需要抓的时序可能刚上电的时候就有,等我们开始抓取波形的时候,该时序已经不能正常获取了。这就需要我们添加一个VIO ,下载完代码以后,触发VIO 产生一个使能信号,用该使能信号做逻辑触发,抓取时序波形。 将上述IP核生成好,添加到代码中。测试的时候,输出默认是0,运行VIO 以后输出1 。用1 做触发,做逻辑的使能...原创 2020-04-23 18:16:59 · 5616 阅读 · 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 · 5739 阅读 · 0 评论 -
VIVADO inout 端口的使用
使用2018.1版本编译带有INOUT 端口的代码,代码逻辑没问题,写了三态控制。但是下板子,inout端口输入数据一直是0。最终查找原因,看RTL级原理图,并没有三态控制,端口信号只是被认为一个简单的输出信号。后来,用IOBUF 代替 assign 语句描述的三态控制问题得到解决。 IOBUF #( .DRIVE(12), // Speci...原创 2020-04-22 18:47:22 · 6244 阅读 · 1 评论 -
fpga的网表文件
第三方给的代码,有可能会被封装成网表文件,而没有源码。没亲自操作过,不是很懂。目前别人给的一个代码,vivado 开发,其模块就封装成EDF文件,看不到源码。网上看vivado 还有一种网表文件格式 dcp.我知道官方自带的IP核平时用的时候,可以只添加XCI 文件即可对于ISE工具,网表文件是NGC 。...原创 2020-04-21 16:18:01 · 4052 阅读 · 0 评论 -
XILINX 7 系列FPGA内部逻辑分析
1、可编程逻辑资源 (configurable logic block ,CLB) CLB在FPGA中最为丰富,由两个slice(片)构成:SLICEL(L:logic) 和SLICEM(M:memory)之分,因此CLB可分为CLBLL和CLBLM两类。一个芯片差不多2/3是SLICEL,1/3是SLICEM。 SLICEL和SLICEM内部都包含4个6输入查找表...原创 2020-04-21 15:43:14 · 1067 阅读 · 0 评论 -
Verilog的generate的用法
generate生成语句可以动态的生成verilog代码,当对矢量中的多个位进行重复操作时,或者当进行多个模块的实例引用的重复操作时,或者根据参数的定义来确定程序中是否应该包含某段Verilog代码的时候,使用生成语句能大大简化程序的编写过程。生成语句生成的实例范围,关键字generate-endgenerate用来指定该范围。生成实例可以是以下的一个或多个类型:...原创 2020-04-10 12:00:51 · 634 阅读 · 0 评论 -
verilog 语法 +: 的说明
形如 : reg [0+:8] data ; 等同于 reg [7:0] data ; 从0 开始,升序,位宽8。 reg [8-:0] data ; 等同于 reg [0:7] data ; 从0 开始,降序,位宽8。 ...原创 2020-04-10 11:26:43 · 5953 阅读 · 3 评论 -
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 · 574 阅读 · 0 评论 -
verilog log 函数,算一个数据的位宽
function integer log2; input integer number; begin log2=0; while(2**log2<number) begin log2=log2+1; end end ...原创 2020-03-26 10:17:23 · 3604 阅读 · 0 评论 -
verilog 函数function 用法,举例计算数据位宽
function integer log2; // 函数定义关键词 function endfunction 。log2 既是函数名也是函数返回值。log2相当于一个变量名,变 // 量类型和位宽就是 函数名log2前面的 integer input inte...原创 2020-01-16 15:01:14 · 2745 阅读 · 0 评论 -
rapid io 学习之1
好用的学习网站认真看下面的链接就可以把rapid io 的知识搞明白。https://www.cnblogs.com/lionsde/p/10109523.html IP学习过程中,主要注意以下内容:rapid io协议不用看,FPGA IP 核为了简化应用,在用户接口上已经把复杂的rapid io 数据包简化为hello包。在使用IP 核的时候,只需要看懂hell...原创 2019-12-23 18:28:00 · 2412 阅读 · 0 评论 -
BUFG,IBUFG,BUFGP,IBUFGDS等含义以及使用
目前,大型设计一般推荐使用同步时序电路。同步时序电路基于时钟触发沿设计,对时钟的周期、占空比、延时和抖动提出了更高的要求。为了满足同步时序设计的要求,一般在FPGA设计中采用全局时钟资源驱动设计的主时钟,以达到最低的时钟抖动和延迟。 FPGA全局时钟资源一般使用全铜层工艺实现,并设计了专用时钟缓冲与驱动结构,从而使全局时钟到达芯片内部的所有可配置单元(CLB)、I/O单元(IOB)和选择性块RAM...原创 2014-04-19 14:32:41 · 2367 阅读 · 0 评论 -
ISE自带仿真器
1、在hierarchy 中,右键,可以选择你想使用的仿真软件,是modelsim还是ISim(ISE默认的)。2、在使用ISE 时,默认仿真时间是1 us。可以点击run for the time specified the toolbar (时间左边第一个按钮) 可以再仿真1us3、默认的ISE波形窗口,只显示顶层的IO端口。其实,子程序中的IO端口以及中间变量都可以显示的。操作方原创 2014-01-14 18:14:15 · 6156 阅读 · 0 评论 -
VIVADO 下载mcs 文件
vivado 下载MCS 文件,在网上看的大部分都是输入TCL 命令。其实,早就有图形化界面了。生成完后添加MCS文件到FLASH中就很方便了。方法:像往常一样打开少些比特流的页面。选中芯片——>右键——>add configuration memory device——>选择自己板卡对应的FLASH——>添加MCS文件,“ok”完成。烧写过程比较慢。...原创 2019-08-12 14:02:21 · 4328 阅读 · 0 评论 -
【Linux软件安装】Ubuntu12.04: Xilinx ISE 14.6
Installing ISE1、从官网下载ISE2、解压一定要在linux下解压[python] view plaincopyprint?$ sudo tar xvf Xilinx_ISE_DS_Lin_14.6_P.68d_3.tar [sudo] password for yunz: #unpakging......原创 2014-04-10 14:15:07 · 6658 阅读 · 0 评论 -
xilinx 不能自动安装USB 驱动
大部分情况下可以自动安装驱动,但有的不可以就原创 2014-07-24 14:52:05 · 17234 阅读 · 0 评论 -
ISE 使用时遇到的问题
1、 第一次在xilinx和modelsim联合仿真的时候出现这种错误 Error: (vopt-19) Failed to access library 'xilinxcorelib_ver' at "xilinxcorelib_ver". # No such file or directory. 意思是找不到xilinxcorelib库,按照如下方法更改之后好了:再在modelsim原创 2013-12-18 18:27:50 · 7669 阅读 · 0 评论 -
spartan 6 锁相环输出不能直接连普通IO等PLL问题
my_pll my_pll_inst ( .CLK_IN1(GCLK_FPGA), //50M .CLK_OUT1(clk_232),//1.667M .CLK_OUT2(clk_spi),//10M .CLK_OUT3(FPGA_GCLK),//50M . LOCKED() );原创 2014-04-15 17:25:49 · 3249 阅读 · 1 评论 -
缺少环境变量导致Xilinx Platform Studio无法打开之解决方法
http://hi.baidu.com/feitianyulong/item/b858b3203273888daf48f598 安装好Xilinx ISE Design Suit 12.1后,ISE可以正常打开,但是Xilinx Platform Studio却无法打开,弹出的DOS窗口提示说——“Environment variable XILINX is not set - A c转载 2014-04-11 17:15:23 · 2961 阅读 · 0 评论 -
Ubuntu下运行XILINX ISE
最近在学FPGA,刚开始用的是在windows下的XILINX ISE 10.1,平时ubuntu用的比较多,而且用起来方便,所以想在ubuntu下装一个XILINX ISE,但是发现安装过程比在windows下麻烦很多,不过现在已经可以正常运行和下载,所以写了这个帖子,把安装过程记录下来,说不定以后还会用到,也跟大家分享一下,下面进入正题。版本:Ubuntu 10.04 LTS转载 2014-04-10 10:41:13 · 1069 阅读 · 0 评论 -
Ubuntu 14.04 安装 Xilinx ISE 14.7 全过程
http://www.cnblogs.com/jianyungsun/archive/2010/12/06/1897664.html生命在于折腾。这个帖子作为我安装xilinx ISE 14.7版本一个记录。希望给需要的人一些帮助,这些内容绝大部分也是来源于互联网。软硬件: lsb_release -aNo LSB modules are available.D转载 2014-04-10 11:18:01 · 4440 阅读 · 0 评论