随笔分类 - FPGA学习笔记
摘要:1.烧写文件格式:ALTERA的开发板在程序开发过程中,要把程序烧写到FPGA开发板上运行,上版调试,有三种文件格式sof,jic,pof。 区别见:【FPGA 学习笔记】sof文件和jic文件的区别,程序固化(将sof文件装换位jic文件)_米多奇米饼的博客-CSDN博客_sof文件 简言之: s
阅读全文
摘要:一.基础知识 1.历史 早期在FPGA芯片上实现HDMI控制显示是使用HDMI发送芯片,eg:ADV7513,sil9022,CH7301等。用之前VGA控制中输出的RGB信号,行场同步信号和使能信号输入到HDMI芯片中处理再输出。 为了节省I/O引脚资源,直接在FPGA上设计HDMI时序并直接连接
阅读全文
摘要:一.编码步骤: 基本方法:取第一位数据为初值,接下来输入的每一位与前一导出的位(根据判断条件)进行异或XOR或者同或XNOR(最小化传输,减少0/1翻转);最后选择性反转这9bit数据(DC平衡处理,平衡0和1的个数)。 ①DE为高电平时,对8位RGB数据编码,第9bit表示采用了XOR / XNO
阅读全文
摘要:ISE软件:XILINX家的一个设计软件,13年后停更,改成VIVADO,也就是我之前在学的。VIVADO只能设计7系列以上的芯片,要想设计6及以下的还得看ISE,而且ISE还可以设计7及以上,范围比VIVADO广。 问题:系统是win11,无法使用ISE,win10想使用也比较不兼容,最好是用WI
阅读全文
摘要:一.基本知识 千兆以太网通过MAC和PHY芯片通信,MAC端可由FPGA实现,而PHY是物理芯片,只需要配置其工作模式,速率等等参数,便可正常运行。在前面的千兆以太网收发模块中我们并没有考虑配置PHY芯片,因为它在默认状态下也可以正常工作。本次设计主要学习如何配置PHY芯片。 ①通信协议 理解:协议
阅读全文
摘要:一.功能:从rgmii接口(物理芯片)接收数据(4位),并通过gmii转rgmii接口(fpga)把数据转化为8位,验证udp帧的正确性,并把用户数据提取出来(去掉帧头帧尾)存储。 二.接收过程(gmii): ①分段判断: Ⅰ.前导码; Ⅱ.mac帧头:mac地址和以太网类型(IP还是arp); Ⅲ
阅读全文
摘要:一.功能:在FPGA开发板上,用户数据存于FIFO,经过UDP,IP,MAC封装,通过GMII发出,再经过GMII转RGMII接口发送出去。完整的以太网应该包括收发功能,这里介绍发送模块。 二.实现:序列机 三.过程:发送顺序: MAC帧头——IP包头——UDP包头——用户数据——FCS校验字段 封
阅读全文
摘要:1.网络结构:计算机网络的层次结构如图所示。 协议:传输层则包含UDP协议,TCP协议,网络层有arp协议和IP协议,数据链路层封装MAC帧,通过物理层的PHY物理收发芯片传输数据。用户数据在不同设备中传输需要经过层层封装,形成一帧数据,如下图所示: 识别:mac帧以mac地址识别(不同设备),IP
阅读全文
摘要:一.功能: 1.使用uart串口接收模块接收待显示的串行数据(像素RGB值)。 2.把待显示的数据写入ram中。 3.从ram中读取像素值到TFT显示屏中显示,并对应输出该像素的坐标值。 4.在RAM的IP核中提前加载一幅图片并显示。 二.系统框图: 三.实现:使用之前设计的uart_tx模块发送串
阅读全文
摘要:TFT为薄膜场效应管驱动的液晶显示器(场效应管做有源器件控制液晶两端电压)。 虽然TFT显示屏的显示原理区别于上节VGA控制的CRT(阴极射线管)显示屏,但由于它的时序与VGA一致,使用上节VGA代码便可控制TFT显示屏的显示。 在这里学习一下RGB888与RGB565的转换,即24位色彩与16位色
阅读全文
摘要:前面学习的改参数的方法回顾: 1.使用变量(数组边界:array[ ( 变量名 ) + : x 位 ] )2.参数化设计(例化时修改参数)(如:①defparameter xx = m ; ②#(.参数名(新值))) 上节我们写的程序适用于分辨率为 640 * 480 的显示器,而实际应用中,我们有
阅读全文
摘要:各类显示屏的显示原理大部分是利用人眼的视觉暂留效应。比如之前的数码管显示就是设计每个周期内各个小段按顺序显示,来达到显示一个数字的效果。 VGA同理,显示屏在显示时是一个像素一个像素地显示,在人眼看来所有像素是同时显示的,便构成了一幅图片。①显示器尺寸相同的情况下,分辨率越高(如4k屏:3840*2
阅读全文
摘要:VGA显示是图像处理的基础,是一开始广泛使用的显示器,大部分机器采用VGA接口驱动,所以后来的显示器需要用VGA-xxx转接口来匹配。 用FPGA来驱动VGA,并不适用于显示动态(如手机显示,GUI)等场景,但适用于用来实时显示图像内容(如实时图像采集),这种场景FPGA无需主动绘制图像,而是根据接
阅读全文
摘要:一般来说,开发板的时钟是由板上的晶振产生的,频率大部分是固定的,但是我们在应用中有时候需要其他频率的时钟信号。为了解决这个问题,FPGA内部会留有专门的设置电路——时钟管理单元(硬件资源),利用已有的时钟信号来产生其他的时钟信号。 比如晶振50MHz,我们需要125MHz的时钟信号,这时候就需要用锁
阅读全文
摘要:目的:设计一个DDS,可以输出两个波形,输出的波形的周期可以修改,相位可以修改,种类也可以修改 输入:clk,reset,一个控制T的按键,一个控制相位的按键,一个控制波形种类的按键。 思路:双通道——需要两个DDS。 波形种类可控——每个DDS需要四个ROM分别存放正弦波,三角波,锯齿波,方波。
阅读全文
摘要:DDS(Direct Digital Synthesis)是一种把一系列数字信号通过D/A转换器转换成模拟信号的数字合成技术。 它有查表法和计算法两种基本合成方法。在这里主要记录DDS查表法的fpga实现。 查表法:由于ROM查询法结构简单,只需要在ROM中存放不同相位对应的幅度序列,然后通过相位累
阅读全文
摘要:IP核:Intellectual Property core ,即知识产权核。每个IP核可以实现特定功能,我们在设计一个东西时可以直接调用某个IP核来辅助实现功能。 存在形式:HDL语言形式,网表形式、版图形式。分别对应我们常说的三类IP内核:软核、固核和硬核。 在Vivado中调用: ①选择所需的
阅读全文
摘要:fpga中的存储器三种:RAM,ROM,FIFO。 RAM和ROM已经比较熟悉了,记录一下FIFO。 FIFO:first in first out ,顺序存取,先入先出。是一种数据缓存器,用来作不同接口的缓冲地,其应用场景有: ① 不同时钟域:数据产生速率 与 数据使用速率 不相等,这个时候用FI
阅读全文
摘要:任务: 电路图设计: 设计: 模块1:1.先设计一个计数时钟,为了仿真方便,这里把1000ns当作1s。 创建一个计数器second_lim,当计数到1000/20时清零,即1s。 秒显示器second_show,每当second_shwo小于59且second_lim清零时second_show加
阅读全文
摘要:上一次写了驱动74HC595的驱动,并测试了他的可行性,但没有把整套电路综合起来测试,现在把三个电路连接起来进行了测试,并做一个总结。 目的: part1: 输入8个4位的数据(即8个0~f),共32位,使其可以在八个数码管上同时显示出来。 注:前面提到,为了节省引脚,利用人眼的视觉暂留效果,所以设
阅读全文

浙公网安备 33010602011771号