|
|
本帖最后由 超級狗 于 2024-8-10 11:04 编辑
# q$ _) D) j. J" R1 o
7 L1 g- e( W8 h; c1 p樓主:
$ ~/ \; @& w8 E; `3 b' `$ B關於您的元宵節燈謎,我看了一晚的原理圖,似乎有那麼一點感覺了。
, ^+ j0 K/ T. s f" Y2 A
" r; n6 p* J' Q您說這板子是仿 USRP X310 的設計,在沒有更多資訊的狀況下,我們就姑且當它和 USRP X310 的架構相同。
! r3 \6 o5 s1 |" S' {
: r B5 m# T2 H' F. V+ L t, S% b系統架構分析
9 a( K3 n5 |6 v, U% ?4 o) ^6 S) U從方塊圖來看,系統似乎被設計為類 x86 PC 的架構。系統開機後,從 PCIe 硬碟(SSD)將軟件載入到 DRAM 中執行。為什麼要這樣做?這個問題和你的疑問,「為什麼閃存不直接掛到 Kintex-7 上?」有那麼點關係。而想要再多放一個 SSD 上去,則會受限於 PCIe PHY 的能力,也許它就只支援兩個插槽(Slot)系統都給用掉了。
) [( s$ U3 t' q# v! H1 u/ J- s& u% \7 Q# D4 o, ?+ d' Z' t
為什麼閃存不直接掛到 Kintex-7 上?0 r% d7 @( F2 f2 B* W) {' ]
- QSPI Serial Flash Winbond 25Q128JVSQ 一顆的容量有 16MB,五顆構成的更新緩衝區(Buffer),總共有 16MB x 5 = 80MB。如果要用 Parallel Flash 你可以算一下,16 bit Data + 128MB 的定址線(Address)+ Read / Write + Chip Select 總共需要多少個 FPGA I/O。Kintex-7 已經沒剩下那麼多管腳讓你用了。
- 玩過 FPGA 的人都知道,高速訊號設計時最好都放在同一個或相鄰的 Bank,延遲(Delay)才能降到最低。Kintex-7 沒有多餘的 Bank 能用了,即便從各個 Bank 東拼西湊挪出足夠的管腳,也無法滿足前述延遲(Delay)的要求。
- 而 Kintex-7 內部還剩下多少的 Gate Count,讓我們能設計出這樣的電路,又是另一個問題。
- QSPI Controller 設計上所需要的訊號較少,耗用 FPGA 的 Gate Count 也相對少。在能擠進現有 Kintex-7 內部的前提下,可能是一個較好的折衷方案。
: d9 C* \: h6 [, L- N/ T3 _
# D1 Z4 n1 [ ?7 I$ Q3 H6 M綜合上述小弟的豬腦推論,這可能就是您要的答案了!1 ^- ?: u# E' G
6 e1 U n; {' ?2 x7 e: |
% E; W1 l. E0 p0 P! O7 v/ k, E. _# x
) p M" D! T3 L3 ?% ?! a1 g6 M0 V) P$ h9 r9 P/ `, {: `- Z
- ]3 Z% [ a0 I9 H$ L+ Y- i |
|