- 博客(60)
- 资源 (19)
- 收藏
- 关注
原创 Xilinx_JESD204B
Xilinx_JESD204B_AXI配置说明:通过FPGA的高速数据接口JESD204B对AD9625进行高速采集。环境:Vivado2018.3。IP核:JESD204(7.2)。参考手册:pg066_jesd204 v7.2。资料以及IP_licence:JESD204BAXI协议资料:AXI文章目录JESD204B概述JESD204B接口术语JESD204B 层JESD204B_AXI介绍AXI介绍JESD204B__AXI_Lite接口AXI-Lite接口介绍AXI-Lite接口信号
2022-03-04 15:09:53 10272 11
原创 FPGA/IC 秋招笔试/面试题总结(续)
FPGA/IC 秋招笔试/面试题总结(续)来啦…文章目录二十七、状态机1. Moore/Mealy状态机2.一、二、三段式状态机二十七、状态机1. Moore/Mealy状态机(1)Moore状态机:输出只由当前状态决定,即次态=f(现态。输入),输出=f(现态)Moore型状态机的输出信号是直接由状态寄存器译码得到的。Moore型状态机检测序列1101如下Moore型状态机输出函数只由状态变量决定,想要输出Z=1,必须S4状态形成,即寄存器中的1101都打进去后才可以。输出Z=1会在
2021-08-27 17:10:08 17450 9
原创 FPGA/IC 秋招笔试/面试题总结
文章目录一、FPGA内部资源1. 什么是FPGA2.FPGA内部资源二、同步时钟、同步/异步电路1.同步时钟2.同步/异步电路三、同步复位/异步复位1.同步复位2. 异步复位3. 异步复位同步释放四、同步FIFO/异步FIFO1.同步FIFO2.异步FIFO五、FIFO最小深度计算1.FIFO最小深度2.示例分析六、逻辑电平1.TTL电平标准2.LVTTL电平标准3.CMOS电平标准4.LVCOMS电平标准5.RS2326.RS4857.ECL、PECL、LVPECL8.LVDS9.CML10.GTL11
2021-08-25 10:39:13 38581 28
原创 AMBA-CHI协议详解(一)
CHI体系结构是一种可扩展、一致性的集线器接口和片上互联,可由多个组件使用。CHI体系结构允许根据性能、功耗和面积系统要求灵活地进行组件连接拓扑。硬件一致性使系统组件能够共享内存,而无需维护软件缓存以保持一致性。如果两个组件对同一存储器位置的写入可被所有组件以相同的顺序观察到,则存储器区域是一致的。
2024-03-15 23:07:40 1079
原创 【存储】ZYNQ+NVMe小型化全国产存储解决方案
按照本文方式处理,使用ZYNQ标准的文件系统下可以达到2GB/s的存储带宽。该方案的文件系统采用标准的Linux内核系统,移植性好,成本低,运行也稳定。通过PCIE核的更换,PCIe核的增加,也能够适应不同的存储带宽核存储容量的需求。
2024-03-11 22:42:49 779
原创 基于python+pyqt5的串口助手
基于python+pyqt5的串口助手环境: pycharm、python3.8,pyqt5,pyserial。(订阅后有问题,或者需要该节的工程文件 请私信)说明: 通过python3.8、pyqt5和pyserial自制串口助手,可以实现基础ascll码,hex数据的收发以及定时发送,还可以实现接收数据的动态波形显示。☞ 功能展示在工程应用中串口助手的其他功能因项目而异,因此学会基础功能的搭建,在改进的时候就方便很多。.........
2022-07-03 11:47:30 7252 22
原创 基于FPGA的一维卷积神经网络CNN的实现(八)激活层实现
激活层实现环境: Pytorch,Pycham,Matlab。(订阅后有问题,或者需要该节的文件 请私信)说明: 上一节已经介绍了池化层电路实现的原理,这一节主要介绍线性激活层实现的原理 。第一节:基于FPGA的一维卷积神经网络CNN的实现(一)框架第二节:基于FPGA的一维卷积神经网络CNN的实现(二)资源分配第三节:基于FPGA的一维卷积神经网络CNN的实现(三)训练网络搭建及参数导出(附代码)第四节:基于FPGA的一维卷积神经网络CNN的实现(四)Matlab前向验证(附代码)......
2022-06-29 10:38:37 2033
原创 基于FPGA的一维卷积神经网络CNN的实现(七)池化层实现
池化层实现环境: Pytorch,Pycham,Matlab。(订阅后有问题,或者需要该节的文件 请私信)说明: 上一节已经介绍了卷积层电路实现的原理,这一节主要介绍池化层实现的原理 。第一节:基于FPGA的一维卷积神经网络CNN的实现(一)框架第二节:基于FPGA的一维卷积神经网络CNN的实现(二)资源分配第三节:基于FPGA的一维卷积神经网络CNN的实现(三)训练网络搭建及参数导出(附代码)第四节:基于FPGA的一维卷积神经网络CNN的实现(四)Matlab前向验证(附代码)第五节:基于FPGA
2022-06-18 11:39:50 1511 3
原创 基于FPGA的一维卷积神经网络CNN的实现(六)卷积层实现
卷积层实现环境: Pytorch,Pycham,Matlab。(订阅后有问题,或者需要该节的文件直接加微信:Crazzy_M)说明: 上一节已经通过Matlab将CNN网络所需的权重参数转换为定点数。该节在FPGA端进行卷积层的实现。.....................
2022-06-11 10:00:00 2226
原创 雷达辐射源调制信号仿真
雷达辐射源调制信号仿真说明:通过Matlab进行单载频(CW),线性调频(LFM)、非线性调频(NLFM)、二相编码(BPSK)、四相编码(QPSK)、二频编码(BFSK)、四频编码(QFSK)七种雷达脉内调制信号的方仿真。.........
2022-06-10 20:52:00 4668 1
原创 雷达辐射源调制信号仿真(代码)
雷达辐射源调制信号仿真说明:通过Matlab进行单载频(CW),线性调频(LFM)、非线性调频(NLFM)、二相编码(BPSK)、四相编码(QPSK)、二频编码(BFSK)、四频编码(QFSK)七种雷达脉内调制信号的方仿真。...
2022-06-10 20:44:02 4062
原创 基于FPGA的一维卷积神经网络CNN的实现(五)数据量化(附代码)
上一节已经通过Matlab中基础的乘加运算进行了CNN网络的前向计算过程。该节利用Matlab将导出的CNN网络所需要的参数进行定点量化,最后传输至FPGA端进行计算。
2022-06-07 11:09:28 2246
原创 基于FPGA的一维卷积神经网络CNN的实现(四)Matlab前向验证(附代码)
上一节已经由Pytorch框架训练得到最优的训练参数,并且已经将参数导出至.mat文件。该节通过Matlab利用基础的乘加计算来搭建CNN网络的前向计算(不是用深度学习库),从底层熟悉CNN是怎么实现的。(知道底层怎么实现,才能在FPGA上搭建吧).....................
2022-05-29 22:56:29 1689 1
原创 基于FPGA的一维卷积神经网络CNN的实现(三)训练网络搭建及参数导出(附代码)
训练网络搭建环境:Pytorch,Pycham,Matlab。说明:该网络反向传播是通过软件方式生成,FPGA内部不进行反向传播计算。该节通过Python获取训练数据集,并通过Pytorch框架搭建的CNN网络进行网络的训练。并将训练的最优参数导出,这一节先导出至Matalb进行网络的验证以及数据的量化。文章目录1.数据集的获取1.1 正弦波的获取1.2 余弦波的获取1.3 三角波的获取1.数据集的获取首先明白我们识别的波形为,正弦波,余弦波,三角波。没有噪声的信号波形如下所示,没有噪声的
2022-05-24 10:19:22 4167 6
原创 基于Xilinx XDMA 的PCIE通信
基于Xilinx XDMA 的PCIE通信概述: 想实现基于FPGA的PCIe通信,查阅互联网各种转载…基本都是对PCIe的描述,所以想写一下基于XDMA的PCIe通信的实现(PCIe结构仅做简单的描述(笔记),了解详细结构移至互联网)。实践实践!!!说明:参考文档:PCI Express Base Specification Revision 3.0PCI Express Base Specification Revision 5.0pg195-pcie-dmaPCI Express体系
2021-12-05 10:56:37 5692 6
原创 基于FPGA的一维卷积神经网络CNN的实现(二)资源分配
资源分配环境:Vivado2019.2。Part:xcku040-ffva1156-2-i,内嵌DSP个数 1920个,BRAM 600个也就是21.1Mb。说明:通过识别加高斯白噪声的正弦波、余弦波、三角波较简单的实例来利用FPGA实现一维CNN网络,也就是将下列数据传输至FPGA,识别出下面哪些是正弦波、余弦波、三角波,通过简单实例实践,从而实现更复杂的网络。主要是实现CNN网络的搭建,本文因为追求速度利用了大量的DSP,后期加入复杂网络进行DSP复用。文章目录一、DSP资源分配1.第一层卷积2
2021-11-30 10:35:29 8409 5
原创 基于FPGA的一维卷积神经网络CNN的实现(一)框架
理论建立与效果展示正在写。。。环境:Vivado2019.2。Part:xcku040-ffva1156-2-i,内嵌DSP个数 1920个,BRAM 600个也就是21.1Mb。说明:通过识别加高斯白噪声的正弦波、余弦波、三角波较简单的实例来利用FPGA实现一维CNN网络,主要是实现CNN网络的搭建。也就是将下列数据传输至FPGA,识别出下面哪些是正弦波、余弦波、三角波,通过简单实例实践,在融会贯通。实现流程:训练参数:通过pytorch对10000个训练集进行训练获得训练参数,反向计算不
2021-11-23 16:32:48 20510 16
原创 Xilinx FFT IP核的使用
说明:通过对比Matlab实践来运用Xilinx FFT IP核实现复数的FFT。代码下载:Xilinx FFT IP核 Verilog代码实现工程下载:FFT工程文章目录一、Fast Fourier Transform IP核介绍二、FFT IP核的使用1、1KHz采样率、1024点FFT2、2.5GHz采样率、8192点FFT一、Fast Fourier Transform IP核介绍IP核主要端口介绍:名称方向说明aclk输入模块工作时钟,上升沿有效ac
2021-10-20 15:31:31 7083
原创 Xilinx FFT IP核 Verilog代码实现
说明:通过对比Matlab实践来运用Xilinx FFT IP核实现复数的FFT,Verilog代码实现,ila进行调试。文章目录一、FPGA实现FFT1、1KHz采样率、1024点FFT2、2.5GHz采样率、8192点FFT一、FPGA实现FFT1、1KHz采样率、1024点FFTMatlab产生原实信号 s,将1024点的数据写入FPGA的ROM采样率为1000Hz,信号为100Hz、200Hz、300Hz叠加,FFT点数为1024。clcclear all;row=3;colum
2021-10-20 15:21:50 4166 16
原创 Xilinx JESD204B IP AXI驱动代码
说明:Xilinx JESD204B IP AXI驱动代码,通过VIO进行JESD204B IP和寄存器的读写。参考博客:Xilinx_JESD204B效果简单展示如下:方便调试,将AXI_Lite接口接入VIO调试。调试过程如下:JESD_VIO_DEBUG: 1:通过Vavido的VIO模式就可以对JESD204 IP进行配置。 0:通过代码配置。JESD_CMD 1:读寄存器 0:写寄存器JESD_RESET 1:复位 0:取消复位JESD_ADDR 进行
2021-09-07 23:11:41 4620 1
原创 AXI Uartlite IP AXI驱动代码
说明:AXI Uartlite IP AXI驱动代码根据博客:Xilinx AXI Uartlite IP核的使用有问题联系微信:Crazzy_M效果简单展示:module uart#( parameter UART_REG_NUM = 2 )( input s_axi_aclk, input s_axi_aresetn, input rx, output tx, output interrupt
2021-09-07 23:08:05 2104 3
原创 FPGA/IC 秋招笔试/面试题总结(目录)
FPGA/IC 秋招笔试/面试题总结-目录介绍文章目录FPGA/IC 秋招笔试/面试题总结-目录介绍一、FPGA内部资源1. 什么是FPGA2.FPGA内部资源二、同步时钟、同步/异步电路1.同步时钟2.同步/异步电路三、同步复位/异步复位1.同步复位2. 异步复位3. 异步复位同步释放四、同步FIFO/异步FIFO1.同步FIFO2.异步FIFO五、FIFO最小深度计算1.FIFO最小深度2.示例分析六、逻辑电平1.TTL电平标准2.LVTTL电平标准3.CMOS电平标准4.LVCOMS电平标准5.RS
2021-09-06 16:23:07 13523 6
原创 基于XDMA 的PCIE读写DDR
基于XDMA 的PCIE读写DDR概述: 想实现基于FPGA的PCIe通信,查阅互联网各种转载…基本都是对PCIe的描述,所以想写一下基于XDMA的PCIe通信的实现(PCIe结构仅做简单的描述(笔记),了解详细结构移至互联网)。实现功能:PC通过PCIE读写DDR,同时用户通过逻辑代码可以读取被写入DDR内的数据(我是通过VIO实现DDR任意地址,任意数据大小的读取。)。实践实践!!!说明:参考文档:PCI Express Base Specification Revision 3.0P
2021-08-05 11:59:55 7218 6
原创 Input delay 时序约束实例
Input delay 时序约束实例概述: 对Input delay时序约束做以描述以及实例分析。必备基础:建立时间与保持时间文章目录1、 IO时序分析的基本模型2、引出Input delay3、Input delay时序约束实例以及时序报告解读4、以传感器送数据到FPGA为例分析input delay4.1 、传感器在模式一(数据起始与时钟的下降沿对齐)下时序分析4.2 、传感器在模式二(数据起始与时钟的上升沿对齐)下时序分析1、 IO时序分析的基本模型我们要想进行FPGA内部IO的时序分析,
2021-07-29 19:21:31 2563
原创 FIFO最小深度计算
FIFO最小深度计算文章目录1、FIFO最小深度2、示例分析1、FIFO最小深度 在数据的传输中当读速率慢于写速率时,FIFO便可被用作系统中的缓冲元件或队列,类似于水流经过一个缓冲区,上游水流速度快,下游水流速度慢,部分水就可以被缓存在中间的缓冲区,但是上游与下游的水速差距过大,就会导致流入中间缓存区的水超出了缓存区承受能力导致水的溢出,不能顺利到达下游。在上游水流速度最大,下游水流速度最小的情况下,中间缓冲区不能溢出的大小就是我们关系的问题。 同理,读写速率差距过大,FIFO深度太小,就
2021-07-23 17:01:46 4089 5
原创 基于Xilinx XDMA 的PCIE通信
基于Xilinx XDMA 的PCIE通信概述: 想实现基于FPGA的PCIe通信,查阅互联网各种转载…基本都是对PCIe的描述,所以想写一下基于XDMA的PCIe通信的实现(PCIe结构仅做简单的描述(笔记),了解详细结构移至互联网)。实践实践!!!说明:参考文档:PCI Express Base Specification Revision 3.0PCI Express Base Specification Revision 5.0pg195-pcie-dmaPCI Express体系
2021-07-09 10:36:48 8941 29
原创 竞争与冒险
竞争与冒险文章目录1、竞争与冒险产生原因2、判断电路是否存在竞争-冒险现象3、消除竞争与冒险1、竞争与冒险产生原因 观察以下门电路,Gate1为 非门,Gate2为 与门,实现了逻辑F=A&A‾F = A{\rm{\& }}\overline A F=A&A理想情况下输入与输出的关系为:但是由于门电路的输入到输出是一定会有时间延迟的,这个时间通常叫做电路的开关延迟,就会导致出现以下毛刺。(Gate1输入到输出有一定的延迟,导致 ~A信号就会滞后于A一段时间)~
2021-05-29 10:59:43 5225 2
原创 奇数分频器的实现
奇数分频文章目录1、奇数分频介绍2、通过时钟 相或 实现奇数分频3、通过时钟 相与 实现奇数分频4、通过时钟 相异或 实现奇数分频5、测试代码1、奇数分频介绍 奇数分频(2N+1),以三分频(N=1)为例,三分频即分频后的时钟半周期(周期)是原时钟半周期(周期)的3倍宽度。 偶数分频我们只需要借助原时钟的上升沿或者下降沿进行计数分频,但是要实现奇数分频我们就要同时利用原时钟的上升沿和下降沿。可以通过原时钟的上升沿和下降沿计数产生clk1和clk2,再通过clk1和clk2的关系实现奇数分频。
2021-05-26 10:11:14 6875 7
原创 时钟抖动(Clock Jitter)和时钟偏斜(Clock Skew)
时钟抖动(Clock Jitter)和时钟偏斜(Clock Skew)文章目录1、时钟抖动(Clock Jitter)2、时钟偏斜(Clock Skew)3、时钟抖动和时钟偏斜的区别1、时钟抖动(Clock Jitter) 时钟抖动指的在某一个给定的点上时钟周期发生短暂性变化,使得时钟周期在不同的周期上可能加长或者缩短。(两个时钟周期存在差值,是时钟发生器内部产生的,和晶振或者PLL内部电路有关,布线对其没有影响);它是频率上的不确定。 时钟边沿的变化不可能总是理想的瞬变,它总会有一个从高到低
2021-05-25 10:00:29 14733 4
原创 同步、异步复位、异步复位同步释放
同步、异步复位、异步复位同步释放文章目录1、同步复位2、异步复位2.1、异步复位的隐患3、异步复位、同步释放1、同步复位 同步复位,顾名思义是复位信号和时钟同步,当时钟上升沿检测到复位信号,执行复位操作。同步复位没有用到寄存器的异步复位CLR端口,综合出来的实际电路只是把复位信号rst_n作为逻辑输入的使能信号。同步复位代码://同步复位module top( input clk, input rst_n, input a, output reg b );always
2021-05-20 11:11:26 3024 2
原创 建立时间与保持时间
建立时间与保持时间的计算文章目录1、建立时间与保持时间概述及模型2、寄存器之间数据传输时建立时间与保持时间3、寄存器之间数据传输时建立时间余量与保持时间余量计算4、 FPGA允许的最大时钟频率或最小时钟周期5、计算FPGA时钟所允许的最大频率或最小时钟周期6、违反建立和保持时间会发生什么?1、建立时间与保持时间概述及模型建立时间(Tsu): 在时钟采样之前,输入必须稳定一段时间,该时间量称为建立时间。理想最优建立时间:保持时间(Th): 在时钟沿之后输入到触发器稳定所需的最短时间。理想最优
2021-05-19 14:44:28 25597 15
原创 异步FIFO_Verilog实现
异步FIFO_Verilog实现概述: FIFO本质上还是RAM,是一种先进先出的数据缓存器(先存入的数据先取出)。它与普通存储器的区别:没有外部读写地址线,只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1,不像其他存储器可以由地址线决定读取或写入某个指定的地址,异步FIFO读写时钟不同,读写是相互独立的。用途:(1)跨时钟域多bit传输:读写可以由不同的时钟控制,使用异步FIFO可以在两个不同时钟系统之间快速方便的传输数据。(2)数据匹配:对于不同宽度的数据接口可以使用FIFO,
2021-05-18 23:09:17 3774 3
原创 Xilinx MicroBlaze软核驱动DDR4
Xilinx MicroBlaze软核驱动DDR3说明:通过Vivado生成MicroBlaze工程导入SDK实现DDR4的读写。环境:Vivado2018.3。IP核:MicroBlaze。参考手册:pg150:UltraScale Architecture-Based FPGAs Memory IP v1.4基础知识:Xilinx MicroBlaze软核驱动DDR3(最好先看一下)文章目录1.MicroBlaze设计流程1.2 DDR Block Design 流程2.SDK工程2.1
2021-04-01 20:41:49 2271 3
原创 Xilinx MicroBlaze软核驱动DDR3
Xilinx MicroBlaze软核驱动DDR3说明:通过Vivado生成MicroBlaze工程导入SDK实现DDR3的读写。环境:Vivado2018.3。IP核:MicroBlaze。参考手册:pg142: AXI UART Lite v2.0ug586:7Series_MIS文章目录1.DDR简介1.1DDR3地址2. MicroBlaze简介3.MicroBlaze设计流程3.2 DDR Block Design 流程4.SDK工程1.DDR简介MT41K256M16xx-1
2021-03-31 11:25:17 6256 6
原创 Xilinx MicroBlaze软核的使用-Uartlite
Xilinx_MicroBlaze的使用-Uartlite说明:通过Vivado生成MicroBlaze工程导入SDK实现LED的控制、串口与PC的通信。环境:Vivado2018.3。IP核:MicroBlaze。参考手册:pg142: AXI UART Lite v2.0文章目录1. MicroBlaze简介2.MicroBlaze设计流程2.1 .新建工程:2.2 创建Block Design3. SDK1. MicroBlaze简介 MicroBlaze嵌入式软核是一个被Xili
2021-03-28 19:05:05 8802 5
原创 Xilinx AXI Uartlite IP核的使用
Xilinx AXI Uartlite IP核的使用说明:通过AXI Uartlite IP核实现FPGA与PC的串口通信。环境:Vivado2018.3。IP核:AXI Uartlite(2.0)。参考手册:pg142-axi-uartlite。AXI协议资料:AXI文章目录1.串口通信协议1.1基础知识:1.2串口传输格式1.3深入理解波特率2.串口是怎样传输数据的2.1串口数据解析3.AXI Lite协议3.1 AXI介绍3.2 Uart_AXI_Lite接口3.3 AXI-Lite接口介
2021-03-25 10:51:05 14181 17
原创 Xilinx_ROM_IP核的使用
Xilinx_ROM_IP核的使用说明:coe文件的制作,ROM文件的读取。环境:Vivado2018.3。IP核:Block Memory Generator。参考手册:UG473: 7 Series FPGAs Memory ResourcesPG058 :Block Memory Generator v8.4。需要软件:Guagle_waveUltraEdit文章目录1.coe文件的制作(可制作指定波形)2.ROM IP核配置及应用1.coe文件的制作(可制作指定波形)1.打
2021-03-19 15:45:51 1632
原创 Xilinx_RAM_IP核的使用
Xilinx_RAM_IP核的使用说明:单口RAM、伪双口RAM、双口RAM的读写,以及RAM资源占用的分析。
2021-03-18 17:46:54 4418 2
原创 Vivado_VIO误区_初始显示的值不一定是实际的值
Vivado_VIO误区_初始显示的值不一定是实际的值说明: 实操从ISE移植一个芯片驱动工程到Vivado,一样的代码加ILA和VIO,通过VIO控制芯片寄存器的读写,Vivado这边通过VIO就是无法正常访问寄存器。最终找到问题,如果有多个VIO输出信号,并且下载bit后你没改变VIO中的按钮值或Text值,VIO显示的值不一定是你信号中的值,可能是上次操作VIO时的记忆值。把每个VIO重新触发一次,才可能是正确的值。一点点调试经验:如有错误欢迎指导!!!...
2020-12-07 17:16:52 1278
基于XDMA的PCIE读写DDR.rar
2021-08-25
input delay工程所需资料.rar
2021-07-29
基于XDMA的PCIE VIVADO工程
2021-07-25
PCI Express学习文档
2021-07-08
时序图绘制_timegen
2020-12-05
office卸载.rar
2020-11-19
DBSLDR_V1.0.97.0
2020-11-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人