草庐IT

FPGA之简易DDS信号发生器设计

文章目录前言一、DDS信号发生器1.DDS是什么2.DDS工作原理二、模块代码1.调用rom模块储存波形图2.按键控制模块2.按键消抖模块3.DDS生成模块4.顶层模块5.RTL视图三、仿真测试模块1.仿真测试代码2.仿真波形图总结前言设计一个能产生频率可变、相位可调的能产生正弦波、三角波、方波、锯齿波的信号发生器。一、DDS信号发生器1.DDS是什么DDS是直接数字式频率合成器(DirectDigitalSynthesizer)的英文缩写,是一项关键的数字化技术。与传统的频率合成器相比,DDS具有低成本、低功耗、高分辨率和快速转换时间等优点,广泛使用在电信与电子仪器领域,是实现设备全数字化的

基于 FPGA 的 PCIe IP 核简介

                 在某些高速数据存储场景下,单个NVMeIP已无法满足带宽需求,常需要多个NVMeIP并行工作以提升写入带宽,由于NVMe底层使用PCIe,而Xilinx/Altera等厂家FPGA芯片自带的PCIe硬核往往有限,比如Kintex-7芯片一般只有一个PCIe2.0硬核,此时,基于GTX等高速收发器实现PCIe软核成为一种必要方式。    目前我们正在进行PCIe软核的开发,简单介绍如下:    (1)基于FPGA片上高速收发器GTX(或其他)实现同等PCIe硬核功能(NVMePCIe2.0应用场景下)。    (2)包括物理层PCIePIPe(高速收发器搭接)、

FPGA实现SPI协议基于ADC128S022进行模拟信号采集

0.序言使用vivado联合modelsim实现SPI协议基于ADC128S022进行模拟信号连续采集。1.SPI协议简介(1)结构SPI是串行外设接口,是一种同步/全双工/主从式接口。通常由四根信号线构成:CS_N:片选信号,主从式接口,可以有多个从机,用片选信号进行从机选择;SCLK:串行时钟线,由主机提供给从机;MISO:主机接收(采集)从机数据信号线;MOSI:主机发送数据给从机信号线;(2)工作模式CKP:时钟极性,用来配置时钟线SCLK的电平处于何种状态是空闲状态或者有效状态;CKE:时钟相位,配置发送数据和采集数据分别是在时钟上升沿还是下降沿;2.ADC128S022芯片简介(1

FPGA简介、工作原理、优势与劣势

一、FPGA简介FPGA(Field-ProgrammableGateArray)是一种基于可编程逻辑门阵列(PLA)和可编程交叉开关(PCS)的可编程逻辑器件。与传统的ASIC(Application-SpecificIntegratedCircuit)相比,FPGA具有更高的灵活性和可重构性。FPGA可以通过编程方式实现对芯片内部逻辑门的布局和连通,从而在特定应用场景下达到最佳性能和功耗。FPGA的应用范围非常广泛,主要包括以下几个方面:通信领域:FPGA可以实现各种通信协议的高速通信,如以太网、USB、PCI等。信号处理:FPGA可以用于音频、视频等数字信号处理,如信号滤波、FFT变换、

【FPGA教程案例57】深度学习案例4——基于FPGA的CNN卷积神经网络之卷积层verilog实现

FPGA教程目录MATLAB教程目录--------------------------------------------------------------------------------------------------------------------------------目录1.软件版本2.卷积层理论介绍3.卷积层的verilog实现 

m基于FPGA的数字下变频verilog设计

目录1.算法描述2.仿真效果预览3.verilog核心程序4.完整FPGA1.算法描述整个数字下变频的基本结构如下所示 NCO使用CORDIC算法,CIC采用h结构的CIC滤波器,HBF采用复用结构的半带滤波器,而FIR则采用DA算法结构。  这里,我们首先假设不考虑中频信号输入的载波频偏问题,即发送的中频频率和本地的载波频率是一致的。为了验证系统的正确性,我们首先需要设计一个发送源,由于你要求的信号带宽为20M,所以整个系统我们设计的系统参数为,中频为80M,A/D采样为60M。本地接收端的载波频率为20M。即发送端通过80M的中频调制之后,信号的频谱会搬移到80M附近,然后接收端通过AD6

FPGA_Verilog学习之旅(4)---基于SPI读取AD7606

基于SPI读取AD7606_Verilog1.AD7606SPI读取时,一些重要的引脚2.AD7606SPI读取时的一些时序3.AD7606SPI读取时的一些说明4.AD7606SPI代码(Verilog)5.AD7606输出电压计算公式6.上板验证最近要做的项目用到了AD7606,其实可以直接用并行接口,不过由于某些原因只能用SPI去读取AD7606(因为占用引脚少!!!)。本来想偷点懒直接网上CV一个FPGASPI读取AD7606的,但是去网上找了半天,发现全都是用FPGA并行读取AD7606,无奈自己只能再花半天时间对着时序图写一个(不过这次写的代码倒是令我感到挺意外的,代码从开始写到编

FPGA实践 ——Verilog基本实验步骤演示

0x00 回顾:AND/OR/NOT逻辑的特性AND:与门可以具有两个或更多的输入,并返回一个输出。当所有输入值都为1时,输出值为1。如果输入值中有任何一个为0,则输出值为0。OR:或门可以具有两个或更多的输入,并返回一个输出。如果输入值中至少有一个为1,则输出值为1。如果所有输入值都为0,则输出值为0。NOT:非门具有一个输入和一个输出。当输入值为1时,输出值为0;当输入值为0时,输出值为1。晶体管级逻辑门AND/OR/NOT的结构:0x01 扇出的概念(Fan-out)扇出 (fan-out)是一个定义单个逻辑门能够驱动的数字信号输入最大量的专业术语。扇出即输出可从输出设备输入信号的电路的

FPGA与STM32之间的UART通信实验

目录1.UART串口介绍2.实验任务3.FPGA代码4.STM32代码5.总结1.UART串口介绍        UART是一种采用异步串行方式的通用异步收发传输器,在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的串行数据转换成并行数据。        UART串口通信需要两根信号线来实现,一根用于串口发送,另一根负责串口接收。        UART的一帧数据由4部分组成:起始位、数据位、奇偶校验位和停止位。起始位标志着一帧数据的开始,低电平有效;数据位代表一帧数据中的有效数据;校验位分为奇校验和偶校验检测数据是否出错;在空闲状态下总线处于高电平。        UART通

FPGA实战开发-基于的ddr图像缓存设计(上)

目录概要整体架构流程技术名词解释技术细节​编辑小结概要提示:这里可以添加技术概要本文主要基于DDR的图像缓存设计。整体架构流程提示:这里可以添加技术整体架构先用图像产生模块产生一个1080P60Hz的测试图像,然后经过FDMA进入ddr3,缓存3帧后在读出来。然后在经过HDMI显示。技术名词解释FDMA:这是米联科开发一款DMA控制器,本文也是本着学习及分享两种意图写下了此文。技术细节在这里我们引入了AXi_interconnectIP,因为smc不能满足FDMA和MIG的最大带宽,导致1080P视频不能正常传输,并且在interconnectedIP中要使能寄存器输出,并在使能fifo深度。