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

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

3天内不再提示

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

FPGA之家 来源:World of FPGA 作者:WoF 2022-04-13 08:22 次阅读

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

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

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

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

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

尽可能详细地画出架构图,在本子上就可以

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

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

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

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

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

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

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

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

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

各种接口类型的定义

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

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

信号列表和时序图

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

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

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

· Microsoft Visio (https://www.microsoft.com/en-gb/microsoft-365/visio/flowchart-software

· draw.io (https://app.diagrams.net/)

· yED (https://www.yworks.com/products/yed)

· Dia (http://dia-installer.de)

· OmniGraffle (https://www.omnigroup.com/omnigraffle)

· LibreOffice Draw (https://www.libreoffice.org/discover/draw/)

· Gliffy Diagrams for Confluence (https://marketplace.atlassian.com/apps/254/gliffy-diagrams-for-confluence)

· Lucidchart (https://www.lucidchart.com/)

· XMind (https://www.xmind.net/)

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

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

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

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

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

用Symbolator进行block设计

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

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

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

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

审核编辑:汤梓红

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

    关注

    1629

    文章

    21736

    浏览量

    603214
  • soc
    soc
    +关注

    关注

    38

    文章

    4165

    浏览量

    218224
  • 可编程逻辑
    +关注

    关注

    7

    文章

    515

    浏览量

    44085

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

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

收藏 人收藏

    评论

    相关推荐

    基于直方图算法进行FPGA架构设

    加速。安排如下: 首先基于直方图算法进行FPGA架构设计,这里主要考虑了如何加速以及FPGA资源的利用两个因素;最后基于system Verilog搭建一个验证系统。 FPGA设计
    的头像 发表于 12-10 16:37 2797次阅读

    soc fpga架构下的读心术

    的读心术。soc fpga架构下的的ARM处理器通过AIX总线访问 FPGA域中的外设或者内存空间,这些总线行为是可以通过硬逻辑状态机来监控的,针对一些需要高速处理的外设,硬逻辑状态机
    发表于 01-06 17:24

    【WEBENCH 大赛作品】WEBENCH FPGA 电源架构设

    使用WEBENCH® FPGA Power Architect 设计工具,进行FPGA的电源架构设计作品地址:https://www.elecfans.com/uploads/ComD
    发表于 07-16 14:54

    例说FPGA连载15:硬件整体架构设

    `例说FPGA连载15:硬件整体架构设计特权同学,版权所有配套例程和更多资料下载链接:http://pan.baidu.com/s/1c0nf6Qc 如图2.8所示,FPGA核心板电路架构
    发表于 08-01 18:19

    【设计技巧】FPGA架构设计漫谈

    /u/97edd21e88(一)流驱动和调用式架构设计是每个FPGA工程师都要面临的第一关。经常有这样的项目,需求分析,架构设计匆匆忙忙,号称一两个月开发完毕,实际上维护项目就花了一年半时间。主要包括
    发表于 08-02 08:30

    如何有效地开展FPGA/SoC架构设计工作

    地址:https://kevinpt.github.io/symbolator/我非常喜欢使用清晰的时钟和数据接口组定义来创建block。这一次,我使用Symbolator和Visio完成了架构设计,但对于各位架构师来说,每个人都有每个人的习惯。大家更习惯如何
    发表于 06-23 08:00

    如何有效地开展FPGA/SoC架构设计工作

    计,但对于各位架构师来说,每个人都有每个人的习惯。大家更习惯如何开展FPGA/SoC架构设计工作
    发表于 09-15 10:55

    ARM推荐的SOC架构设计是各自独立复位?还是关联同时复位?

    SOC内集成有SE小系统,请教:若按ARM推荐的SOC架构设计,当SOC内ARM CPU内核复位时,该SOC内的SE小系统是否会同时复位?
    发表于 08-03 14:12

    ARM嵌入式应用程序架构设计工具-DLTools

    ARM嵌入式应用程序架构设计实例精讲--ARM嵌入式应用程序架构设计工具-DLTools
    发表于 07-08 11:08 4次下载

    ARM嵌入式应用程序架构设计工具-字库

    ARM嵌入式应用程序架构设计实例精讲--ARM嵌入式应用程序架构设计工具-字库
    发表于 07-08 11:08 10次下载

    ARM嵌入式应用程序架构设计工

    电子专业单片机相关知识学习教材资料——ARM嵌入式应用程序架构设计工
    发表于 09-13 17:23 0次下载

    基于ARMCortex_M3核的SoC架构设计及性能分析

    基于ARMCortex_M3核的SoC架构设计及性能分析
    发表于 09-29 09:26 18次下载
    基于ARMCortex_M3核的<b class='flag-5'>SoC</b><b class='flag-5'>架构设</b>计及性能分析

    介绍WEBENCH 电源架构设计工具使用方法与技巧

    WEBENCH 电源架构设计工具概述(简短版本)
    的头像 发表于 08-06 01:33 3306次阅读

    based SmartFusion2 SoC FPGA设计的System Builder设计工

    关键词: System Builder , SmartFusion FPGA 带有System Builder设计工具的Libero SoC软件可以加快SmartFusion2的开发和缩短客户的上市
    发表于 09-25 09:07 662次阅读

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

    本篇整理自Adam Taylor的设计教学博客。 在我写的大多数博客里,都演示或解释了FPGA/SoC的设计细节技术。但是这篇文章将有所不同,因为在这里我要提出另外一个问题。 你该如何开始做可编程
    的头像 发表于 05-27 11:33 2110次阅读
    如何<b class='flag-5'>开展</b><b class='flag-5'>FPGA</b>/<b class='flag-5'>SoC</b><b class='flag-5'>架构设</b><b class='flag-5'>计工作</b>?