FPGA
文章平均质量分 82
FPGA入门到精通
专注FPGA开发,从事FPGA开发10年,分享FPGA开发知识与项目经验
展开
-
掌握这3个技巧,让AI为你的FPGA开发加速
以GPT、文心一言、通义千问等为代表的大模型,通过在海量互联网数据上的预训练,特别是大量GitHub代码的融入,让模型阅读和编写代码的能力。今天分享到这里,大模型还有更多更丰富的功能,后续将继续分享,借助AI大模型可以在一定程度上提升我们的开发效率,大家可以玩起来。在FPGA开发中,经常会需要阅读英文手册,写代码过程中,定义变量名、函数名,这些都可以直接调用AI的翻译功能专有智能体。给出提示词后,大模型直接回复了我们要求的内容,如果这个代码不符合要求,我们可以继续把要求发给AI大模型。原创 2024-05-20 09:55:43 · 963 阅读 · 0 评论 -
如何获取FPGA的device DNA?(含源码)
FPGA的Device DNA通常指的是芯片的唯一识别码,也被称为设备序列号(Device Serial Number)或设备ID。这个序列号是制造商在生产过程中编程到芯片中的,用于标识每一个单独的FPGA芯片。它通常包含了制造商信息、生产批次、型号等关键信息。Device DNA是非易失的,不可更改,只有只读属性。原创 2024-04-20 14:16:03 · 1307 阅读 · 0 评论 -
Vivado综合属性SRL_STYLE怎么用?
SRL_STYLE属性用于指导Vivado综合工具如何将SRL映射为硬件实现。在Xilinx FPGA中,SRL可以由不同类型的硬件资源实现,包括寄存器(Flip-Flops)、查找表(LUTs)以及块RAM(Block RAM)。不同的实现方式具有不同的性能特点和资源消耗,因此选择合适的SRL_STYLE对于优化设计至关重要。移位寄存器是一种重要的数字逻辑电路,它能够在时钟信号的驱动下,将存储的数据按位进行左移或右移。这种电路在串行通信、数据处理和存储器设计中有着广泛的应用。原创 2024-04-20 14:04:51 · 854 阅读 · 0 评论 -
FPGA乒乓操作详解,知道与FIFO的区别吗?
FPGA乒乓操作是一种高效的数据流控制处理技巧,它主要应用于需要快速且连续数据处理和缓冲的场合。乒乓操作的核心在于利用两个缓冲区交替存储数据流,从而实现数据的无缝实时传输和处理。本文将详细介绍乒乓操作的基本原理、应用场景以及与FIFO的区别。原创 2023-12-14 09:10:08 · 903 阅读 · 0 评论 -
【FPGA图像处理实战】- 图像行缓存设计实现方式一(FIFO)
图像处理中稍复杂点的算法,就需要行缓存,以实现3*3窗口、6*6窗口的数据计算。本文将介绍使用FIFO来实现图像行缓存的设计,包括关键逻辑分析,源代码实现分享。原创 2023-12-13 09:07:30 · 523 阅读 · 0 评论 -
Quartus各版本下载分享
分享一下Quartus各版本的下载链接原创 2023-07-29 18:31:23 · 1477 阅读 · 0 评论 -
FPGA开发基本流程详解
FPGA是一种可编程逻辑器件,与传统的硬连线电路不同,它具有高度的可编程性和灵活性。FPGA的设计方法包括硬件设计和软件设计两部分,硬件设计包括FPGA芯片电路、存储器、输入输出接口电路等等,软件设计则是HDL程序开发,以及软硬件的联调。本文主要介绍FPGA设计的基本流程,让大家对FPGA开发流程有一个整体的认识。原创 2023-05-16 22:37:04 · 6558 阅读 · 2 评论 -
FPGA终于可以愉快地写代码了!Vivado和Visual Studio Code黄金搭档
VIvado可以兼容多种第三方编辑器软件,但尤其推荐使用VIsual Studio Code,搭配丰富的查件,可以极大的激发FPGA开发生产力,这里介绍一下Visual Studio Code安装以及常用的配置和插件。原创 2023-04-22 09:15:00 · 2845 阅读 · 0 评论 -
FPGA分频器设计(偶数分频、奇数分频)
FPGA分频器是一种常用于数字信号处理、通信系统、雷达系统等领域的电路,其作用是将信号分成多个频段。在FPGA设计中,分频器是不可或缺的组成部分之一,通过对信号进行分频,可以方便地对不同频段进行处理和传输。本文将详细介绍FPGA分频器的设计方法,并附上Verilog代码示例,以供参考。原创 2023-04-08 12:14:10 · 1237 阅读 · 0 评论 -
FPGA奇偶校验
在数字电路中,数据的正确性非常重要。为了保证数据的正确性,在传输数据时需要添加一些冗余信息,以便在接收端进行校验。其中一种常用的校验方式是奇偶校验(Parity Check)。本文将介绍奇偶校验的基本原理及实现方法,并给出FPGA实现的代码示例。原创 2023-04-07 07:15:00 · 992 阅读 · 0 评论 -
FPGA状态机详解
FPGA的特点是并行执行,但如果需要处理一些具有前后顺序的事件,就需要使用状态机。状态机是一种用于处理具有前后顺序的事件的计算机模型,包含现态、条件、动作和次态四个要素,它可以将一个复杂的控制流程分解成多个互相独立的状态,从而简化设计过程并提高了系统的可靠性和性能。本文将对FPGA状态机进行详细介绍,帮助大家了解状态机的设计和应用。原创 2023-04-05 16:58:34 · 1040 阅读 · 0 评论 -
FPGA复位设计,是否需要每个寄存器都复位?
在FPGA设计中,当复位整个系统或功能模块时,需要将先关寄存器被清零或者赋初值,以保证整个系统或功能运行正常。在大部分的设计中,我们经常用“同步复位”或“异步复位”直接将所有的寄存器全部复位,这部分可能大家都习以为常。但实际上,是否需要每个寄存器都进行复位呢?这是一个值得探讨的问题。原创 2023-04-02 14:15:06 · 728 阅读 · 0 评论 -
FPGA中的异步复位、同步复位与异步复位同步释放
在FPGA设计中,复位电路是非常重要的一部分,它能够确保系统从初始状态开始启动并保证正确运行。本文将分别介绍FPGA中三种常用复位电路:同步复位、异步复位和异步复位同步释放,以及相应的Verilog代码示例。异步复位 or 同步复位 or 异步复位同步释放,真的是“异步复位同步释放”更好吗?原创 2023-03-30 07:30:00 · 1069 阅读 · 0 评论 -
FPGA边沿检测及应用示例
本文将从Verilog和边沿检测的基本概念入手,介绍Verilog边沿检测的原理和应用代码示例。原创 2023-03-27 07:15:00 · 277 阅读 · 0 评论 -
verilog数据类型和数组
本文将讨论 verilog 中常用的数据类型,包括对数据表示、线网类型、变量类型和数组,分享一下使用方法和注意事项。原创 2023-03-26 12:28:27 · 2915 阅读 · 0 评论 -
Verilog循环语句(for、while、foever和repeat)
本文主要介绍verilog常用的循环语句,循环语句的用途,主要是可以多次执行相同的代码或逻辑。verilog的循环语句主要有:for循环、while循环、foever循环和repeat循环。原创 2023-03-23 07:09:39 · 3235 阅读 · 1 评论 -
TestBench内容编写与方法总结
本文主要介绍TestBench内容编写与方法总结原创 2023-03-23 07:06:57 · 819 阅读 · 0 评论 -
Verilog常用运算符及表达式
本文详细介绍了Verilog常用的运算符和表达式,特别是分享了处理“计算位宽溢出”和“负数”的可行方式,帮助读者更加轻松地理解和掌握Verilog语言的运算符。原创 2023-03-18 23:40:06 · 9446 阅读 · 2 评论 -
verilog编程艺术(提升代码灵活性)
verilog中有许多语法,可以用来提升代码灵活性,特别是重复的代码逻辑,或者for循环展开等等,这里总结了这些语法,你不来看看吗?原创 2023-03-15 00:22:14 · 698 阅读 · 0 评论 -
verilog的阻塞赋值和非阻塞赋值“轻松掌握”
阻塞赋值与非阻塞赋值在FPGA开发中非常关键,但新手在刚接触这两个概念时容易搞混,导致仿真结果与预想的时序不一样。其实阻塞赋值和非阻塞赋值理解起来很简单。原创 2023-03-08 22:20:15 · 393 阅读 · 0 评论 -
FPGA学习网站、开源网站和论坛网站汇总
分享FPGA开发常用的一些学习网站、开源网站和论坛网站,方便大家找资料,查问题。原创 2023-03-04 20:35:14 · 567 阅读 · 0 评论 -
不可不知的FPGA内部结构
本文主要介绍FPGA器件的内部结构,可以让我们掌握硬件描述语言和内部单元和连线的映射关系。原创 2023-02-27 23:40:17 · 1880 阅读 · 1 评论 -
xilinx FPGA在线调试方法总结(vivado+ila+vio)
本文主要介绍xilinx FPGA开发过程中常用的调试方法,包括ILA、VIO和TCL命令等等,详细介绍了如何使用。原创 2023-02-21 22:25:50 · 5627 阅读 · 0 评论 -
FPGA开发软件(vivado + modelsim)环境搭建(附详细安装步骤+软件下载)
本文详细介绍了vivado软件和modelsim软件的安装,以及vivado中配置modelsim仿真设置,每一步都加文字说明和图片。原创 2023-02-12 22:12:40 · 10509 阅读 · 1 评论 -
FPGA 入门到精通系列2:verilog基础3-verilog代码复用(generate、function)
一直以来写verilog代码,特别是写算法,比如图像处理,总感觉写的是软件C语言的按照周期展开的计算逻辑,虽然很多都是ctrl+c和ctrl+v,但是总在想verilog中有没有更好的,更简洁的写法呢,下面就来讲讲verilog中的代码复用。一、verilog中有关代码复用的语法1、连接符“{}”{4{1'b1}} 或者 {5'd6, 5'd8}2、参数(Parameter)型常量定义parameter 参数名=表达式; 或者 localparam 参数名=表达式;...原创 2021-07-25 17:48:50 · 928 阅读 · 0 评论 -
FPGA 入门到精通系列2:verilog基础2-verilog代码规范
一、项目架构设计FPGA设计是采用自顶向下,模块化设计的方式,这样便于仿真调试。注:特别是在整体架构的基础上,能把整体的数据流向和控制逻辑梳理清楚,这样实现起来就很容易。注意:Verilog是硬件设计语言,跟软件设计有本质区别二、模块架构设计基本原则:控制逻辑和数据逻辑分开处理三、模块接口设计1、模块定义主要包括5个部分:端口定义、参数定义(可选)、输入输出接口、内部信号说明、功能定义。module module_name#(para...原创 2021-07-18 11:05:48 · 542 阅读 · 1 评论 -
FPGA 入门到精通系列2:verilog基础1-基础语法
本文主要内容是对verilog基础语法的学习总结,主要学习书籍《verilog经典教程》。FPGA主要使用的编程语言有VHDL和Verilog ,都是用于逻辑设计的硬件描述语言,并且都已成为IEEE标准。VHDL是在1987年成为IEEE标准,Verilog HDL则在1995年才正式成为IEEE标准。Verilog是目前应用最广泛的一种硬件描述语言。一、Verilog与C语言相比VHDL,Verilog是一种非常容易掌握的硬件描述语言,在语法上类似C语言,只要有C语言的编程基础,上手会很容易,原创 2021-07-04 11:32:10 · 1304 阅读 · 0 评论 -
FPGA基础1:数字电路基础知识
本文主要介绍数字电路基础知识,用最简洁的内容介绍最核心的知识。1、数字电路是什么?数字电路是利用电源电压的高电平和低电平分别表示1和0,进而实现信息的表达。模拟信号:随时间连续变化的信号。处理模拟信号的电路就是模拟电路。数字信号:随时间不连续变化的信号,离散变化。处理数字信号的电路就是数字电路。2、数值表达我们常用的数值表达方式是十进制,但在数字电路中采用的是二进制,如下图所示:有符号二进制:3、比特和字节比特:二进制中的一个数字位称为 binary di原创 2021-06-27 15:12:46 · 5672 阅读 · 3 评论