首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏用户7494468的专栏

    FPGA设计艺术(1)FPGA硬件架构

    前言 本文首发:FPGA设计艺术(1)FPGA硬件架构[1]FPGA是一个很神奇的器件,工程师可以在上面做游戏或者说工程师每天都在上面做游戏,通过搭积木的方式,还能设计出精美绝伦,纷繁复杂,奇妙无比的电路 虽然传统的FPGA设计流程更类似于普通的IC(都是适用硬件描述语言设计电路并验证电路)而非处理器,但与IC开发工作相比,FPGA具有显著的成本优势(电路设计完成之后可以直接使用,而不需要继续流片),并在大多数情况下提供相同的性能水平 FPGA硬件架构 Xilinx FPGA是异构计算平台(所谓异构,就是有很多不同的部分组成),包括Block RAM、DSP Slices、PCI Express支持和可编程结构。 或者你需要做8B/10B编码/解码,这在以太网,HDMI,SATA,USB等中是很常用的。这些都将是单端口Block RAM的伟大应用。 它们的工作方式都是基于时钟的。 我有专门的CDC处理就用到了FIFO,可见:FPGA逻辑设计回顾(6)多比特信号的CDC处理方式之异步FIFO[3] 参考资料 [1] FPGA设计艺术(1)FPGA硬件架构: https://www.ebaina.com

    3K20发布于 2021-05-28
  • 【驱动设计硬件基础】CPLD和FPGA

    它们既能像 ASIC(专用集成电路)一样实现硬件加速,又能通过软件编程快速迭代功能,完美平衡了灵活性与性能。对于驱动设计而言,这两种器件是构建高速接口、实时控制和算法加速的核心硬件基础。 FPGA 灵活迭代、IP 核复用 五、开发流程与工具链:从代码到硬件的 “全链路解析” 5.1 CPLD 开发流程 设计输入: 工具:Altera Quartus Prime、Lattice 6.3 AI 与边缘计算融合 算法硬件化: FPGA 通过量化(如 INT8)和模型压缩(如 Tiny YOLO)加速 AI 推理,延迟低于 2ms,功耗仅为 GPU 的 1/10。 开源生态:RISC-V 架构与 FPGA 结合,降低开发门槛,推动硬件设计民主化(如 SiFive+Xilinx 合作项目)。 在驱动设计中,根据具体需求选择合适的器件,结合高效的开发流程和前沿技术,定能打造出高性能、高可靠性的硬件系统。

    70010编辑于 2026-01-21
  • 来自专栏FPGA技术江湖

    FPGA Xilinx Zynq 系列(十九)Zynq SoC & 硬件设计 之 嵌入式系统和 FPGA

    今天给大侠带来 FPGA Xilinx Zynq 系列 第二部分 Part B ,第二部分是关于使用 zynq 进行 Xilinx SoC开发的相关方面问题的深度解析, 包括嵌入式系统设计的概念、IP 块的创建与集成,以及软硬件协同设计。 今天带来第十九篇,Zynq SoC & 硬件设计 之 嵌入式系统和 FPGA,本篇内容目录简介如下: 9. 嵌入式系统和 FPGA 9.1 什么是嵌入式系统? 还有其他形式的用专门硬件处理核心但不在 FPGA 上的加速方式。总的来说,这种任务卸载处理方式叫做硬件加速。 1 级 (L1) Cache L1 cache 是最小的 cache 存储器,典型的大小是 8 到 128kB。

    1.4K20发布于 2020-12-30
  • 来自专栏OpenFPGA

    FPGA未来硬件架构探讨-NoC

    接下来会首先分析一下NoC的特点,然后说明一下目前FPGA领域在这个硬件架构下的应用,最后简单分析未来这一架构的前景。 其实目前FPGA厂家都在大容量FPGA设计上费尽心力,其中NoC硬件架构也是其探索的一个方向。 这次Achronix 新一代的 Speedster7t FPGA 来简化和加速用户的设计,不仅仅是一种尝试,更能看出未来在大型设计时,NoC总线在FPGA中的应用。 通过这两FPGA厂家的一些架构分析,我们也能简单看到一些未来FPGA的微架构可能会大量采用NoC硬件架构以适应更加复杂的应用,尤其现在FPGA对于一些嵌入式内核、AI内核的需求越来越大。 至于在FPGA应用上,我们也能看出来: NoC 为 FPGA 设计提供了几项重要优势,包括: 提高设计的性能。 减少逻辑资源闲置,在高资源占用设计中降低布局布线拥塞的风险。 减小功耗。

    2.2K20编辑于 2022-03-11
  • 来自专栏TechBlog

    FPGA硬件描述语言简介

    ⭐本专栏针对FPGA进行入门学习,从逻辑代数等基础知识讲起,结合Verilog HDL语言学习与仿真,主要对组合逻辑电路与时序逻辑电路进行分析与设计,对状态机FSM进行剖析与建模。 硬件描述语言HDL(Hardware Description Language ) 类似于高级程序设计语言. 它是一种以文本形式来描述数字系统硬件的结构和行为的语言, 用它可以表示逻辑电路图、逻辑表达式,复杂数字逻辑系统的逻辑功能。用HDL编写设计说明文档易于存储和修改,并能被计算机识别和处理. (5)Verilog HDL语言的新进展 OVI组织1999年公布了可用于模拟和混合信号系统设计硬件描述语言Verilog-AMS语言参考手册的草案,Verilog-AMS语言是符合IEEE 1364 结 论 HDL主要用于数字电路与系统的建模、仿真和自动化设计。目前有两种标准的硬件描述语言:Verilog和VHDL。由于Verilog简单易学,所以建议大家学习Verilog HDL语言。

    1.5K20编辑于 2023-02-16
  • 来自专栏用户7494468的专栏

    FPGA设计艺术(8)最佳的FPGA开发实践之严格遵循过程

    不说太多了,下面给出一套宇宙通用开发实践准则,这套下来,可见减少FPGA设计错误的可能性,减少常见错误并可以节省FPGA开发过程中的人工成本,并在大型设计中优势更加显著。 将算法与硬件分开。就硬件而言,软件的复杂性非常高(一块电路板可能有10,000个节点,而一个软件应用程序可能有数百万行代码)。 然后,可编程逻辑(FPGA)将数字设计与物理硬件分开。数字设计的复杂性与软件相当,这意味着您无法完全测试FPGA设计。我们需要遵循一个流程来确保复杂系统组件(软件和FPGA)的质量。 注:此步骤需要同行评审; 数字设计方案 在尝试使用硬件描述语言(HDL)捕获数字设计之前,必须对其进行良好定义。 在FPGA设计中,故事的源头远不止于源代码。修订控制系统提供了一种纪律严明的文档化方法来捕获关键设计工件。

    96520发布于 2021-10-20
  • 来自专栏OpenFPGA

    【开源硬件】多功能FPGA-JTAG

    硬件介绍 目前国内AMD-Xilinx FPGA-JTAG主要有两种:一是官方开发板: 二是新推出的smart lynq(速度及功能更强): 价格就劝退很大一部分人了: 二是国产的,各种各样就不放图片了 支持7系列+U+系列FPGA,电平支持1.5V\1.8V\2.5V\3.3V,TCK速率高达30M以上。 开源说明 软件、硬件(原理图、PCB均开源),自己打板测试过,大家可以自行修改制作。

    1.2K20编辑于 2023-08-30
  • 来自专栏OpenFPGA

    FPGA设计流程

    FPGA设计流程 FPGA设计流程包括以下关键步骤,如图9.8所示。 1. 设计输入 2. 设计仿真与综合 3.设计实现 4.设备编程。 图9.8 FPGA设计流程 设计输入 在设计进入之前,需要根据设计规范进行设计规划。设计规范需要转换为体系结构和微体系结构。设计架构和微架构包括将总体设计分解为小模块,以实现预期功能。 在架构设计阶段,需要估计内存、速度和功率的需求。根据需要,需要为实现选择FPGA设备。 使用Verilog(.v)或VHDL(.vhd)文件完成设计输入。 尽管在后期的设计周期中可能会出现时间或面积、电源问题,但设计师至少对设计的功能有把握。 硬件设计工程师的主要目标是生成高效的硬件。综合是将设计抽象的一个层次转换为另一个层次的过程。 设备编程 FPGA通过使用特定于供应商或专有的位流文件进行编程。位流是需要加载到FPGA中以执行特定硬件设计的二进制数据文件。 如果设计针对特定的FPGA,则EDA工具将生成设备利用率摘要。

    1.6K40编辑于 2022-04-14
  • 来自专栏瓜大三哥

    FPGA设计技巧

    PART1 FPGA设计技巧一:时钟树 对于FPGA来说,要尽可能避免异步设计,尽可能采用同步设计。同步设计的第一个关键,也是关键中的关键,就是时钟树。 一个糟糕的时钟树,对FPGA设计来说,是一场无法弥补的灾难,是一个没有打好地基的大楼,崩溃是必然的。时钟是FPGA开发人员的生命线,也是整个系统的“血液”。 PART2 FPGA设计技巧二:乒乓操作 乒乓操作是FPGA设计中经常用到的设计思想,常用于需要提高数据效率的地方。 rst_n) begin data_out <= 0; temp <= 0; count <= 0; end else if(count < 8) //计数表示只接8个数据 2) 缺点:功耗增加,面积增加,硬件复杂度增加,流水线就是插入寄存器,以面积换取速度。 PART5 FPGA设计技巧五:Latch 定义?

    1.1K30发布于 2020-05-07
  • 来自专栏用户7494468的专栏

    FPGA基础知识极简教程(2)抛却软件思维去设计硬件电路

    学过一门或多门软件语言的数字设计初学者经常会犯一些错误 ,例如硬件语言的并发性,可综合以及不可综合语句区分,循环语句的使用等等。本文的建议将带你区别并扫除这些易错点,助你成为一名优秀的硬件设计师。 知道综合和不可综合代码之间的区别对于成为一名优秀的数字设计师非常重要。仅在编写将在FPGA上运行的代码时使用可综合的构造! 每个软件程序员需要了解的有关硬件设计的内容 「对于数字设计新手而言最重要的部分」 尝试使用VHDL或Verilog进行编程的每个了解C或Java语言的软件开发人员都会遇到相同的问题。 优秀的数字设计师需要始终记住VHDL和Verilog是并行语言。 「假设2:循环」 这是新硬件开发人员面临的一个巨大问题。 我要大胆地说一下:如果您至少没有做过3种FPGA设计,则永远不要使用for循环。因此,请考虑如何重写软件中编写的代码,以使其永远不使用for循环。

    1.4K31发布于 2020-06-29
  • 来自专栏OpenFPGA

    FPGA和USB3.0通信-FX3硬件设计简谈

    FPGA和USB3.0通信-FX3硬件设计简谈 本次演示用的是USB3.0芯片-CYPRESS CYUSB3014(下称 FX3),该芯片是标准的USB3.0 PHY,可以大大简化使用USB通信时FPGA 芯片介绍 下面是整个芯片的框图: 主要包括以下几个部分: 1、通用可编程接口 (GPIF II) 可编程的 100-MHz GPIF II 接口能连接多种类型外部器件 8/16/32 位数据总线 多达 硬件设计硬件设计主要是为了方便FPGA工程师排故使用,下面分几个方面进行介绍,排故思路也是按照下面的顺序走。 注意一下,对于SPI FLASH支持的型号(支持的 SPI 器件为 M25P16 (16 Mbit)、M25P80 (8 Mbit) 和 M25P40 (4 Mbit)),当然也支持同类型的器件。 优秀的 Verilog/FPGA开源项目介绍(五)- USB通信 FPGA和USB3.0通信-USB3.0协议介绍 FPGA和USB3.0通信-USB3.0 PHY介绍

    3.6K20发布于 2021-11-17
  • 来自专栏瓜大三哥

    蜂鸟E203系列——FPGA硬件环境

    为了将蜂鸟E203的FPGA代码能够真正运行在 FPGA 硬件上,需要将其编译成为 bitstream 文件然后烧录到 FPGA 中去,本文介绍了两种方法进行编译和烧录:一种是make指令,另外一种就是传统的 加载编译加入源文件综合出错实现出错生成bitstream出错烧录 flash make执行 参考文档:https://github.com/SI-RISCV/e200_opensource/blob/master/doc/%E8% 9C%82%E9%B8%9FE203%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B%E4%BB%8B%E7%BB%8D.pdf 按照参考文档,进行操作如下: 将 e200_opensource 一旦烧写 Flash 成功,则可以通过按开发板上的“FPGA_PROG”按键触发硬件电路使用 Flash 中的内容对 FPGA 重新进行烧录。 一旦烧写 Flash 成功,则可以通过按开发板上的“FPGA_PROG”按键触发硬件电路使用 Flash 中的内容对 FPGA 重新进行烧录。

    1.9K30发布于 2020-07-09
  • 来自专栏OpenFPGA

    优化 FPGA HLS 设计

    优化 FPGA HLS 设计 用工具用 C 生成 RTL 的代码基本不可读。以下是如何在不更改任何 RTL 的情况下提高设计性能。 介绍 高级设计能够以简洁的方式捕获设计,从而减少错误并更容易调试。 在高度复杂的 FPGA 设计中实现高性能需要手动优化 RTL 代码,而这对于HLS开发环境生成的 RTL 代码来说是不可能的。 然而,存在一些解决方案,可以通过使用 FPGA 工具设置优化设计本身来最大限度地减少性能损失。 高效找到正确的 FPGA 工具设置 尽管设计人员知道 FPGA 工具设置的存在,但这些设置往往没有得到充分利用。通常,只有在出现设计问题时才使用工具设置。 如何优化高级设计 - Sobel 滤波器 Sobel 滤波器是视频处理中常用的参考设计。该参考设计针对具有 Dual ARM® Cortex®-A9 MPCore™ 的 FPGA

    70231编辑于 2023-10-31
  • 来自专栏FPGA技术江湖

    FPGA Vivado设计流程

    学会如何使用Vivado进行设计、仿真、综合以及实现一个项目,生成比特流文件并下载到 FPGA开发板。 在Vivado中创建一个新的HDL工程项目 添加引脚约束(XDC)文件 编写测试平台(Testbench)进行功能仿真 综合、实现设计工程 生成比特流文件,下载到 FPGA开发板进行功能验证 ? 8) 选择目标FPGA器件 A. 如果没有在Vivado中安装Digilent开发板文件,那么在Board一项中将无法找到Basys3。 1.3 在Device窗口中可以查看设计在Basys3 FPGA芯片上布局布线的结果,如果Device窗口没有打开可以在顶部工具栏选择Layout>Default Layout。 2) 完成后,选择‘Open Hardware Manager’打开硬件管理器,点击OK继续。 ?

    4.9K11发布于 2020-12-30
  • 来自专栏OpenFPGA

    FPGA设计原则总结

    评价一个设计的代码水平较高,仅仅是说这个设计是由硬件想 HDL 代码这种表现形式的转换更加流畅、合理。而一个设计最终性能,在更大程度上取决于设计工程师所构想的硬件实现方案的效率以及合理性。 ,以及 FPGA 的规模估算数据接口设计等。 而 FPGA 和 CPLD 相比,更适合实现规模较大,频率较高、寄存器较多的设计。使用 FPGA/CPLD 设计时,应该对芯片内部的各种底层硬件资源,和可用的设计资源有一个较深刻的认识。 比如 FPGA 一般触发器资源丰富,CPLD 的组合逻辑资源更加丰富。FPGA/CPLD 一般是由底层可编程硬件单元,BRAM,布线资源,可配置 IO 单元,时钟资源等构成。 8. 数据接口的同步方法 数据接口的同步在 FPGA/CPLD 设计中一个常见问题。很多设计工作不稳定都是源于数据接口的同步问题。 1. 输入输出的延时不可测,或者可能有变动,如何完成数据的同步?

    98020发布于 2020-06-30
  • 来自专栏电子狂人

    System Generator设计FPGA设计

    还是使用昨天的那个设计好的文件,打开方式一样,需要先打开System Generator 2018.2,然后等待相关的库加载到MATLAB了,再从MATLAB中打开之前设计的模型文件,就是.slx为后缀的文件 ;在Implementation页面中选中Specifu IOB location constraints,并设定IOB padlocation为{‘P5'},可以根据自己的板卡进行设置,这个对应的是FPGA 双击System Generator模块,Compilation中设定Part为FPGA的芯片,语言设置为Verilog,Clocking中设定时钟周期为10ns对应100MHz的晶振,P17为其对应的管脚 找到模型所在的文件夹下的netlist文件夹,看到有以下的文件,sysgen子文件夹包含了导出的Verilog或VHDL设计文件;ip子文件夹是设计导出的IP核形式;ip_catalog子文件夹包含一个调用该 ,后面进行其他设计时,会再讲解一些配置的参数指什么,ug958这个资料不会找的话就直接在后台回复关键字获取我传网盘上的吧

    75440发布于 2020-06-29
  • 硬件加速卡 FPGA硬件加速1- 基于Xilinx XCKU115的半高PCIe x8 硬件加速卡

    一、板卡概述      本板卡系我公司自主研发,采用Xilinx公司的XCKU115-3-FLVF1924-E芯片作为主处理器,主要用于FPGA硬件加速。板卡设计满足工业级要求。 如下图所示: 二、功能和技术指标:四、应用领域      FPGA硬件加速XCKU115,硬件加速卡,XCKU115板卡,FPGA硬件加速

    24510编辑于 2025-11-10
  • 来自专栏用户7494468的专栏

    FPGA设计艺术(11)FPGA的构建过程

    这篇文章中:FPGA设计艺术(2)FPGA开发流程,我们讨论了创建FPGA设计的过程。一旦证明了我们的设计工作成功,我们便将功能性HDL代码转移到实际的FPGA中。 综合 构建FPGA的第一阶段称为综合。此过程将功能性RTL设计转换为门级宏的阵列。这具有创建实现RTL设计的平面分层电路图的效果。 在这种情况下,宏实际上是内部FPGA单元的模型。 如果我们的设计仅比我们选择的FPGA大一点,那么这种减少就足够了。 如果这还不能充分降低利用率,那么我们必须选择一个新的FPGA或提高原始代码的效率。 时序分析 运行综合后,我们还可以分析FPGA的时序。 我们使用该分析来确定FPGA是否可以以所需的频率运行我们的设计。 当我们的设计不能以所需的频率运行时,我们不能确定内部触发器将不会有时序违规。 这些工具也有付费版本可用,尽管通常只有针对高端FPGA设计才需要它们。 对于莱迪思的FPGA,开源的nextpnr软件是一种流行的布局布线工具。

    1.2K20发布于 2021-10-20
  • 来自专栏FPGA技术江湖

    FPGA设计8大重要知识点,你都get了吗?

    今天给大侠带来FPGA设计8大重要知识点,你都get了吗?话不多说,上货。 ? 1. FPGA的规模估算数据接口设计等。 而FPGA和CPLD相比,更适合实现规模较大、频率较高、寄存器较多的设计。使用FPGA/CPLD设计时,应该对芯片内部的各种底层硬件资源,和可用的设计资源有一个较深刻的认识。 比如FPGA一般触发器资源丰富,CPLD的组合逻辑资源更加丰富。FPGA/CPLD一般是由底层可编程硬件单元、BRAM、布线资源、可配置IO单元、时钟资源等构成。 在 WCDMA 设计中经常使用到流水线处理的方法,如 RAKE 接收机、搜索器、前导捕获等。流水线处理方式之所以频率较高,是因为复制了处理模块,它是面积换取速度思想的又一种具体体现。 8.

    93720发布于 2020-12-30
  • 来自专栏数字积木

    FPGA大赛【一】设计概述

    第一部分 设计概述 (Design Introduction) 1.1 设计目的 随着各类图像旋转算法的层出不穷,图像旋转逐渐成为近年来各类赛事的热门赛 题。 然而在基于 FPGA 的图像旋转设计方面,可行的方案较少。因此,我们本次采用了国产紫光同创的 PGL22G 这块开发板进行图像旋转方案的设计,制作成了一个完整的具有快速处理,实时显示的系统。 本作品从图像旋转这一经典的问题出发,采用 CORDIC(Coordinate Rotation Digital Computer)算法,结合图传技术,实时显示技术,以 FPGA 作为核心处理器,通 过自制的上位机软件实现软件对硬件的精确控制 本设计的核心思路为:在图像旋转设计中,插入一个图像旋转模块。将从摄像头缓存的图像先读取出来,组合成一帧旋转的图像后再写入 ddr 中,再由显示驱动模块读取进行显示。 ? DVP/MIPI 信号形式传到 FPGA; 2、FPGA 通过外部控制,实现任意角度(精度 1 度)旋转控制;外部控制可自己选择, 如 UART、12C、GPIO、按键等; 3、FPGA 内部接

    97240发布于 2021-04-15
领券