草庐IT

Xilinx-FPGA

全部标签

FPGA实现数字QAM调制系统

目录前言一、项目设计要求二、各模块及仿真1.m序列发生器2.串并转换电路3.电平映射电路4.载波发生器5.乘法器6.加法器三、例化仿真验证功能总结前言QAM是QuadratureAmplitudeModulation的缩写,中文译名为“正交振幅调制”,其幅度和相位同时变化,属于非恒包络二维调制。本次设计使用环境为QuartusII与ModelsimAltera,项目设计原理图如下:  一、项目设计要求设计任务各模块要求具体如下:(1)模块时钟生成电路设计必要的模块时钟生成电路,输出满足电路各模块工作需求的时钟信号。对生成的时钟信号预留仿真输出端口。(2)m序列发生器m序列的特征方程为,采用线性

FPGA原理与结构——FIFO IP核原理学习

一、FIFO概述1、FIFO的定义        FIFO是英文First-In-First-Out的缩写,是一种先入先出的数据缓冲器,与一般的存储器的区别在于没有地址线,使用起来简单,缺点是只能顺序读写数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。2、FIFO的作用(1)跨时钟域的数据传输(2)对不同宽度的数据进行位宽转换(3)数据缓存3、FIFO的分类    根据FIFO工作的时钟域的不同,可以将FIFO分为以下两类    (1)同步FIFO:读时钟和写时钟为同一个时钟,在时钟沿来临时同时发生读写操作。常用于对不同宽度的数据进行位

【FPGA-Spirit_V2】基于FPGA的循迹小车-小精灵V2开发板

🎉欢迎来到FPGA专栏~基于FPGA的循迹小车☆*o(≧▽≦)o*☆嗨~我是小夏与酒🍹✨博客主页:小夏与酒的博客🎈该系列文章专栏:FPGA学习之旅文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏📜欢迎大家关注!❤️🎉基于FPGA的循迹小车一、效果演示二、搭建硬件🥝开发板详细介绍🥝完整的循迹小车三、程序编写🍊整体编程思路🍊PWM模块🍊LCD模块🍊顶层模块四、调试及结果分析🍋调试注意事项🍋结果分析一、效果演示基于FPGA的循迹小车【Spirit_V2】由于场地的问题,打滑现象严重,所以用手轻推辅助小车前进。对于效果演示的分析,见调试及结果分析。二、搭建硬件该系列文章只是作为学习记录,并无

Lattice FPGA 开发工具Diamond使用流程总结——工具使用

使用流程这里介绍了工程建立、文件输入、ip核配置、管脚配置、综合及布线以及下载程序。1.工程打开打开工程:打开Diamond软件后,可以打开一个已建好的工程或者在最近工程中打开,如下图所示2.新建工程如下,由于软件不会自动给工程中文件分类,可以在创建工程文件夹时对文件归类。如下,点击File>new>project,出现如下窗口,点击next如下,输入工程名、工程文件目录;Implementation名可以和工程名一致,其目录会自动生成。填好后点击next如下,可以将已经编辑好的源文件添加进工程,也可以在创建完工程后再编辑输入源文件如下,选择芯片型号,在PartNames条框中选择相应型号,其

FPGA动态配置si5338输出差分时钟,提供工程源码和技术支持

目录1、前言2、设计框图3、si5338原理图设计4、si5338使用流程5、vivado工程详解6、上板调试验证并演示7、福利:工程代码的获取1、前言如今的FPGA板卡随着FPGA本身性能的提高也越来越高端,特别是在高速接口方面表现得越发明显,以Xilinx的7系列FPGA为例,板卡上一般都会有DDR3、SFP、QSFP、SADA、PCIE、FMC等高速接口,不同的高度接口对时钟的要求并不完全一致,而比如vivado调用的PLLIP核无法生成差分输出时钟,所以目前市面上的友商板卡几乎都是使用专用的时钟芯片,比如某型号的,用跳线帽来决定输出那种频率的时钟,这种方法不能说不好,但至少不帅。。。使

FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码

目录1、前言免责声明2、我已有的PCIE方案3、PCIE理论4、总体设计思路和方案AD7606数据采集和缓存XDMA简介XDMA中断模式QT上位机及其源码5、vivado工程1--BRAM缓存6、vivado工程2--DDR4缓存7、上板调试验证8、福利:工程代码的获取1、前言PCIE(PCIExpress)采用了目前业内流行的点对点串行连接,比起PCI以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到PCI所不能提供的高带宽,是目前各行业高速接口的优先选择方向,具有很高的实用价值和学习价值;本设计使用Xi

FPGA 学习笔记:Vivado 程序固化并烧写到 SPI Flash

前言FPGA工作依赖RAM,这个RAM在FPGA中,但是RAM掉电不保存数据,所以FPGA正常使用,还是需要程序持久保存FPGA大部分通过外挂一片Flash,如SPIFlash,程序烧写到Flash中,重新上电,FPGA把程序读取到内部的RAM执行如果不做处理,相信别人拿了你的板子,把Flash取下来,就获取了你FPGA的功能了。。。FPGA掉电后,本身变成了【白片】,也就是依赖外部的SPIFlash程序固化前期功能验证,直接下载到FPGA中,就可以执行了,有些特殊的功能,需要重启验证,但是掉电重启后,FPGA中的程序没有了,所以需要把生成的bit文件,烧写到外部的Flash中,这样FPGA重

基于FPGA的 矩阵键盘按键识别 【原理+源码】

目录引言原理阐述实现方法源码分享板级调试演示引言最近了解了矩阵键盘扫描的原理,动手实现了一下,在这里做一个简单的总结。原理阐述矩阵键盘典型电路:FPGA的应用电路:其中,行信号为FPGA输入信号,列信号为FPGA输出信号。 原理解释: 起始状态,FPGA的列信号输出全0低电平;没有任何按键按下时,FPGA接收到的行信号为全1高电平;当有按键按下时,被按下的按键所在行变为低电平,此时便可以开启一次检测行为;由于机械按键固有的振动特性,需要延迟约20毫秒后再次确认是否有按键按下;如果20毫秒延迟后,依然检测到有按键按下,则认为按键按下有效,开始逐列扫描;逐列扫描时,当前正在扫描的列,FPGA需输出

【Quartus FPGA】EMIF DDR3 读写带宽测试

在通信原理中,通信系统的有效性用带宽来衡量,带宽定义为每秒传输的比特数,单位b/s,或bps。在DDR3接口的产品设计中,DDR3读/写带宽是设计者必须考虑的指标。本文主要介绍了QuartusFPGA平台EMIF参数配置,以及测试 DDR3读写带宽的过程,FPGA器件型号是Cyclone10GX10CX220YF780E6G,DDR3颗粒型号是 WinbondW631GG6KB。目录1EMIFIP配置2AMM接口3读写带宽测试1EMIFIP配置    在进行EMIFDDR3读写带宽测试之前,先确保EMIFDDR3IP时钟与时序参数配置正确。     General->Clocks选项卡,填写内

FPGA 20个例程篇:20.USB2.0/RS232/LAN控制并行DAC输出任意频率正弦波、梯形波、三角波、方波(三)

    如图1所示是USB2.0/RS232/ETH控制并行DAC输出任意频率正弦波、梯形波、三角波、方波的整体设计示意图,可以看到上位机通过RS232串口、ETH千兆网口以及USB2.0接口和FPGA建立通信,通过不同的接口发送报文,FPGA在指令解析模块中把相关设置和参数再下发到任意波(方波、三角波、梯形波)发生器模块和正弦波发生器模块,最后通过波形选择器向并行DAC输出给定频率的波形。 图1USB2.0/RS232/ETH控制并行DAC输出任意频率正弦波、梯形波、三角波、方波的整体设计示意图    如图2到4所示是分别是上位机端FPGA波形助手USB2.0接口、ETH千兆网口、RS232