草庐IT

DSP+FPGA

全部标签

新手如何学习FPGA

根据我自身学习FPGA以及成长路上的其他同学的经验,写一篇简短的博客,旨在帮助刚接触亦或是想要学习FPGA的同学绕过我们曾经遇到过的弯路。一、认识HDL在学习FPGA之前,一定要学过数电,学的好不好不做讨论,但对基本的门电路、触发器、时序电路等基本的概念一定要有,这是先决条件。确保有基本的数电概念之后,再选择学习HDL((HardwareDescriptionLanguage,硬件描述语言)。HDL主流分两大类,一类是VHDL,另一类是VerilogHDL;现在国内Verilog用的还是比较多的,并且Verilog的语法太像C语言了,如果你有C语言的功底学起来非常的快,所以我还是推荐新同学首选

孩子都能学会的FPGA:第十课——UART通信增加CRC校验

(原创声明:该文是作者的原创,面向对象是FPGA入门者,后续会有进阶的高级教程。宗旨是让每个想做FPGA的人轻松入门,作者不光让大家知其然,还要让大家知其所以然!每个工程作者都搭建了全自动化的仿真环境,只需要双击top_tb.bat文件就可以完成整个的仿真(前提是安装了modelsim),降低了初学者的门槛。如需整个工程请留言(微信Blue23Light),不收任何费用,但是仅供参考,不建议大家获得资料后从事一些商业活动!)第九课已经完成了多字节UART通信的设计,可以在实际工程中应用了。但是一般的通信协议是有CRC校验的,有了CRC校验,就可以进一步增加数据的传输正确率。本节主要是讲述在通信

北邮22级信通院数电:Verilog-FPGA(12)第十二周实验(1)设计一个汽车尾灯自动控制系统

北邮22信通一枚~跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章持续关注作者迎接数电实验学习~获取更多文章,请访问专栏:北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录一.题目要求二.代码部分2.1 car_system.v 2.2 divide.v三.管脚分配四.实现效果一.题目要求设计一个汽车尾灯自动控制系统,要求根据汽车行驶状态自动控制汽车尾灯:直行:尾灯不亮;右转:右侧尾灯亮而且按秒闪烁,左侧尾灯不亮;左转:左侧尾灯亮而且按秒闪烁,右侧尾灯不亮;临时停车或者故障:两侧尾灯同时闪烁;注:用三色LED代码表左右汽车尾灯,用拨码开关控制汽车行驶状态没还可以考虑用七

FPGA中FIFO的应用(二)——异步FIFO设计

⭐️作者简介:小瑞同学,一个努力精进的FPGA和通信学习者。🍎个人主页:小瑞同学的博客主页🌻个人信条:越努力,越幸运!⏰日期:2023.12.3🔍来源:自学经历📖文章内容概述:介绍了异步FIFO的基本工作原理和深度计算,通过仿真观察了其读写过程。连载系列:FPGA中FIFO的应用完整工程已上传至CSDN:下载链接同步FIFO设计异步FIFO设计VivadoFIFOIP核的调用目录1.异步FIFO简介1.1概述1.2主要参数2.空满判断2.1高位扩展法2.2空满标志的时钟域同步2.3二进制数和格雷码之间的转换3.异步FIFO的深度计算4.verilog代码5.仿真分析5.1参考testbench

FPGA学习笔记(五)——时序逻辑电路设计、LED控制、闪烁

好久没更新了,这段时间一直在写小论文,终于投出去了,想要产出一篇论文还是很耗时间的。言归正传,我们接着来学习AC620。一、原理时序逻辑电路时序逻辑电路是指电路任何时刻的稳态输出,不仅取决于当前的输入,还与前一时刻输入形成的状态有关。这跟组合逻辑电路相反,组合逻辑的输出只会跟目前的输入成一种函数关系。换句话说,时序逻辑电路拥有储存元件来存储信息,而组合逻辑电路则没有。下面以计数器为例。设计计数器本节设计一个计数器,使AC620开发板上的4个LED状态每500ms翻转一次。AC620开发板上的晶振输出时钟频率为50MHz,即时钟周期为20ns。这样可以计算得出500ms/20ns=2500000

FPGA Vivado环境下实现D触发器

此触发器具有复位信号RSTn,时钟信号CLK,使能信号En,输入信号D,输出信号Q(仅供参考)工作原理:初始状态下,触发器处于复位状态,输出为复位信号的稳定状态(通常为0)。使能信号EN和输入数据D的值不会影响触发器的状态。当使能信号EN为高电平时,D触发器处于使能状态,可以根据时钟信号CLK的变化来接收和存储输入数据。当使能信号EN为低电平时,D触发器处于禁止状态,不论时钟信号CLK如何变化,都不会对输入数据进行接收或存储。当时钟CLK发生上升沿或下降沿时(取决于D触发器的类型),且使能信号EN为高电平时,D触发器根据输入数据D来更新其状态。如果是上升沿触发的D触发器,在时钟上升沿时,输入数

[FPGA 学习记录] 快速开发的法宝——IP核

快速开发的法宝——IP核文章目录1IP核是什么2为什么要使用IP核3IP核的存在形式4IP核的缺点5QuartusII软件下IP核的调用6AlteraIP核的分类在本小节当中,我们来学习一下IP核的相关知识。IP核在FPGA开发当中应用十分广泛,它被称为快速开发的法宝。在本小节当中,我们将和各位朋友一起来学习了解IP核的相关知识、理解掌握IP核的调用方法。我们分为以下几个部分进行IP核的学习首先是第一部分:IP核是什么。在这一部分,我们会对IP核的基本概念做一个解析第二部分是:为什么要使用IP核。在这一部分会告诉大家IP核的一个使用目的第三部分是:IP核的存在形式,也就是IP核的一个分类第四部

西南科技大学数字电子技术实验二(SSI逻辑器件设计组合逻辑电路及FPGA实现 )FPGA部分

一、实验目的    1、掌握用SSI(小规模集成电路)逻辑器件设计组合电路的方法。2、掌握组合逻辑电路的调试方法。3、学会分析和解决实验中遇到的问题。4、学会用FPGA实现本实验内容。二、实验原理包括:原理图绘制和实验原理简述1、1位半加器2、1位全加器3、三变量多数表决器4、1位二进制数比较器当A>B,L1=1,L2=L3=0;当A当A=B,L2=1,L1=L2=0;5、四变量多数表决器三、程序清单(每条语句必须包括注释或在开发窗口注释后截图)提示:多个设计按以下格式(打印时删除)1、1位半加器modulehalfadder(inputA,B,outputS,Co);assignS=A^B;

xilinx FPGA multi boot之镜像切换

最近做的了一个无线通信的项目,需要在同一套设备上实现两套不同的波形软件,因为FPGA的逻辑资源不够同时放下两套代码,因此采用了镜像切换的方式来实现,xilinx的专业术语叫multiboot功能。意思是在一片Flash中的不同地址放两个代码镜像,通过FPGA的任意一个IO切换镜像。详细概念可以参考UG470,PG134等文档,本文仅讲具体的实现代码。既然是多镜像,意思就是同一套硬件,有多套软件。类似于同一台电脑,可以装了一个linux系统,又装了一个win7系统,甚至多套系统。开机时由用户选择启动哪个系统。本示例包含2个工程镜像,使用512Mbit的QSPIflash。工程1的镜像放在0地址,

MATLAB将数据以16进制写入文本,并高位补零对齐,供FPGA做coe文件使用

%将数据以16进制写入文本,并高位补零对齐%fid=fopen('WRIET_HEX.txt','w+');data=zeros(1,16);fori=1:1:16  data(i)=i;end%以16位宽数据存储N1=4;fori=1:1:16 hex_M_i =dec2hex(round(data(i)),N1);   forn=1:N1    fprintf(fid,'%s',hex_M_i(n));  end    fprintf(fid,'\n');%»»ÐÐend%以32位宽数据存储N=8;fori=1:1:16 hex_M_i =dec2hex(round(data(i)),N)