草庐IT

第一章 FPGA开发环境安装

FPGA是什么FPGA(FieldProgrammableGateArray,简称FPGA),中文名:现场可编程门阵列,一种主要以数字电路为主的集成芯片。现场:“现场”这个词指的是FPGA可以在使用时进行编程,而无须将芯片拆下并返回生产厂家完成编程。门阵列:意思就是FPGA是由大量的“逻辑门”组成,最基本的逻辑门如我们熟悉的与门,或门,非门,异或门,但是FPGA的逻辑门不在是传统的简单逻辑门构成,而是以查找表(LookupTable,LUT)的形式实现。可编程:就是可以通过软件代码来定义其功能,如CPU就可以通过执行不同的程序来实现不同的功能,但是FPGA的可编程实现与CPU不同,在FGPA内

FPGA采集CameraLink相机Full模式解码输出的实现设计方案

FPGA采集CameraLink相机Full模式本文详细描述了FPGA采集CameraLink相机Full模式解码输出的实现设计方案,思路是这样的,CameraLink相机输入到FPGA板子,FPGA使用内部逻辑资源实现LVDS视频解码,解析出像素时钟、行同步信号、场同步信号、数据有效信号、以及像素数据,然后将视频转为Xilinx的AXI4-Sream的视频流,经VDMA送入DDR3缓存,然后读取出视频再经过AXI4-SreamtoVideoOut通过HDMI接口输出视频,这是Xilinx图像处理常用的套路,可谓相当精巧的方案FPGA采集CameraLink相机Full模式下的解码输出实现设计

【国产FPGA】国产FPGA搭建图像处理平台

最近收到了高云寄过来的FPGA板卡,下图:来源:https://wiki.sipeed.com/hardware/zh/tang/tang-primer-20k/primer-20k.htmlFPGA主要参数:FPGA型号参数GW2A-LV18PG256C8/I7逻辑单元(LUT4)20736寄存器(FF)15552分布式静态随机存储器S-SRAM(bits)41472块状静态随机存储器B-SRAM(bits)828K块状静态随机存储器数目B-SRAM(个)46乘法器(18x18Multiplier)48锁相环(PLLs)4I/OBank总数8因为板卡是第三方的,所以不予评价,我们今天主要从下

FPGA配置高速ADC篇(3)_3线SPI配置时序分析

​ 注:扫码关注小青菜哥哥的weixin公众号,免费获得更多优质的核探测器与电子学资讯~​上篇以德州仪器(TI)的高速ADC芯片——ads52j90为例,介绍完了4线SPI配置时序。本篇将以AnalogDevice(ADI)的多通道高速ADC芯片AD9249为例,介绍3线SPI读写配置时序。另外,大家如果想详细了解AnalogDevice(ADI)公司的关于SPI的所有内容,推荐大家在其官网阅读AN-877。AD9249的SPI控制模块包含4根信号线,即CSB1、CSB2、SDIO以及SCLK。但CSB1、CSB2可以一起由CSB来控制,实际上就是3线SPI。由于3线SPI数据的读、写操作在同

【LabVIEW FPGA入门】FPGA中的数学运算

    数值控件选板上的大部分数学函数都支持整数或定点数据类型,但是需要请注意,避免使用乘法、除法、倒数、平方根等函数,此类函数比较占用FPGA资源,且如果使用的是定点数据或单精度浮点数据仅适用于FPGA终端。1.整数运算支持的数据类型:8位有符号和无符号整数数值16位有符号和无符号整数数值32位有符号和无符号整数数值64位有符号和无符号整数数值1.1加减法        1.2乘除法    为了节省FPGA资源,最好不直接用FPGA上乘的除法函数。一般可以用商与余数和按2的幂缩放。(但是在FPGA里,乘法需要先转成二进制做加法运算,再做乘法,除法也是先转成二进制做减法在做除法)    除法函

FPGA之分布RAM(1)

SLICEM资源可以实现分布式RAM。可以实现的RAM类型:单口RAM双端口简单的双端口四端口下表给出了通过1SLICEM中的4个LUT可以实现的RAM类型1.32X2QuadPortDistributedRAM        我们介绍过把6输入LUT当作2个5输入LUT使用,在这里,就可以同一个LUT实现数据位宽的增加。对于32X2的4口RAM,如下图所以,代表了输入和输出的数据位宽都是2bit,深度是32.4口代表了4个LUT都处于工作状态,它们的DIO和DII,共用,第一个LUT的Al-A5和WAI-WAS相连接,并且4个LUT的WA1-WAS全部接到了一起。所以我们可以同时把数据写入到

从0开始的FPGA字符识别项目

目录1:verilog和HDL2:Fpga和stm32等单片机的区别3:asic和fpga的区别4:zynq的资源介绍1:什么是zynq:开发过程:算法部分介绍实现过程1:verilog和HDLHDL(硬件描述语言)是用于描述和设计电子系统的计算机语言,特别是数字系统如集成电路和打印电路板。HDL允许设计师编写可执行规范来描述他们的系统应该做什么,而不仅仅是如何做。最常见的两种类型的HDL是VHDL和Verilog。Verilog是一种用于模拟和硬件描述的HDL。它旨在允许设计师以文本形式表达他们的设计,并在电子表格设计中提供一个验证工具。Verilog因其语法简洁和易于学习而流行,并由IEE

FPGA驱动步进电机-Sin曲线加速

FPGA驱动步进电机-Sin曲线加速基本实现原理实际仿真的波形程序以下由特权同学的FPGA文档摘取Sin曲线控制step脉冲信号生成的功能框图如下所示。基本实现原理①判断步进电机驱动的目标频率stepper_delay_target与当前频率stepper_delay_current的值是否一致,若一致,则不做任何加速、减速操作,保持当前速度运行;若目标频率高于当前频率,则执行加速;若目标频率低于当前频率,则执行减速。②在加速或减速控制开启状态下,1ms分频计数逻辑每个1ms产生一个高脉冲,用于切换当前的速度。③在每1ms,步进电机的速度都会加速或减速一定的频率值,这个频率值和匀加速总是“固定

FPGA_Signal TapII 逻辑分析仪 在线信号波形抓取

FPGA_SignalTapII逻辑分析仪在线信号波形抓取由于一些工程的仿真文件不易产生,所以我们可以利用quartus软件自带的SignalTap工具对波形进行抓取对各个信号进行分析处理,让电子器件与FPGA进行正常通讯工作,也验证所绘制的波形图是否一致。1、首先确保你的工程已经完成(包括引脚配置,I/O设置等),然后编译工程。连接开发板与Blaster仿真器,对开发板上电,完成之后打开tool–>signaltapIIlogicanalyzer.2、点击方框处的setup,在弹出的窗口中选择USB-Blaster[USB-0]选项,点击close即可。3、点击方框处添加sof文件,一般so

【FPGA & Modsim】数字时钟

实验题目:  数字时钟设计                                 实验目的:  掌握数字时钟的工作原理;掌握使用数字逻辑设计集成开发环境分模块设计数字时钟的方法。                         实验内容:1、创建一个数字时钟工程,使用六位数码管实时显示时/分/秒。3、时钟应具有稳定的计时功能,能够连续运行并准确显示时间。实验步骤:1、明确实验要求,确定系统功能,设计整体方案。2、按照实现功能将数字时钟设计系统划分为时钟基准、显示驱动、按键控制等模块。3、使用VerilogHDL编写各模块的逻辑代码。4、在仿真环境中测试各模块的功能。实验数据记录:分模