0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何開展FPGA/SoC架構(gòu)設(shè)計工作

FPGA之家 ? 來源:World of FPGA ? 作者:WoF ? 2022-04-13 08:22 ? 次閱讀

本篇整理自Adam Taylor的設(shè)計教學(xué)博客。

在我寫的大多數(shù)博客里,都演示或解釋了FPGA/SoC的設(shè)計細(xì)節(jié)技術(shù)。但是這篇文章將有所不同,因為在這里我要提出另外一個問題。

你該如何開始做可編程邏輯設(shè)計的架構(gòu)?

在我有一次同時在為三個FPGA項目設(shè)計架構(gòu)(作為衛(wèi)星開發(fā)的一部分)時,這個問題浮現(xiàn)在我的腦海中。當(dāng)然,由于最終應(yīng)用場景的原因,該架構(gòu)受到了主承包商和航天局的多次審查。因此,我將盡可能詳細(xì)的畫出架構(gòu)圖,以便讓我的設(shè)計團隊可以很輕松地從中進行工作。

如何開展FPGA/SoC架構(gòu)設(shè)計工作

盡可能詳細(xì)地畫出架構(gòu)圖,在本子上就可以

可編程邏輯的架構(gòu)設(shè)計可能非常復(fù)雜,因此好的架構(gòu)通常要定義以下幾個元素:

1.模塊需要實現(xiàn)所需的功能,當(dāng)然,這些模塊也可以包含層次結(jié)構(gòu)。

2.每個模塊接收時鐘和時鐘使能,必須考慮如果信號跨越多個時鐘域時的跨時鐘域需求。

3.每個模塊收到的復(fù)位。就像時鐘一樣,必須考慮每個模塊的復(fù)位要求。

4.架構(gòu)中每個模塊接口信號相互連接

高效的架構(gòu)和實現(xiàn)應(yīng)盡可能利用供應(yīng)商的現(xiàn)有IP核。確定可以在整個體系結(jié)構(gòu)中重用的模塊也是明智的,例如控制算法或通信總線。我的設(shè)計中有3個FPGA需要構(gòu)建,因此識別可以通用的模塊將在開發(fā)和驗證過程中節(jié)省大量時間。

接口重用十分劃算,因為它是標(biāo)準(zhǔn)化模塊。使用標(biāo)準(zhǔn)接口(例如AXI,AXI Stream和APB)作為模塊接口,可以在多個設(shè)計中輕松復(fù)用。在我的這個項目中,可能不需要復(fù)用IP核,但在將來的開發(fā)中可能需要相同的功能。

在我的復(fù)雜接口(如ADC/DAC接口、AXI或存儲接口)架構(gòu)圖中,我更喜歡使用一類接口類型,該類型包含所有較低級別的信號。然后可以在體系結(jié)構(gòu)文檔中定義接口類和所有信號。這種方法有幾個優(yōu)點:它使架構(gòu)圖更簡單,并使修改(例如 信號添加或重命名)只需要在一個位置進行。

如何開展FPGA/SoC架構(gòu)設(shè)計工作

各種接口類型的定義

如何開展FPGA/SoC架構(gòu)設(shè)計工作

如何開展FPGA/SoC架構(gòu)設(shè)計工作

信號列表和時序圖

在創(chuàng)建架構(gòu)時,我的傳統(tǒng)方法是從筆和紙開始,勾勒出主要的設(shè)計模塊和關(guān)鍵界面。完成此操作后,我將使用Visio將其電子圖形化,以使其添加在文檔中時看起來更加專業(yè)。

當(dāng)然,此圖需要顯示塊之間的所有信號和信號類別。理想情況下,工程師應(yīng)能夠拾取架構(gòu)和架構(gòu)文檔,并根據(jù)其角色開始開發(fā)或驗證。

在研究架構(gòu)時,我對其他工程師如何開發(fā)可編程邏輯架構(gòu)感到好奇,因此我在多個FPGA討論板/論壇上提出了問題并收到了很多有趣的回答。大多數(shù)受訪者表示他們使用了常見的圖紙設(shè)計套件,包括:

· 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/)

我們可以使用這里所有的繪圖包創(chuàng)建漂亮的架構(gòu)圖,有趣的是,有幾個人回答說他們使用Symbolator,而我并不熟悉。

Symbolator是Windows和Linux中的命令行工具,它將讀取VHDL、Verilog和組件聲明然后生成組件圖。然后可以在您首選的圖紙包中使用這些symbol。

直接安裝Symbolator。我們可以使用pip進行安裝,并注意您安裝的時候可能需要安裝一些其他軟件,包括Pycairo,PyGObject和Python-gi-cairo。完成此操作后,您可以使用各種不同格式和表示樣式的組件聲明創(chuàng)建組件symbol。

自從我學(xué)習(xí)到有關(guān)Symbolator的知識以來,我感覺這工具還挺好用,于是決定將它用到我正在設(shè)計的三個架構(gòu)工作中。

如何開展FPGA/SoC架構(gòu)設(shè)計工作

用Symbolator進行block設(shè)計

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

我非常喜歡使用清晰的時鐘和數(shù)據(jù)接口組定義來創(chuàng)建block。這一次,我使用Symbolator和Visio完成了架構(gòu)設(shè)計,但對于各位架構(gòu)師來說,每個人都有每個人的習(xí)慣。大家更習(xí)慣如何開展FPGA/SoC架構(gòu)設(shè)計工作呢?

原文標(biāo)題:你一般如何做可編程邏輯設(shè)計的架構(gòu)?

文章出處:【微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21620

    瀏覽量

    601232
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4099

    瀏覽量

    217768
  • 可編程邏輯
    +關(guān)注

    關(guān)注

    7

    文章

    514

    瀏覽量

    44054

原文標(biāo)題:你一般如何做可編程邏輯設(shè)計的架構(gòu)?

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于直方圖算法進行FPGA架構(gòu)設(shè)

    加速。安排如下: 首先基于直方圖算法進行FPGA架構(gòu)設(shè)計,這里主要考慮了如何加速以及FPGA資源的利用兩個因素;最后基于system Verilog搭建一個驗證系統(tǒng)。 FPGA設(shè)計
    的頭像 發(fā)表于 12-10 16:37 ?2733次閱讀

    soc fpga架構(gòu)下的讀心術(shù)

    的讀心術(shù)。soc fpga架構(gòu)下的的ARM處理器通過AIX總線訪問 FPGA域中的外設(shè)或者內(nèi)存空間,這些總線行為是可以通過硬邏輯狀態(tài)機來監(jiān)控的,針對一些需要高速處理的外設(shè),硬邏輯狀態(tài)機
    發(fā)表于 01-06 17:24

    【W(wǎng)EBENCH 大賽作品】WEBENCH FPGA 電源架構(gòu)設(shè)

    使用WEBENCH? FPGA Power Architect 設(shè)計工具,進行FPGA的電源架構(gòu)設(shè)計作品地址:http://ttokpm.com/uploads/ComD
    發(fā)表于 07-16 14:54

    例說FPGA連載15:硬件整體架構(gòu)設(shè)

    `例說FPGA連載15:硬件整體架構(gòu)設(shè)計特權(quán)同學(xué),版權(quán)所有配套例程和更多資料下載鏈接:http://pan.baidu.com/s/1c0nf6Qc 如圖2.8所示,FPGA核心板電路架構(gòu)
    發(fā)表于 08-01 18:19

    【設(shè)計技巧】FPGA架構(gòu)設(shè)計漫談

    /u/97edd21e88(一)流驅(qū)動和調(diào)用式架構(gòu)設(shè)計是每個FPGA工程師都要面臨的第一關(guān)。經(jīng)常有這樣的項目,需求分析,架構(gòu)設(shè)計匆匆忙忙,號稱一兩個月開發(fā)完畢,實際上維護項目就花了一年半時間。主要包括
    發(fā)表于 08-02 08:30

    如何有效地開展FPGA/SoC架構(gòu)設(shè)計工作?

    地址:https://kevinpt.github.io/symbolator/我非常喜歡使用清晰的時鐘和數(shù)據(jù)接口組定義來創(chuàng)建block。這一次,我使用Symbolator和Visio完成了架構(gòu)設(shè)計,但對于各位架構(gòu)師來說,每個人都有每個人的習(xí)慣。大家更習(xí)慣如何
    發(fā)表于 06-23 08:00

    如何有效地開展FPGA/SoC架構(gòu)設(shè)計工作?

    計,但對于各位架構(gòu)師來說,每個人都有每個人的習(xí)慣。大家更習(xí)慣如何開展FPGA/SoC架構(gòu)設(shè)計工作
    發(fā)表于 09-15 10:55

    ARM推薦的SOC架構(gòu)設(shè)計是各自獨立復(fù)位?還是關(guān)聯(lián)同時復(fù)位?

    SOC內(nèi)集成有SE小系統(tǒng),請教:若按ARM推薦的SOC架構(gòu)設(shè)計,當(dāng)SOC內(nèi)ARM CPU內(nèi)核復(fù)位時,該SOC內(nèi)的SE小系統(tǒng)是否會同時復(fù)位?
    發(fā)表于 08-03 14:12

    ARM嵌入式應(yīng)用程序架構(gòu)設(shè)計工具-DLTools

    ARM嵌入式應(yīng)用程序架構(gòu)設(shè)計實例精講--ARM嵌入式應(yīng)用程序架構(gòu)設(shè)計工具-DLTools
    發(fā)表于 07-08 11:08 ?4次下載

    ARM嵌入式應(yīng)用程序架構(gòu)設(shè)計工具-字庫

    ARM嵌入式應(yīng)用程序架構(gòu)設(shè)計實例精講--ARM嵌入式應(yīng)用程序架構(gòu)設(shè)計工具-字庫
    發(fā)表于 07-08 11:08 ?10次下載

    ARM嵌入式應(yīng)用程序架構(gòu)設(shè)計工

    電子專業(yè)單片機相關(guān)知識學(xué)習(xí)教材資料——ARM嵌入式應(yīng)用程序架構(gòu)設(shè)計工
    發(fā)表于 09-13 17:23 ?0次下載

    基于ARMCortex_M3核的SoC架構(gòu)設(shè)計及性能分析

    基于ARMCortex_M3核的SoC架構(gòu)設(shè)計及性能分析
    發(fā)表于 09-29 09:26 ?18次下載
    基于ARMCortex_M3核的<b class='flag-5'>SoC</b><b class='flag-5'>架構(gòu)設(shè)</b>計及性能分析

    介紹WEBENCH 電源架構(gòu)設(shè)計工具使用方法與技巧

    WEBENCH 電源架構(gòu)設(shè)計工具概述(簡短版本)
    的頭像 發(fā)表于 08-06 01:33 ?3270次閱讀

    based SmartFusion2 SoC FPGA設(shè)計的System Builder設(shè)計工

    關(guān)鍵詞: System Builder , SmartFusion FPGA 帶有System Builder設(shè)計工具的Libero SoC軟件可以加快SmartFusion2的開發(fā)和縮短客戶的上市
    發(fā)表于 09-25 09:07 ?630次閱讀

    如何開展FPGA/SoC架構(gòu)設(shè)計工作?

    本篇整理自Adam Taylor的設(shè)計教學(xué)博客。 在我寫的大多數(shù)博客里,都演示或解釋了FPGA/SoC的設(shè)計細(xì)節(jié)技術(shù)。但是這篇文章將有所不同,因為在這里我要提出另外一個問題。 你該如何開始做可編程
    的頭像 發(fā)表于 05-27 11:33 ?2088次閱讀
    如何<b class='flag-5'>開展</b><b class='flag-5'>FPGA</b>/<b class='flag-5'>SoC</b><b class='flag-5'>架構(gòu)設(shè)</b><b class='flag-5'>計工作</b>?