題:
我應該如何理解FPGA架構?
Carl
2019-10-08 23:26:17 UTC
view on stackexchange narkive permalink

我已經得到了通過對FPGA進行編程來製作2位加法器的任務。FPGA如下所示:

但是,我什至不知道如何開始這項任務,因為我不明白自己在看什麼。

這些綠線應該做什麼,那些綠色和紅色形狀又如何?

我希望有人能為我澄清這一點,因為我真的很想理解。

enter image description here

PS:我不知道這對於了解正在發生的事情是否必不可少,但此數字也包括在問題單中:

enter image description here

歡迎來到EE.SE!這似乎是一個作業問題。因此,您需要向我們展示到目前為止的工作,並說明您遇到問題的哪一部分。供將來參考:EE.SE上的作業問題可享受/享受特殊待遇。我們不會提供完整的答案,僅在您已經證明了自己的足夠努力時才提供提示或蘇格拉底式的問題。否則,我們會給您帶來傷害,並同時被作業問題淹沒。另請參閱[此處](http://meta.electronics.stackexchange.com/a/5120/7036)。
@DaveTweed儘管這是一個家庭作業問題,但不是典型的家庭作業問題。我認為這是完全可以的。
是的,但是OP正在要求提供本課程中應該已經提供的信息。我們不需要再次解釋。
通常,您可以使用HDL(例如Verilog)和製造商的工具鏈對FPGA進行編程,而無需查看發布的內容,
@DaveTweed同意。這裡只有兩種可能:或者沒有通知OP,在這種情況下,他的老師/課程有問題;或者或者他沒有吸收這些信息,在這種情況下,他或他的導師/課程可能有問題。在這兩種情況下,“足夠的努力”都應包括回到導師那里或重新閱讀課程資料。
@OrangeDog當然可以,但是一生中至少看到一次很方便。FPGA中的基本LUT架構十年來沒有發生變化,並且已經看到它使人們更容易理解為什麼例如在計算路徑中具有更多流水線級通常不需要更多資源。
坦率地說,我更喜歡將它作為家庭作業,而不是另一種無用的“實例化原語來構建半加法器,並將它們連接在一起以構建完整加法器”,自冷戰結束以來,這對任何人都沒有幫助(上一個, 那是)。
@OrangeDog是的,但這很可能是一種練習,以了解幕後的情況。是的,除非您自己開發工具鏈,否則沒有人會在此級別上工作。但是,在編寫HDL或至少在閱讀時序報告以試圖找出如何修改HDL以縮短關鍵路徑時,對工具必須使用的工具有所了解。
要告訴你一個秘密:全都是黑魔法。
如果您在講課的地方睡覺,那是唯一的魔術
三 答案:
alex.forencich
2019-10-08 23:49:26 UTC
view on stackexchange narkive permalink

綠色框是IO引腳,藍色線是電線,紅色框是配置位,灰色框是邏輯塊。紅框可以為所連接的任何內容提供恆定的邏輯0或邏輯1。

每個邏輯塊實現一個3輸入,1輸出查找表(三個輸入的邏輯電平的組合確定選擇了八個配置位中的哪一個),並具有一個可旁路的觸發器。您的帖子還顯示了LUT實現的真值表,指示為s0,s1和s2的每個組合選擇了哪個配置位。

例如,連接藍色導線交叉點處的紅色框以通過導線之間的通過門。將其中之一設置為1會將水平線和垂直線連接在一起,將其設置為0會使電線斷開連接。

您需要做的是在每個紅色框中寫一個1或0,以便使頂部綠色框中的輸入信號通過邏輯塊發送,您需要對其進行配置以實現必要的邏輯執行操作。看起來他們希望您將{a1,a0},{b1,b0}和ci加在一起。

以下是如何實現3輸入或門的示例:

OR gate

所有空白框均假定為邏輯0。這需要3個輸入a0,b0和ci,計算邏輯或,並在自由引腳上輸出結果。需要注意的主要事情是配置位如何控制通過門將三個輸入信號連接到邏輯塊上的三個輸入並將輸出連接到自由輸出引腳,以及邏輯塊如何實現“或”功能-全部為0輸入為0,否則為1,並旁路了觸發器。

通常,從FPGA內部總線到I / O引腳的連接邏輯更多,通常I / O可以路由至幾乎任何I / O引腳
@VoltageSpike是的,但這是一個高度簡化的示例。在這種情況下,您甚至可能不會將它們視為對外部世界的IO,而是將其連接到較大設計的其他部分。
DKNguyen
2019-10-08 23:52:48 UTC
view on stackexchange narkive permalink

您發表了自己的解釋。仔細看看您自己的圖片:

enter image description here

紅色框是用來標記值或信號的標籤框,代表控制連接水平線和垂直線(綠線)的開關的信號。除非開關(由紅色框中的值控制的晶體管)執行此操作,否則水平導線和垂直導線交叉時不會在結點處連接

Voltage Spike
2019-10-08 23:30:36 UTC
view on stackexchange narkive permalink

綠色線是電線,紅色框是連接,您可以使用開關將綠色線連接到塊。開關位於紅色方框中,如果啟用,它可以將兩條線連接在一起。

這是現代FPGA的工作量。但是,無需手動執行此操作,而是由硬件合成器為您解決。哎呀,當您完成這項作業時,您可以編寫自己的基本硬件合成器!

嗯,好的,但是我還是不太明白。這些綠線中的大多數只是從一端到另一端而沒有任何障礙。但是也許他們不應該這樣做? 此外,頂部綠色的字母應該表示什麼?
這些就是輸入,因此給定的三個輸入就像在任何2位加法器中一樣,然後需要使用必須生成適當輸出的硬件。像這樣,但是使用FPGA硬件https://electronics.stackexchange.com/questions/129549/2-bit-adder-implementation


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 4.0許可。
Loading...