![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FPGA
文章平均质量分 90
江湖上都叫我秋博
这个作者很懒,什么都没留下…
展开
-
FPGA_学习_17_IP核_ROM(无延迟-立即输出)
由于项目中关于厂商提供的温度-偏压曲线数据已经被同事放在ROM表了,我这边可用直接调用。今天在仿真的时候,发现他的ROM表用的IP核是及时输出的,就是你地址给进去,对应地址的ROM数据就立马输出,没有延迟。我打开他的IP核配置一看,他用的是。我以前用的是Block Memory Generator。所以,我立马进行了的测试。原创 2023-08-19 11:32:54 · 1070 阅读 · 1 评论 -
FPGA_学习_16_IP核_ROM(延迟一拍输出)
在寻找APD最合适的偏压的过程中,一般会用到厂商提供一条曲线,横坐标是温度的变化,纵坐标表示击穿偏压的变化,但每个产品真正的击穿偏压是有差异的。为了能够快速的找到当前温度下真实的击穿偏压,我们可以这样做,我先根据温度,得到厂商提供的击穿偏压。然后再用厂商提供的击穿偏压,减去几伏。我们以此作为寻找真实击穿偏压的起点。以一个固定的步长提升APD的偏压,直到满足我们设定的击穿判断条件。但是呢,在整个这个流程中,我们需要解决一个问题,就如何在FPGA程序中实时的去获取当前温度下对应的击穿偏压。原创 2023-08-17 14:21:59 · 846 阅读 · 0 评论 -
FPGA_学习_15_IP核_VIO
前一篇博客我们提到在线调试的时候, 可执行文件只要烧进板子,程序它就会自己跑起来,不会等你点这个按钮,它才开始跑。我们测试的模块中,里面可能有几个我们关心的信号,它会在程序刚运行很短的时间内发生状态跳变。当我们打算去捕获它的状态变化的时候,这个时候程序已经跑过了,这导致我们无法抓取到。那这个时候我们应该怎么办呢?引入VIO这个工具,用VIO的输出信号作为我们测试模块的使能信号,这样我们就能控制待测试的模块什么时候运行。VIO是个特别简单的IP核,丝毫不用有畏难情绪。原创 2023-08-16 16:55:05 · 3314 阅读 · 1 评论 -
FPGA_学习_14_第一个自写模块的感悟和ila在线调试教程与技巧(寻找APD的击穿偏压)
前一篇博客我们提到了,如果要使用算法找到Vbr,通过寻找APD采集信号的噪声方差的点去寻找Vbr是一个不错的方式。此功能的第一步是在FPGA中实现方差的计算,这个我们已经在上一篇博客中实现了。继上一篇博客之后,感觉过了很久了,原因是最近陷入的FPGA在线调试的无线循环。万事开头难,自决定自学FPGA以来已3月有余。刚开始我以为的万事开头难是如何从零开始在板子上跑个程序。而。而就在刚才,我经历了千辛万苦,终于算是把我第一个模块调通了。原创 2023-08-16 13:57:40 · 843 阅读 · 0 评论 -
FPGA_学习_13_方差计算小模块
测距器件APD的性能与器件本身的温度、施加在APD的偏置电压息息相关。在不同的温度下,APD的偏压对测距性能的影响非常大。要确定一个合适的APD的偏压Vopt,首先你要知道当前温度下,APD的击穿电压Vbr,一般来讲,Vopt = Vbr – ΔV,ΔV基本是个固定的值。如果要使用算法找到Vbr,通过寻找APD采集信号的噪声方差的剧变点去寻找Vbr是一个不错的方式。如下图所示,当方差从10以下,突然剧变到45.31,信号噪声方差剧变4倍不止。我们就可以定义此处偏压43.8V为击穿电压Vbr。原创 2023-07-22 15:31:07 · 1432 阅读 · 3 评论 -
FPGA_学习_12_IP核_FIFO
FIFO(Frist Input Frist Output),即先入先出,也是一种存储器,一般做数据缓冲。FIFO和 RAM的在于都能存储数据、都有控制写和读的信号;在于 FIFO 没有地址,所以不能任意指定读取某一个数据,数据只能按照数据输入的顺序输出,即先入先出,并且读写可以同时进行。如果数据把 FIFO 的深度写满了,数据将不能再进去,也不会覆盖原有的数据;原创 2023-06-21 17:59:31 · 1647 阅读 · 1 评论 -
FPGA_学习_11_IP核_RAM_乒乓操作
本篇博客学习另一个IP核,RAM。用RAM实现什么功能呢?实现乒乓操作。乒乓操作是什么呢?以下是本人理解:乒乓操作可以实现低速模块处理高速数据,这种处理方式可以实现数据的串并转换,就是数据位宽之间的转换,是面积与速度互换原则的体现。例如:数据位宽的转换,要将8位的数据转换为16位,按照传统方法,每两个时钟周期完成一次转换,输出数据的变化与时钟信号不是同步的。使用乒乓操作,数据写入数据缓冲模块的时候使用50M的时钟,读出时使用25M的时钟,每次读出16。原创 2023-06-21 11:00:11 · 1888 阅读 · 0 评论 -
FPGA_学习_10_IP核_PLL
片上资源的使用,或者说IP核的使用,是FPGA编程要学习的分量很重的一部分内容。其中最常见的就要属PLL了,时钟是一切程序的基础。PLL的时钟倍频功能是用户自己手撕代码无法实现的,但使用PLL IP核,几步图形界面的简单操作就能轻松实现。本文的内容就是配置一个PLL IP核,并在我们的FPGA代码中调用。原创 2023-06-20 11:15:28 · 1148 阅读 · 0 评论 -
FPGA_学习_09_PWM呼吸灯
PWM在三相电机控制中,有着非常重要的地位。如果你需要用FPGA去实现三相电机的控制, PWM这一关是绕不过的。好在PWM的基本原理是比较简单的。所以原理部分本文就略过,本文基于PWM实现呼吸灯。原创 2023-06-19 11:48:24 · 293 阅读 · 0 评论 -
FPGA_学习_08_有限状态机
开发板上有两个按钮,两个led灯。一个按钮做复位按钮。另一个按钮作为控制两个LED灯的输入。按钮每按下一次,LED的值加一, 00 01 10 11 00 如此循环。按钮按下释放的过程,有5个状态, 空闲(复位状态)→按钮未按下 → 按下的抖动 → 按钮已按下 → 释放抖动 → 按钮未按下。在开关按下或者释放的时候,都会发生抖动,比如按钮按下的时候,我们可以对按键处于低电平做一个累加计数。比如当我一直处于低电平累计计数20ms了,那我认为你已经按键按下了,稳定了。原创 2023-06-15 18:01:33 · 845 阅读 · 2 评论 -
FPGA_学习_07_按键消抖
机械按键是常用的器件,但在机械按键使用的过程中,总伴随着抖动,在本次实验中,我们将完成,并且通过按键控制LED亮灭。理想情况下,按键按下过后,按键处为低电平,当按键释放过后恢复为高电平,但在实际情况下,由于按键采用的机械结构,当按键按下过后,电平不能立即保持为低,会有一段时间的跳变后才稳定,保持为低。同理,当按键释放的时候,电平不能立即保持为高,也有一段时间的不稳定状态。在本次实验中,通过按键输入电平保持为低的达到20ms后认为按键已经稳定,通过计数器对按键输入为低电平时间进行计数,消除按键抖动。原创 2023-05-25 18:09:39 · 330 阅读 · 0 评论 -
FPGA_学习_06_按键控制LED
本文的实验主要用于按键驱动LED灯的亮灭,重心主要是对于按键亚稳态的处理上,什么是亚稳态?亚稳态是指触发器在某个规定时间段内一个。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。若不对异步信号进行处理的话,直接将异步数据扇出到其他寄存器中,可能会导致其他寄存器对同一个信号的采样值不一样,这在数字电路中是很可怕的一件事情。原创 2023-05-23 16:12:05 · 214 阅读 · 0 评论 -
FPGA_学习_05_管脚约束
就初学管脚约束相关知识而言,内容还不足以构成饱满的文章。但管脚约束是一个独立的内容,它是值得有一篇单独的博客的。若后续学习了管脚约束新的知识,则进一步扩充本篇博客内容。原创 2023-05-19 10:51:07 · 4230 阅读 · 3 评论 -
FPGA_学习_04_Verilog基础语法和Modelsem仿真
对于以前学过C/C++/C#的作者来讲,Verilog的基础语法算是。原创 2023-05-17 18:00:09 · 1460 阅读 · 0 评论 -
FPGA_学习_03_第一个FPGA程序流水灯
本人购买的开发板接在PL端的只有2个LED灯,刚好达到流水灯的最低要求。根据原理图可知1 这两个PL端的LED分别接在FPGA的P15脚和U12脚,另外,要点亮LED灯,FPGA应该输出低电平。2 我们以开发板上的一个按钮作为系统的复位按钮,端口P16,取名rst_n。(reset negative的缩写,即低电平复位的意思)3 系统的输入时钟是50MHz,即时钟周期为1s/50_000_000 = 20ns。N18。原创 2023-05-16 14:27:05 · 603 阅读 · 0 评论 -
FPGA_学习_02_开发环境
本文记录本人初学FPGA使用的开发环境开发板的:微相 FPGA 开发板 Z7-Lite 7010FPGA芯片: XILINXFPGA芯片百度网盘路径: 百度网盘—永久区—02_软件—FPGA相关软件。原创 2023-05-05 10:00:25 · 1229 阅读 · 0 评论 -
FPGA_学习_01_基础知识(有点劝退,心灵弱小者勿入)
把CPU I/O DSP 放在一个器件中,形成单片的片上可编程系统(SOPC system on programmable chip)ALTERA 被 INTEL 167亿美元收购 改名为INTEL。采用可编程逻辑器件代替外部器件,去掉很多硬件,降低成本和功耗。硬件可以逆向工程抄,瓶颈是开发环境 – 技术支持。LATTICE 被神秘的中国公司收购。占据FPGA绝大部分的市场份额。需要较大的电路板 容纳这些器件。瓜分军用 低功耗 等细分市场。提高 系统的设计成本和复杂度。原创 2023-04-26 16:59:23 · 2056 阅读 · 3 评论