0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何开展FPGA/SoC架构设计工作?

FPGA之家 来源:World of FPGA 作者:WoF 2021-05-27 11:33 次阅读

本篇整理自Adam Taylor的设计教学博客。

在我写的大多数博客里,都演示或解释了FPGA/SoC的设计细节技术。但是这篇文章将有所不同,因为在这里我要提出另外一个问题。

你该如何开始做可编程逻辑设计的架构?

在我有一次同时在为三个FPGA项目设计架构(作为卫星开发的一部分)时,这个问题浮现在我的脑海中。当然,由于最终应用场景的原因,该架构受到了主承包商和航天局的多次审查。因此,我将尽可能详细的画出架构图,以便让我的设计团队可以很轻松地从中进行工作。

可编程逻辑的架构设计可能非常复杂,因此好的架构通常要定义以下几个元素:

1.模块需要实现所需的功能,当然,这些模块也可以包含层次结构。

2.每个模块接收时钟和时钟使能,必须考虑如果信号跨越多个时钟域时的跨时钟域需求。

3.每个模块收到的复位。就像时钟一样,必须考虑每个模块的复位要求。

4.架构中每个模块接口信号相互连接

高效的架构和实现应尽可能利用供应商的现有IP核。确定可以在整个体系结构中重用的模块也是明智的,例如控制算法或通信总线。我的设计中有3个FPGA需要构建,因此识别可以通用的模块将在开发和验证过程中节省大量时间。

接口重用十分划算,因为它是标准化模块。使用标准接口(例如AXI,AXI Stream和APB)作为模块接口,可以在多个设计中轻松复用。在我的这个项目中,可能不需要复用IP核,但在将来的开发中可能需要相同的功能。

在我的复杂接口(如ADC/DAC接口、AXI或存储接口)架构图中,我更喜欢使用一类接口类型,该类型包含所有较低级别的信号。然后可以在体系结构文档中定义接口类和所有信号。这种方法有几个优点:它使架构图更简单,并使修改(例如 信号添加或重命名)只需要在一个位置进行。

6a13e3fc-be50-11eb-9e57-12bb97331649.png

在创建架构时,我的传统方法是从笔和纸开始,勾勒出主要的设计模块和关键界面。完成此操作后,我将使用Visio将其电子图形化,以使其添加在文档中时看起来更加专业。

当然,此图需要显示块之间的所有信号和信号类别。理想情况下,工程师应能够拾取架构和架构文档,并根据其角色开始开发或验证。

在研究架构时,我对其他工程师如何开发可编程逻辑架构感到好奇,因此我在多个FPGA讨论板/论坛上提出了问题并收到了很多有趣的回答。大多数受访者表示他们使用了常见的图纸设计套件。

我们可以使用这里所有的绘图包创建漂亮的架构图,有趣的是,有几个人回答说他们使用Symbolator,而我并不熟悉。

Symbolator是Windows和Linux中的命令行工具,它将读取VHDL、Verilog和组件声明然后生成组件图。然后可以在您首选的图纸包中使用这些symbol。

直接安装Symbolator。我们可以使用pip进行安装,并注意您安装的时候可能需要安装一些其他软件,包括Pycairo,PyGObject和Python-gi-cairo。完成此操作后,您可以使用各种不同格式和表示样式的组件声明创建组件symbol。

自从我学习到有关Symbolator的知识以来,我感觉这工具还挺好用,于是决定将它用到我正在设计的三个架构工作中。

Symbolator的介绍地址:https://kevinpt.github.io/symbolator/

我非常喜欢使用清晰的时钟和数据接口组定义来创建block。这一次,我使用Symbolator和Visio完成了架构设计,但对于各位架构师来说,每个人都有每个人的习惯。大家更习惯如何开展FPGA/SoC架构设计工作呢?

原文标题:你一般如何做可编程逻辑设计的架构?

文章出处:【微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1593

    文章

    21211

    浏览量

    592195
  • soc
    soc
    +关注

    关注

    38

    文章

    3710

    浏览量

    215384

原文标题:你一般如何做可编程逻辑设计的架构?

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    交换芯片架构设

    交换芯片的架构设计是网络设备性能和功能的关键。一个高效的交换芯片架构能够处理大量的数据流量,支持高速数据传输,并提供先进的网络功能。
    的头像 发表于 03-21 16:28 97次阅读

    交换芯片架构设

    交换芯片架构设计是网络通信中的关键环节,它决定了交换机的性能、功能和扩展性。
    的头像 发表于 03-18 14:12 121次阅读

    智能座舱主流音频架构设计方案

    蔚来汽车NT1/NT2平台座舱音频系统的软件架构设计和研发工作都由我负责,涉及到Android、QNX、Hypervisor等系统的音频设计。今
    发表于 12-28 16:54 287次阅读
    智能座舱主流音频<b class='flag-5'>架构设</b>计方案

    SoC系统中的软件结构设

    在一个SoC的系统结构设计中,除了硬件结构以外,软件结构的设计对整个SoC的性能有很大的影响。
    的头像 发表于 09-25 15:14 564次阅读

    商城库存系统中心架构设计与实践案例

    本文探讨的vivo官方商城库存架构设计,从整个vivo大电商库存架构来看,vivo官方商城库存系统涉及销售层内部架构以及销售层与调度层的交互。
    发表于 08-30 10:59 526次阅读
    商城库存系统中心<b class='flag-5'>架构设</b>计与实践案例

    SWE.2软件架构设

    过程ID : SWE.2 过程名称 : 软件架构设计 过程目的 : 软件架构设计过程目的是建立一个架构设计,识别哪些软件需求应该分配给软件的哪些要素,并根据已定义的标准评估软件架构设
    的头像 发表于 08-24 09:43 459次阅读

    NetApp VMware和Broadcom验证架构设

    电子发烧友网站提供《NetApp VMware和Broadcom验证架构设计.pdf》资料免费下载
    发表于 08-23 15:17 0次下载
    NetApp VMware和Broadcom验证<b class='flag-5'>架构设</b>计

    FPGA架构演进之路 FPGA架构设计原则和实现挑战

    成本。FPGA架构的设计涉及许多不同的设计选择,从高级架构参数到晶体管级实现细节,目标是制造高度可编程的器件,同时最小化可重新配置的面积和性能成本。随着应用需求和工艺技术能力的不断发展,FPG
    发表于 08-11 09:52 955次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>架构</b>演进之路 <b class='flag-5'>FPGA</b><b class='flag-5'>架构设</b>计原则和实现挑战

    基于分级安全的OpenHarmony架构设

    本文源自 OpenHarmony TSC 官方《峰会回顾第1期 | 基于分级安全的OpenHarmony架构设计》 演讲嘉宾 | 付天福 回顾整理 | 廖涛 排版校对 | 李萍萍 嘉宾简介 付天福
    发表于 08-04 10:39

    浅谈FPGA芯片架构

    FPGA 芯片架构是非常重要的,如果你不了解 FPGA 芯片内部的详细架构
    的头像 发表于 07-04 14:36 821次阅读
    浅谈<b class='flag-5'>FPGA</b>芯片<b class='flag-5'>架构</b>

    基于FPGASoC创建方案

    LiteX 框架为创建 FPGA 内核/SoC、探索各种数字设计架构和创建完整的基于 FPGA 的系统提供了方便高效的基础架构
    发表于 06-28 09:08 433次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>SoC</b>创建方案

    架构与微架构设

    下面将从芯片的架构设计、微架构设计、使用设计文档、设计分区、时钟域和时钟组、架构调整与性能改进、处理器微架构设计策略等角度进行说明,并以视频H.264编码器设计为例。
    的头像 发表于 05-08 10:42 824次阅读
    <b class='flag-5'>架构</b>与微<b class='flag-5'>架构设</b>计

    如何对SoC进行手动FPGA分区

    SoC芯片要进行FPGA原型验证,假如设计较大,要将SoC中不同功能模块或者逻辑模块分别分配到特定的FPGA,那么对SoC的分割策略尤为重
    的头像 发表于 04-27 15:17 635次阅读
    如何对<b class='flag-5'>SoC</b>进行手动<b class='flag-5'>FPGA</b>分区

    电子电气架构设计工具PREEvision简介

    系统架构工程师根据一系列评价指标,包括重量、成本、总线负载率、耐久性等等,来评估最佳方案。同时,通过对标工作得到的结论也能用于新的评价指标的制定,为进一步的架构优化提供参考。
    的头像 发表于 04-12 10:21 1579次阅读

    什么是SoC、SOPC、SoC FPGA?用在什么场景?

    开始SoC FPGA的学习路程还是蛮难的,不仅要熟悉整个的设计流程,而且还要掌握FPGA以及软件方面的知识,尤其大概看了一下后面的整体设计部分,操作起来还是较为繁琐的,以至于让人晕头转向。尽管如此
    的头像 发表于 03-30 10:13 6412次阅读