草庐IT

Xilinx-FPGA

全部标签

Xilinx原语的使用

一、什么是原语?原语,英文名称primitive,是FPGA软件集成开发环境所提供的一系列底层逻辑功能单元。由于是底层逻辑功能单元,所以它们往往跟目标FPGA芯片以及芯片厂商紧密相关,因此不同厂商、不同器件的原语往往不能通用。当编译器对我们的HDL代码进行编译时,其中间环节的一些输出往往就是由原语组成的逻辑网表。因此,原语往往是不参与综合过程的,而使用原语描述的逻辑往往也不会被综合工具所优化。例如,Xilinx公司的ISE软件集成开发环境中的unisims库中定义了所有用于综合的原语,而simprims库中则定义了所有用于实现的原语。需要注意的是,在ISE安装目录下的verilog\src\u

FPGA实现SPI协议

SPI接口1简单的设计模块1首先简单的想一下这个模块应该怎么设计。拿到这个小题目你的思路是怎么样的呢?很多时候靠经验设计,并没有一个顺序的思路。六步法:第一步:输入输出波形的画出第二步:画出计数器结构(搞清楚数的是什么东西)cnt表示上一个时钟数到的结果。数x下,通用表达式:add_cnt&&cnt==x-1;第三步:确认计数器加1条件(数什么)和结束条件(数多少个),注意先考虑加1,在考虑结束条件;我们计数器cnt数的是什么呢?dout==1的时钟个数,cnt要数10个(10是功能要求来的)第四步:确认其他信号的变化条件(dout变化点,即0变1,1为0的条件)dout由0变1的条件是什么?

★教程2:fpga学习教程入门100例目录

1.订阅本教程用户可以免费获得本博任意2个(包括所有免费专栏和付费专栏)博文对应代码;(私信博主给出代码博文的链接和邮箱)2.本FPGA课程的所有案例(部分理论知识点除外)均由博主编写而成,供有兴趣的朋友们自己订阅学习使用。未经本人允许,禁止任何形式的商业用途;3.本课程除了介绍常见的verilog语法之外,我们更侧重于各种实例的完整设计介绍。包括IP核的使用,各种算法的处理技巧。并且从通信,控制,图像,语音,深度学习等五个FPGA最常用的领域介绍了相关案例,如果对于某个较为复杂的案例,初学者无法正确实现,可私信博主获得完整工程代码。同时,本教程也涵盖了几个比较经典的案例:基于FPGA的DDS

【提升FPGA面试技能:了解仿真加速平台Palladium、Zebu和Veloce】

【提升FPGA面试技能:了解仿真加速平台Palladium、Zebu和Veloce】FPGA(Field-ProgrammableGateArray)在硬件加速领域发挥着非常重要的作用,但是在设计和验证过程中需要进行大量的仿真工作,于是仿真加速平台应运而生。其中,Palladium、Zebu和Veloce是主流的三种仿真加速平台。本文将详细介绍这三种平台的特点和使用方法,以帮助读者更好地了解和应用这些平台。PalladiumPalladium是美国Cadence公司生产的一种前端仿真器,基于FPGA芯片的快速验证平台。与传统的ASIC验证方式相比,Palladium可以有效减少验证时间和成本,

如何创建 Xilinx BRAM 或 ROM 初始化文件(.COE)并实现初始化数据在 FPGA 上的载入

如何创建XilinxBRAM或ROM初始化文件(.COE)并实现初始化数据在FPGA上的载入在FPGA开发中,初始化数据是一个非常重要的内容,它决定了电路从上电开始的初始状态,对于保证正确性和可靠性有着至关重要的作用。其中,BRAM(BlockRAM)和ROM(Read-OnlyMemory)是两种常见的存储器,因此本文将介绍如何创建XilinxBRAM或ROM的初始化文件(.COE),并将其载入FPGA中。一、创建.COE文件在XilinxVivado中,可以通过下述步骤创建.COE文件:在工程管理器中点击Sources->DesignSources->SimulationSources;右

FPGA驱动RGB灯带WS2812B

记录一下短学期做的东西—— FPGA驱动RGB灯带WS2812B设计目标1、有多种模式,按键调节模式等参数;2、模式1:红绿蓝白四色循环显示,速度、亮度可调;3、模式2:7彩虹+白色,闪烁,速度、亮度可调;4、模式3:红绿蓝白红绿蓝白呼吸效果,速度、亮度可调;5、模式4:循环移位效果,速度、亮度可调;6、其他。 项目代码        1.WS2812驱动                老师提供的驱动代码:                RZ_Code.vmoduleRZ_Code( input clk, input rst_n, input [23:0] RGB, //按照GRB的顺序排列

FPGA2-采集OV5640乒乓缓存后经USB3.0发送到上位机显示

1.场景基于特权A7系列开发板,采用OV5640摄像头实时采集图像数据,并将其经过USB3.0传输到上位机显示。这是验证数据流能力的很好的项目。其中,用到的软件版本,如下表所示,基本的硬件情况如下。该项目对应FPGA工程源码,qt工程源码,以及USB固件的下载地址软件版本QT5.15.0Vivado2020.2FX3SDK1.3.4器件型号厂商FPGAXLNX-XC7A35T-FTG256赛灵思DDR3MICT-MT41K128M16JT-96镁光USB控制芯片CYUSB3014-BZXI赛普拉斯摄像头OV5640豪威科技 2.架构如图,所示为该小项目的基本架构。其硬件部分由摄像头采集模组、D

xilinx 除法ip核(divider) 不同模式结果和资源对比(VHDL&ISE)

1.Radix-2模式:基数-2使用整数操作数的非恢复整数除法,允许生成分数或整数余数。对于小于16位的操作数宽度或需要高吞吐量的应用程序,建议使用。基数-2非恢复算法使用加减法求解每个周期的一点商。该设计是完全流水线的,可以实现每个时钟周期一分的吞吐量。如果所需的吞吐量较小,则每个时钟参数的分法允许降低吞吐量和资源使用。该算法自然会生成一个余数,对于需要整数余数或模数结果的应用程序的选择也是如此。Radix-2模式下:可以选择是余数还是分数;也可以选择是有符号位还是无符号位;几个时钟读一次数也可以选择;但是当选择余数类型时,不可以更改其位宽;如果是分数类型,可以改位宽(不可以是0);计算的时

【FPGA实现三态门(inout)Verilog代码详解】

【FPGA实现三态门(inout)Verilog代码详解】三态门(tristategate)是在数字电路中使用频率较高的一种逻辑门,其特点是输出端具有三种可能的状态:高电平、低电平和高阻态。在实际应用中常常用于多个设备共享同一个总线的情况下,有效地防止输出口相互影响、产生干扰等问题。本文将介绍如何使用Verilog语言来实现三态门。首先,需要清楚地知道什么是inout类型的端口。它是一种既能作为输入端,也能作为输出端的端口类型,可以与其他模块共享同一信号线。在Verilog中,声明inout型端口时需要使用关键字“inout”。下面通过示例代码来演示如何实现一个inout型的三态门。modul

FPGA VR摄像机-拍摄和拼接立体 360 度视频

本文介绍的是FPGAVR相机的第二个版本,第一个版本是下面这样:第一版地址:❝https://hackaday.io/project/26974-vr-camera-fpga-stereoscopic-3d-360-camera❞本文主要介绍第二版本,第二版本的VR摄像机,能够以30fps的速度拍摄4k(3840x1920)立体360度视频,同时在摄像机上实时拼接和编码。除了最终的H.264编码将在NvidiaJetsonTX2上执行之外,所有图像处理功能都将在FPGA上执行。硬件组成友晶DE10-Nano8×AptinaAR0330摄像头模块,带12毫米镜头卡口2×四摄像头接口PCB1×NV