草庐IT

DSP+FPGA

全部标签

TCP解帧解码、并发送有效数据到FPGA

TCP解帧解码、并发送有效数据到FPGA工程的功能:使用TCP协议接收到网络调试助手发来的指令,将指令进行解帧,提取出帧头、有限数据、帧尾;再将有效数据发送到FPGA端的BRAM上,实现信息传递。参考:正点原子启明星ZYNQ之嵌入式SDK开发指南_V2.0:第三十九章基于TCP协议的远程更新QSPIFlash实验和第十五章基于BRAM的PS和PL的数据交互TCP接收、解帧功能的实现在正点原子提供的“基于TCP协议的远程更新QSPIFlash实验”例程中,是使用TCP协议实现远程更新QSPI的功能。在本项目中,将其改为接收并且解帧的功能。如何实现?先分析一下正点原子的源代码:在“qspi_rem

FPGA拾忆_(3):调用IP 计数器&BCD计数器

调用IP计数器:每来一个cin(进位输入)信号,计数器输出值加一,当计数值为9且cin为1时,输出一个时钟长度的cout(进位输出)信号。首先采用调用quartus种IP的方式,具体步骤:Tools----PCatalog:然后会调出IP目录窗口:通过搜索counter来添加计数器模块,需要设置的内容有:bit位(几位输出寄存器)、计数值、 加一or减一、使能方式(clockenable,countenable)、计数方式(时钟orcarryin)、清零,置数,预载等功能。设置完成可以直接自己编写top模块,然后例化IP,eg:在顶层模块,右键点击setastop-level....代码:mo

【FPGA入门】第一篇、Verilog基本语法常识

目录第一部分、不同的变量类型1、wire和reg的区别 2、如何对变量进行赋值呢?3、什么是阻塞?什么是非阻塞?第二部分、变量位宽的定义1、各种系统默认情况2、变量位宽声明方式3、表明位宽的情况下,赋值方式4、两个模块之间例化,不定义变量直接用的方式5、常用的变量定义为参数第三部分、赋值语句1、assign和always赋值语句的区别2、assign和always赋值语句的例子3、inital语句4、reg类型变量的初始值问题第四部分、运算符号1、算数运算符(+,-,*,/,%)2、关系运算符(>、=、=、==、!=)3、逻辑运算符(&&、||、!)4、位运算符(&、|、~)5、三目/条件运算

Xilinx FPGA管脚约束语法规则(UCF和XDC文件)

文章目录1.ISE环境(UCF文件)2.Vivado环境(XDC文件)本文介绍ISE和Vivado管脚约束的语句使用,仅仅是管脚和电平状态指定,不包括时钟约束等其他语法。ISE使用UCF文件格式,Vivado使用XDC文件,Vivado中的MIG_DDR管脚也是使用的UCF文件。1.ISE环境(UCF文件)ISE开发环境可以使用图形化分配界面PlanAhead工具,本文介绍手动编写约束语句的方式。信号的管脚和电平使用两条语句分别进行约束:NET"clk"LOC=T8;NET"led"LOC=D22;NET"led"LOC=D20;NET"clk"IOSTANDARD=LVCMOS33;NET"

[FPGA 学习记录] 数码管静态显示

数码管静态显示文章目录1理论学习1.1数码管简介1.2八段数码管1.374HC595简介2实战演练2.1实验目标2.2程序设计2.2.3框图绘制2.2.3.1模块划分2.2.3.2数码管静态驱动模块框图2.2.3.374HC595驱动模块框图2.2.3.4系统模块框图2.2.4数码管静态驱动模块2.2.4.1波形图2.2.4.2RTL代码2.2.4.3代码编译2.2.4.4逻辑仿真2.2.574HC595驱动模块2.2.5.1波形图2.2.5.2RTL代码2.2.5.3代码编译2.2.5.4逻辑仿真2.2.6管脚绑定2.2.7上板验证在我们的许多项目设计当中,我们通常需要一些显示设备来显示我们

【FPGA】SPI-FLASH-M25P16手册解读

M25P16概述:M25P16是一款带有先进写保护机制和高速SPI总线访问的串行Flash存储器。M25P16特点如下:存储结构:16MBit(2MByte)的存储空间,一共32个扇区(sector),每个扇区256页,每页256字节,每个字节的的存储地址由扇区地址(8bit)+页地址(8bit)+字节地址(8bit)构成。SPI总线兼容的串行接口。可以单扇区擦除,也可以整块擦除。可以同时编程1~256字节,页编程速率高达256Byte/1.4ms,即写入一页数据需要1.4ms。数据保存至少20年。只支持SPI工作模式0和3。M25P16引脚图如下:引脚描述:C:时钟信号,相当于SPI总线的S

基于FPGA的IIR滤波器的实现

一、简要概述IIR滤波器原理以及架构在此不做阐述,如何从模拟滤波器到数字滤波器进行设计,可参考https://blog.csdn.net/k331922164/article/details/117265704?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-117265704-blog-123083652.235%5Ev38%5Epc_relevant_anti_t3_base&depth_1-ut

AI架构师必知必会系列:FPGA加速与AI

作者:禅与计算机程序设计艺术1.简介在云计算、边缘计算和物联网等新兴技术的推动下,云端AI已经成为行业的热点话题。云端AI一般采用软件实现,比如开源框架Tensorflow、Pytorch等。但是,在实际应用中,对于高性能要求的场景(例如视频流处理),往往需要硬件加速,否则会严重影响效率。而FPGA是一种可编程门阵列,可以高效地进行逻辑功能处理。所以,本文将从硬件加速的基本原理出发,结合FPGA硬件加速技术,对AI领域的硬件加速进行系统性的介绍。并基于FPGA实践,分析其在AI领域的应用前景和优势。最后,会分享一些真实案例,通过展现AI的落地实践,让读者能够感受到FPGA的强大威力,也能够引起

FPGA驱动AD9240实现AD转换

文章目录一、前言二、时序原理三、代码设计四、结果验证一、前言在做项目中,经常会用到AD转换模块。前段时间做毕业设计的时候需要用到FPGA驱动AD9240模块实现模拟数据的采集和转换,尽管相对来说AD9240算比较简单的驱动模块,但是也想记录下分析和设计过程。二、时序原理首先通过芯片手册可以看到AD9240是14位,最高速率可达10Mbps的模数转换器件。然后就是重要的时序转换图:可以看出:在采样时钟第一个周期的上升沿芯片对当前模拟输入进行采样,然后在采样时钟第四个周期的下降沿完成模拟数值的转换和输出,这意味着整个输出的转换采样值滞后采样时钟4个周期。如果需要将模拟值与转换值相对应,这个延迟是需

【嵌入式处理器】CPU、MPU、MCU、DSP、SoC、SiP的联系与区别

1、CPU(CentralProcessingUnit)CPU(CentralProcessingUnit),是一台计算机的运算核心和控制核心。CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。众所周知的三级流水线:取址、译码、执行的对象就是CPU,差不多所有的CPU的运作原理可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,并执行指令。如x86处理器。2、微处理器MPU(MicroProcessorUnit)MPU是由计算机中的CPU