- 博客(202)
- 资源 (14)
- 收藏
- 关注
转载 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 1633
原创 先装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 4610 2
原创 vivado有关波形文件的操作
1、 保存波形配置再调试的过程中,我们会更改一些变量显示的先后顺序、颜色、进制表示。如果更改的较多,每次打开的时候都要重新配置一下会很麻烦。这里可以保存配置文件,下次打开对应的.wcfg文件即可使用上次保存的配置。图 最开始默认的仿真波形图 更改了先后顺序和颜色下面保存配置,看等会再打开是这样的不图 波形配置的方法下一步,关闭波形文件,重新打开仿真,默认就是更新过的。如果显示的配置不是你想要的,可以找到你要使用的配置文件的路径,然后打开即可2、保存仿真后的波形文件有时候我们
2021-07-29 17:05:51 11068 1
原创 verilog对文件的操作
1、读文件到memory的操作假设仿真的时候,某个变量需要输入一堆数据,能想到的具体应用就是做协议解析的时候。以往的做法是把数据提前存入ROM中,从ROM 中读取数据,但是这样操作得添加控制ROM的代码,还浪费了一些资源,不太适合仿真。看到有读文件的操作,就尝试一下。//============= 顶层设计模块===================//module top( input I_clk , input I_rst ,
2021-07-29 15:36:56 806
原创 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 2668
原创 Verilog 编码风格
感觉这个编码风格不错,后续会继续补充//---- module下面回车 ,敲4次空格,//---- input 后面两个空格//--- output 后面一个空格//---- wire 后面一个空格// ---- reg 后面一个空格//---- 代码启行,统一4个空格`timescale 1ns / 1psmodule demo ( input wire [00:0] i_clk , input wire [00:0] i_rst , ou
2021-06-24 15:54:28 270 1
原创 Verilog 命名规范
虽然写了很久的代码,但是感觉自己命名规范这块一直欠佳。经常为起名而纠结。现在整理一些别人比较好的命名规范。后面遇到好的持续更新……//====== 模块命名======// 1. 命名缩写:将模块英文名称的各个单词首字母结合起来,形成3到5个字符的缩写。 比如ArithmaTIc Logic
2021-06-24 09:47:20 6657 1
原创 Keil 使用
1. 用黑色的ARM点开setting ,能扫到芯片,就说明连接 正常。记得看一下是JTAG 连还是SWD 连2. 白色的盒子ST
2021-03-10 18:13:16 161
原创 LVDS OSERDESE2 原语
目录1.AD91482. ad9739在很多高速DA芯片中,都是高速串行输出LVDS数据。这显然不能用fpga Verilog 语言直接写代码进行采样,需要用到专门的 iserdese 原语。一直不懂的是,时钟,并行数据宽度,并行数据位宽的先后顺序,多bit 输出怎么级联,等等。并行数据宽度,有几个,不是随便定义的,要按照上表的说明来。有两套可以学习的代码,一个是AD9148,一个是AD9739 这个不光是看芯片手册,还需要看硬件上原理图。自己没有动手调试过,看别人代码,整理的.
2021-02-07 16:40:45 2229 1
原创 MATLAB 产生带宽信号
clcclear allclose all%%% 产生中心频率150Mhz ,带宽50Mhz, 采样率252Mhz的带宽信号Tp = 65.015e-6; % 发射时宽. 控制点数.比如要输出的点数是L, Tp = L /Fs . % 16384 / 252e6 = 65.015e-6 B = 50e6; %.
2021-01-29 10:49:02 9513 3
转载 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 1423
原创 个人常用matlab语法
目录1. 存文件,去掉科学计数法2. 混频,就是点乘3. 存数据为txt文件4. 滤波器5. 导入mat数据文件1. 存文件,去掉科学计数法fid = fopen('sr_m_test.txt','w');fprintf (fid,'%0.0f,\r',sr_m_test); %%0.14f 保留小数点后14位,存小数的时候去掉科学计数法,很有用.%0.0 就是没有小数fclose (fid);2. 混频,就是点乘sr_0_i=local_i.*sr_m_test(.
2020-12-09 10:06:00 217
原创 波束成形技术原理解析
目录1、引言2.什么是波束?3. 如何实现波束成形1、引言 大家一定有过这样的经验,在一间房间里当人不多时,手机信号很好;当许多人聚集到房间里的时候,手机信号就会变差,甚至没办法打电话。这种现象归根到底就是频谱复用做得不够好,无法给所有人分配必需的频谱资源。 有三种经典的频谱复用方法:即时分复用(典型应用:中国移动2G)、频分复用(典型应用:中国联通3G)和码分复用(典型应用:中国联通3G)。可以用一个例子来说明时分复用、频分复用和码分复用的区别。在一个屋子里...
2020-10-16 18:02:07 29702 4
原创 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 2406
原创 异步复位 同步释放
目录1. 同步复位2. 异步复位3 异步复位 同步释放在实际的工程中选择复位策略之前必须考虑许多设计方面的问题,如使用同步复位或者异步复位或者异步复位同步释放(Asynchronous Reset Synchronous Release或者Synchronized Asynchronous Reset),以及是否每一个触发器都需要进行复位。复位的基本目的是使器件进入到可以稳定工作的确定状态,这避免了器件在上电后进入到随机状态导致跑飞了。在实际设计过程中,设计者必须选择最适合于...
2020-08-19 17:32:39 408
原创 EMIF接口时序和参考代码
EMIF是External Memory Interface的简称。它是DSP比较强大的地方之一。通过EMIF接口,使得DSP可以和FPGA很方便的进行大数据量的数据传输。EMIF输入输出信号图如下所示:上面是官方文档给出的EMIF模块的接口示意图,比较复杂。但是和FPGA通信所使用的引脚比较少,下面用红色框标注出来。AED 数据总线AEA 地址总线ACE2 片选信号(低有效)AECLKOUT ...
2020-08-19 14:01:08 12328 8
原创 AD9361整体介绍
1、 Fir滤波器的阶数为64或128 而内插或抽取因子为:1、2或4。 HB1和HB2的内插或抽取因子为1或2而HB3的因子为1、2或3 BB_LPF为:三阶巴特沃斯低通滤波器,3dB点频率可编程,频率可编程范围为:Tx: 625Khz~32Mhz, Rx : 200Khz~39.2Mhz2、 ND_LPF为:第二级低通滤波器的频率可编程范围为2.7~100Mhz TIA_LPF为:第一级低通滤波器的频率可编程范围为1~70Mhz ADC_CLK = DAC_CLK或2*DAC...
2020-08-19 11:45:31 7045
原创 JESD204B 协议解析和参数理解
1. 概述 在JESD204接口出现以前,数模转换器的数字接口绝大多数是差分LVDS的接口,这就造成了布板的困难,当PCB的密度很大的时候就需要增加板层从而造成制版的成本。但是JESD204需要进行严格的同步和时延的测量,接口逻辑会比LVDS复杂。JESD204 有不同的版本,但是大部分用的subclass1。2. 时钟 device clock 是器件工作的主时钟,一般在模数转换器里为采样时钟或者整数倍频的时钟,其协议本身的帧和多帧时钟也是基于device clock 。...
2020-08-19 10:58:24 10349
原创 viterbit 译码 卷积编码
学习网址:https://www.zhihu.com/question/20136144https://www.doc88.com/p-5436827857500.html%实现1/2卷积编码。% function y=encoder_12(data)clc;clear all;% % data = [ 1 0 0 0 1 0 0 ]; %验证[1,1,1,0,1,1,0,0,1,1,1,0,1,1]; data = [ 1 0 0 1 0 ...
2020-08-18 15:40:33 1021
原创 AXI BRAM control 用法
我自己做了一个小的例程,是TRUE BRAM +AXI BRAM control 的方式来处理的。原始数据用DDS产生,数据速率是122.88M。然后送入到RAM中,通过AXI BRAM control 把RAM中数据送到zynq接口中。
2020-08-18 15:35:42 4507 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 2242
原创 7 series FPGA 高速收发器
RX 信号从AFE (模拟前端)进来之后,首先经过RX均衡器,均衡器的主要作用是用于补偿信号在信道传输过程中的高频损失,因为信道是带宽受限的,所以信号经过它必将造成衰减甚至遭到破坏。RX接收端的均衡器首先外部数据进来之后经过均衡器,紧接着均衡器出来的数据就进入时钟恢复电路。GTX使用相位旋转CDR结构,从DFE进来的数据分别被边缘采样器和数据采样器捕获,然后CDR状态机根据两者决定数据流的相位并反馈控制相位内插器,当数据采样器的位置位于眼图中央的时候边缘采样器锁定到数据流的传输域。其中CPLL或
2020-08-18 14:58:54 565
原创 跨时钟操作
目录1 电平同步2.边沿检测3 脉冲同步跨时钟的操作的重要性这里就不需要在赘述了,推荐一个比较经典的文章就是 《跨越鸿沟 同步世界中的异步信号》,建议这个文章和此博文搭配起来看。https://wenku.baidu.com/view/3b84da0f844769eae009ed5e.html为了使同步工作能正常进行,从某个时钟域传来的信号应先通过原时钟域上的一个触发器,然后不经过两个时钟域间的任何组合逻辑,直接进度同步器的第一个触发器中。主要讲跨时钟域时候,1bit信...
2020-08-14 16:42:19 933
转载 DMA测试(Direct Register Mode)(PS + PL)
ZedBorad–(5)嵌入式Linux下的DMA测试(PS+PL)本文将详细介绍如何在ZedBorad上使用AXI接口的DMA IP核。(文末会给出测试代码的...
2020-07-23 18:00:20 3107
转载 AURORA核多通道绑定使用注意事项
正文在Aurora片间接口的调试中,一共需要用到两片FPGA,为达到速率的要求,所以Aurora需要采用主从双核,双通道绑定的工作模式,一共需要四个GTX(一个GTX 支持4Gbps的速率,一个Aurora核使用两个GTX,所以本例程中一个Aurora核最高支持8Gbps的速率)来完成片间数据的传输工作。 ...
2020-07-22 15:03:37 4224
转载 vivado 编辑与改写IP核源文件
有些时候,根据设计需求可能会想要修改IP核生成的源文件(只能修改未加密文件),包括HDL文件和XDC约束文件。 这种修改不能直接修改源文件,因为在后续设计流程中,...
2020-07-21 15:50:43 6269
原创 警告记录 - [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 2944
转载 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 2854
原创 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 1710
原创 ADS6445开发笔记(2)---- LVDS 高速接口
从上一章节,芯片资料可以看到,串行输出LVDS数据的bit clock,都是400MHZ以上的。这显然不能用fpga Verilog 语言直接写代码进行采样,需要用到专门的 iserdese 原语。1. 数据接口时序图数据接口有很多中模式,这里只贴了一种的图上图可以看到以下几点:信号线分3类,数据采集时钟DCLK,帧同步信号FCLK,输入数据DATA 输入数据采样时钟默认是已经对齐了输入数据的中点,但帧时钟是和数据字边缘对齐 使用iserdese接收数据,idelay调整时钟延迟..
2020-06-11 18:48:34 6367 2
原创 ADS6445开发笔记(1)---- 芯片介绍
写这篇博客的时候,暂未调试ADS6445,只是想资料整理一下,方便自己理解、查看。中间可能会有一些理解错误的地方,欢迎大家批评指正。1. 芯片特性最大采样率125MSPS,可支持125/105/80/65MSPS采样 14bit分辨率 3.5db 粗增益和可编程高达6db增益 可编程调整SFDR(无杂散动态范围)/SNR(信噪比)之间的平衡 串行LVDS输出 支持Sine, LVCMOS,LVPECL,LVSD时钟输入,振幅可以下降到400mVPP2.应用范围基站中频接收机 多样性
2020-06-11 13:55:23 2604 1
原创 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 2071 1
转载 带通采样定理
带通采样过程分析 除了低通采样定理以外,还有用途更广的一种采样方法。这就是带通采样。大家知道,低通采样的中心频率是0Hz。如果中心频率不是0,那么我们就要使用另外一种方法了。看下图2-7(a),中心频率为20MHz,带宽B= 5MHz。我们使用带通采样来处理连续信号。这里我们关心的更多的是中心频率fcfc,高频部分是22.5MHz,如果采用奈奎斯特的采样法,那么我们的采样率是45Mhz。这显然是一种浪费。我么用17.5Mhz就够了。如图2-7(b)所示。 带通采样也是一种采样,采样.
2020-06-04 18:17:09 14213
转载 大话带通信号采样
带通采样过程分析 除了低通采样定理以外,还有用途更广的一种采样方法。这就是带通采样。大家知道,低通采样的中心频率是0Hz。如果中心频率不是0,那么我们就要使用...
2020-06-04 18:09:32 682
原创 JESD204B协议基础知识
1.JESD204B优势 JESD204是基于SERDES的串行接口标准,主要用于数模转换器和逻辑器件之间的数据传输,最早版本的是JESD204A,现在是JESD204B subclass0,subclass1,subclass2。区别主要在于对齐同步和链路间固定时差的测量。目前市场上比较多的数模转换器接口是JESD204Bsubclass1。其最大传输速率可达12.5Gbps,支持多链路和多器件的同步以及固定时差的测量。2. 关键变量M :converters/device , 转换...
2020-06-02 17:03:06 20245 3
sata_control.pdf
2020-05-27
ddr_ctrl.v
2019-06-05
XHDLrj-VHDL-to-verilog.rar
2019-06-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人