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

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

    前言 本文首发:FPGA设计艺术(1)FPGA硬件架构[1]FPGA是一个很神奇的器件,工程师可以在上面做游戏或者说工程师每天都在上面做游戏,通过搭积木的方式,还能设计出精美绝伦,纷繁复杂,奇妙无比的电路 虽然传统的FPGA设计流程更类似于普通的IC(都是适用硬件描述语言设计电路并验证电路)而非处理器,但与IC开发工作相比,FPGA具有显著的成本优势(电路设计完成之后可以直接使用,而不需要继续流片),并在大多数情况下提供相同的性能水平 FPGA硬件架构 Xilinx FPGA是异构计算平台(所谓异构,就是有很多不同的部分组成),包括Block RAM、DSP Slices、PCI Express支持和可编程结构。 注意,Xilinx FPGA中N的典型值是6。 ? LUT的功能表示为内存单元的集合 LUT的硬件实现可以被认为是连接到一组多路复用器的存储器单元的集合。 我有专门的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 设计方法: 门控时钟、多电压域、DVFS(动态电压频率缩放)降低动态功耗。 硬件 / 软件协同优化(如 HLS 高层次综合)减少资源浪费,提升能效。 开源生态:RISC-V 架构与 FPGA 结合,降低开发门槛,推动硬件设计民主化(如 SiFive+Xilinx 合作项目)。 在驱动设计中,根据具体需求选择合适的器件,结合高效的开发流程和前沿技术,定能打造出高性能、高可靠性的硬件系统。

    66710编辑于 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 什么是嵌入式系统? 数字信号处理器 (DSP) — DSP 是一种设计专用于数字信号处理的处理器, 它的指令集的设计目的是数字信号处理。DSP 设计成能快速执行算术运算,能在单个时钟周期里开展多重累加运算。 还有其他形式的用专门硬件处理核心但不在 FPGA 上的加速方式。总的来说,这种任务卸载处理方式叫做硬件加速。

    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
  • 来自专栏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设计技巧

    现在虽然理论上FPGA可以支持的500MHz,但在实际设计中,往往200MHz以上工作频率就很难实现了。 PART1 FPGA设计技巧一:时钟树 对于FPGA来说,要尽可能避免异步设计,尽可能采用同步设计。同步设计的第一个关键,也是关键中的关键,就是时钟树。 一个糟糕的时钟树,对FPGA设计来说,是一场无法弥补的灾难,是一个没有打好地基的大楼,崩溃是必然的。时钟是FPGA开发人员的生命线,也是整个系统的“血液”。 PART2 FPGA设计技巧二:乒乓操作 乒乓操作是FPGA设计中经常用到的设计思想,常用于需要提高数据效率的地方。 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设计,主需要使用状态机进行FIFO的读写控制即可,同时该芯片还具有ARM核+I2S、I2C、SPI、UART等接口,大大增加了该芯片的使用范围。 硬件设计硬件设计主要是为了方便FPGA工程师排故使用,下面分几个方面进行介绍,排故思路也是按照下面的顺序走。 模式我设计的思路是使用0F1(SPI,如失败,则启用 USB 引导),然后FALSH的CS引脚加开关接地,需要烧写固件时将CS拉低,FX3启动检测不到FLASH后会自动启动USB boot,上电完毕后可以将 优秀的 Verilog/FPGA开源项目介绍(五)- USB通信 FPGA和USB3.0通信-USB3.0协议介绍 FPGA和USB3.0通信-USB3.0 PHY介绍

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

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

    为了将蜂鸟E203的FPGA代码能够真正运行在 FPGA 硬件上,需要将其编译成为 bitstream 文件然后烧录到 FPGA 中去,本文介绍了两种方法进行编译和烧录:一种是make指令,另外一种就是传统的 cd/fpga 设置需要编译的 Core 的具体型号 一定要指定FPGA_NAME,否则器件类型不一样,导致编译出错 make install CORE=e203 FPGA_NAME=nucleikit 一旦烧写 Flash 成功,则可以通过按开发板上的“FPGA_PROG”按键触发硬件电路使用 Flash 中的内容对 FPGA 重新进行烧录。 一旦烧写 Flash 成功,则可以通过按开发板上的“FPGA_PROG”按键触发硬件电路使用 Flash 中的内容对 FPGA 重新进行烧录。 注意:FPGA 烧写成功之后,则可以无需再连接“FPGA JTAG 接口”的 USB 连接线。

    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

    68731编辑于 2023-10-31
  • 来自专栏OpenFPGA

    FPGA设计原则总结

    1.面积与速度的平衡与互换 这里的面积指一个设计消耗 FPGA/CPLD 的逻辑资源的数量,对于 FPGA 可以用消耗的 FF(触发器)和 LUT(查找表)来衡量,更一般的衡量方式可以用设计所占的等价逻辑门数 评价一个设计的代码水平较高,仅仅是说这个设计是由硬件想 HDL 代码这种表现形式的转换更加流畅、合理。而一个设计最终性能,在更大程度上取决于设计工程师所构想的硬件实现方案的效率以及合理性。 ,以及 FPGA 的规模估算数据接口设计等。 而 FPGA 和 CPLD 相比,更适合实现规模较大,频率较高、寄存器较多的设计。使用 FPGA/CPLD 设计时,应该对芯片内部的各种底层硬件资源,和可用的设计资源有一个较深刻的认识。 比如 FPGA 一般触发器资源丰富,CPLD 的组合逻辑资源更加丰富。FPGA/CPLD 一般是由底层可编程硬件单元,BRAM,布线资源,可配置 IO 单元,时钟资源等构成。

    97620发布于 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这个资料不会找的话就直接在后台回复关键字获取我传网盘上的吧

    75240发布于 2020-06-29
  • 来自专栏FPGA技术江湖

    FPGA Vivado设计流程

    大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。 学会如何使用Vivado进行设计、仿真、综合以及实现一个项目,生成比特流文件并下载到 FPGA开发板。 在Vivado中创建一个新的HDL工程项目 添加引脚约束(XDC)文件 编写测试平台(Testbench)进行功能仿真 综合、实现设计工程 生成比特流文件,下载到 FPGA开发板进行功能验证 ? 1.3 在Device窗口中可以查看设计在Basys3 FPGA芯片上布局布线的结果,如果Device窗口没有打开可以在顶部工具栏选择Layout>Default Layout。 2) 完成后,选择‘Open Hardware Manager’打开硬件管理器,点击OK继续。 ?

    4.9K11发布于 2020-12-30
  • 来自专栏用户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大赛【一】设计概述

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

    96640发布于 2021-04-15
  • 来自专栏OpenFPGA

    FPGA时钟设计方案

    时钟设计方案 在复杂的FPGA设计中,设计时钟方案是一项具有挑战性的任务。 设计者需要很好地掌握目标器件所能提供的时钟资源及它们的限制,需要了解不同设计技术之间的权衡,并且需要很好地掌握一系列设计实践知识。 FPGA时钟资源指目标FPGA中大量与时钟有关的不同资源,如时钟类型(局部的和全局的)、频率限制和不同时钟管理器的抖动特性,以及能用于单个时钟域的时钟最大数量。 Xilinx FPGA提供了一些用于差分时钟的专用原语:IBUFDS、IBUFGDS、IBUFGDS_DIFF、OBUFDS、0BUFTDS等(见图2)。 使用门控时钟 时钟门控是设计中通过使用控制信号,禁止或允许时钟输入到寄存器和其他同步元件上的一种方法。它能有效降低功耗,因此被广泛应用于ASIC设计中。然而,在FPGA设计中应尽量避免使用门控时钟。

    64710编辑于 2024-01-22
  • 来自专栏开源FPGA

    FPGA设计思想(持续更新)

    一、 流水线设计   将原本一个时钟周期完成的较大的组合逻辑通过合理的切割后分由多个时钟周期完成。 ,流水线设计在开始处理时需要一定的处理时间,但以后就会不断的输出数据,从而大大提高处理速度。 (面积换速度)如果不采用流水线设计,那么处理一个数据就需要4个时钟周期,而采用流水线设计则能够提高将近4倍的处理速度,用一个复杂的算术式子举例,这是官方给的RGB888 to YCbCr的算法公式,我们可以直接把算法移植到 FPGA上,但是我们都知道FPGA无法进行浮点运算,所以我们采取将整个式子右端先都扩大256倍,然后再右移8位,这样就得到了FPGA擅长的乘法运算和加法运算了。 这个计算式子看起来是十分简单的,但是要是直接用Verilog直接写出来,那么只能说,这个人的代码写的一塌糊涂,所以这里就引出FPGA中流水线的设计思想。

    1.2K100发布于 2018-01-05
  • 来自专栏韩曙亮的移动开发专栏

    FPGA 芯片设计FPGA 简介 ( FPGA 芯片架构 | FPGA 芯片相对于传统芯片的优点 )

    文章目录 一、FPGA 简介 二、FPGA 架构 三、FPGA 芯片相对于传统芯片的优点 一、FPGA 简介 ---- 摩尔定律 : 价格不变 , 在集成电路上 电子元器件的数量 , 18 ~ 24 个月增加一倍 芯片 , 型号是 FPGA-XC2064 , 于 1985 年问世 , 该芯片采用的是 2 微米的制程工艺 , 2000 纳米 , 当前主流的 FPGA 芯片制程工艺是 14 ~ 45 纳米 ; 下图是 FPGA 芯片的制程工艺 及对应的型号 ; 二、FPGA 架构 ---- 第一代 FPGA 架构 : 以 FPGA-XC2064 为代表 , 该架构被称为 " Logic Cell Array " 芯片相对于传统芯片的优点 ---- FPGA 芯片相对于传统芯片的优点 : 性能高 : FPGA 芯片可 并行处理 , 性能很高 ; 上市时间短 : 与传统的 ASIC 芯片相比 , FPGA 灵活性更高 , 可以进行快速原型验证 , 研发上市时间很短 ; 成本低廉 ; 稳定性高 ; 方便维护 : FPGA 可以 在现场进行维护 ;

    2.5K10编辑于 2023-03-30
领券