找回密码
 注册
关于网站域名变更的通知

FPGA 外接 5 个 FLASH

查看数: 1006 | 评论数: 15 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2024-8-2 18:13

正文摘要:

本帖最后由 超級狗 于 2024-8-6 23:38 编辑 8 j- W) B' n3 ], H7 B7 d ( w' N" A6 L& V5 {/ u) ?今天发现别人的板子上有个很新奇的设计,FPGA外接了5个FLASH(不是配置程序用吗,板子背面有个单独的配置flash) ...

回复

mening 发表于 2024-8-15 13:58
有啥奇怪的吗,顺便混个回复
Dc2024012548a 发表于 2024-8-15 13:06
看看
超級狗 发表于 2024-8-15 11:12
本帖最后由 超級狗 于 2024-8-15 11:40 编辑
( V1 v& ?" G2 T+ Y$ d' j
cwfang2013 发表于 2024-8-15 09:05
7 d' k/ |7 H* c% U1 h- ~  i版主,这两天忙着设计板子,没空看帖子。您的观点也是对的,但是实际用的时候不是这样用的。产品最终使用 ...

9 C& T. Z. s7 U5 W: P% xPCIe PHY 的介面 8 bit 是送、收分開,這個我找了 NXP PCIe PHY PX1011B Datasheet 參考過。
7 J% Q6 M- q. E5 R; y. `* S# x0 Z: e, r5 _$ X5 e

NXP PX1011B Block Diagram.jpg (57.5 KB, 下载次数: 6)

NXP PX1011B Block Diagram.jpg

NXP PX1011B.pdf

329.24 KB, 下载次数: 0, 下载积分: 威望 -5

cwfang2013 发表于 2024-8-15 09:05
超級狗 发表于 2024-8-7 11:30: D7 u7 S' b* r) K7 C  x
樓主:
" j, Q% W+ n& F3 K7 L關於您的元宵節燈謎,我看了一晚的原理圖,似乎有那麼一點感覺了。

4 G' ?+ S$ M$ |$ Y0 L: O版主,这两天忙着设计板子,没空看帖子。您的观点也是对的,但是实际用的时候不是这样用的。产品最终使用中,PCIE是没有用的,用的是万兆电口和X86主板通信,程序升级都是通过万兆网完成的。实际的X310原理图中关于PCIE PHY不是开源的,但是我通过我们FPGA程序里的引脚分配能看出来,PCIE PHY芯片占用了很多管脚,它是并行转串行的一个芯片。它的设计意图其实一直捉摸不透,K7 FPGA是自带PCIE核的,完全可以通过GX(高速接口)直接接PCIE,而不是并行转串行,省出来的IO完全够接把并行FLASH接在FPGA上。
twofoolish 发表于 2024-8-8 15:53
版主厉害,分析得完美

评分

参与人数 1威望 +5 收起 理由
超級狗 + 5 因為不會有解答,只能說是合理的推測!

查看全部评分

超級狗 发表于 2024-8-7 11:30
本帖最后由 超級狗 于 2024-8-10 11:04 编辑
! f( f/ ]/ ^5 q+ L
cwfang2013 发表于 2024-8-6 16:24
! |" Y* A( g' O* k% `9 r- V狗版主说的没问题,这5个FLASH就是用来预存K7的逻辑。等K7工作的时候通过SPANTAN6 FPGA把5个FLASH里面的 ...

6 S8 N' S1 H8 p2 Q" c樓主:
0 X" X+ o% O3 z關於您的元宵節燈謎,我看了一晚的原理圖,似乎有那麼一點感覺了。
+ U; A0 g) t) T8 ^; o) h) o' x/ \9 E; a2 O
您說這板子是仿 USRP X310 的設計,在沒有更多資訊的狀況下,我們就姑且當它和 USRP X310 的架構相同。, M$ B- `+ U; y/ \/ X7 N. G0 S/ l

* T9 K1 q& m3 q  v系統架構分析, x$ L9 d& T5 a. H( b, k
從方塊圖來看,系統似乎被設計為類 x86 PC 的架構。系統開機後,從 PCIe 硬碟SSD)將軟件載入到 DRAM 中執行。為什麼要這樣做?這個問題和你的疑問,「為什麼閃存不直接掛到 Kintex-7 上?」有那麼點關係。而想要再多放一個 SSD 上去,則會受限於 PCIe PHY 的能力,也許它就只支援兩個插槽Slot)系統都給用掉了。9 Q4 Y5 }4 j1 s- Y) M
- E* H$ N% e" j5 G, w
為什麼閃存不直接掛到 Kintex-7 上?
, p1 K/ u( x4 B7 l
  • 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 內部的前提下,可能是一個較好的折衷方案。
    $ p0 E1 c) _6 U' ?& j0 [8 t: d

) n( F: e/ J1 I' v綜合上述小弟的豬腦推論,這可能就是您要的答案了!
5 r& U. b0 g7 o) D
5 K( b4 F1 `* d8 t" e9 p: `  T4 f  p3 r+ w$ X5 |+ E; M. Q  {

- n0 t6 E: z8 m0 {6 n# a6 [) }# d+ G$ _: U/ K- x

) p, i+ ~. z: w8 k/ T" r. e

点评

版主,这两天忙着设计板子,没空看帖子。您的观点也是对的,但是实际用的时候不是这样用的。产品最终使用中,PCIE是没有用的,用的是万兆电口和X86主板通信,程序升级都是通过万兆网完成的。实际的X310原理图中关于P  详情 回复 发表于 2024-8-15 09:05
超級狗 发表于 2024-8-6 22:59
AMD 自從收購 Xilinx 之後,兩種產品有 K7 這個代號。
  • AMD Athlon 系列處理器代號是 K7
  • Xilinx Kintex-7 系列 FPGA 代號也叫 K7
    ; v/ B& ]" u2 z* n% x3 C
. K4 `4 X( Q& @' I! J. V) N
在還沒看到原理圖之前,我是被你弄得暈頭轉向。" a, W$ f# Q% }3 ~- }, s
! P6 R4 Q6 }/ r) Y. V4 V
( c' _. F& X3 f6 `. \6 i) p7 X

' q8 u1 ?0 n0 Y( ^/ `* @% y9 ^! e. u

6 r6 F4 G/ q8 N4 P  r9 _+ b4 @- F9 s& c/ y- M/ E

, s. W; M1 g# n1 x) |
超級狗 发表于 2024-8-6 21:21
cwfang2013 发表于 2024-8-6 16:24
$ o5 w& [1 F7 Y$ W5 X1 ~5 x狗版主说的没问题,这5个FLASH就是用来预存K7的逻辑。等K7工作的时候通过SPANTAN6 FPGA把5个FLASH里面的 ...

+ i8 Q/ V/ k9 x2 R% W0 p少了幾張關鍵的原理圖,但是方塊圖還是能參考。
5 u' I: m4 d! c6 ?
* ^4 g$ Y/ e+ I" Y6 f8 E3 o/ S# h4 S6 Z; g; L& a  ~! j
, _$ P: g* z/ j( O! A

; q! Z0 o- r+ L; J

USRP X3X0 Block Diagram.jpg (74.34 KB, 下载次数: 11)

USRP X3X0 Block Diagram.jpg

USRP x3xx.pdf

1.7 MB, 下载次数: 0, 下载积分: 威望 -5

cwfang2013 发表于 2024-8-6 16:24
超級狗 发表于 2024-8-5 23:13
  • 一般的閃存不支援邊寫邊讀(執行),所以需要緩衝區(Buffer)把待更新的軟件先預存起來,等整顆閃 ...
  • ' @' R1 J8 ^( ~+ t& X  S: g
    狗版主说的没问题,这5个FLASH就是用来预存K7的逻辑。等K7工作的时候通过SPANTAN6 FPGA把5个FLASH里面的程序加载出来。这几个芯片之间的逻辑关系没问题,有个疑问点是SPANTAN6为什么不直接接一个并行的Flash,非要挂5个QSPI接口的FLASH8 T4 R" H+ m# R$ I. A2 u) i+ J6 J

    点评

    谢谢分享!: 5.0
    樓主:關於您的元宵節燈謎,我看了一晚的原理圖,似乎有那麼一點感覺了。 您說這板子是仿 USRP X310 的設計,在沒有更多資訊的狀況下,我們就姑且當它和 USRP X310 的架構相同。 系統架構分析 從方塊圖來看,  详情 回复 发表于 2024-8-7 11:30
    谢谢分享!: 5
    有 PCIe PHY 和 Parallel Flash 的型號否?從方塊圖來看,如果 Parallel Flash 是掛在 PCIe 底下,感覺是以 SSD 的型態存在系統中。^_^  发表于 2024-8-6 22:50
    少了幾張關鍵的原理圖,但是方塊圖還是能參考。  详情 回复 发表于 2024-8-6 21:21
    超級狗 发表于 2024-8-6 00:02
    本帖最后由 超級狗 于 2024-8-6 00:06 编辑 0 L# o, L4 d5 Z7 D+ Z
    : j/ }6 h" P- ]7 [
    啊哈~原來都是人家提供的參考設計Reference Design)!  m; ~8 Y5 M- G  T
    7 |' O; j- H7 m0 p  Z
    How to use QSPI Flash on Kintex7( d( \6 [# x3 @/ R
    ( J' T- \: g+ g1 C& y' w
    How to use QSPI Flash on Kintex7 (xilinx.com)
    ) I' k" S9 b$ X* n4 k* u1 J, v( A) J( I
    - \; S# I; ]( R6 \; r4 ?
    超級狗 发表于 2024-8-5 23:13
    本帖最后由 超級狗 于 2024-8-5 23:58 编辑
    0 R% M* O: p- y2 n' b: Z! o
    cwfang2013 发表于 2024-8-5 15:010 }$ V7 O2 ~8 Z% n7 @, X
    不是这样的,本身spatran6和K7都有自己单独的FLASH,这5个FLASH是额外接在spatran6上的,我 ...

    % @6 B+ A. }9 W# i* R* \6 s. a
    • 一般的閃存不支援邊寫邊執行),所以需要緩衝區Buffer)把待更新的軟件先預存起來,等整顆閃存抹除後再逐一寫入。
    • 軟件有多大、就需要有多大的緩衝區Buffer),要接 5 顆閃存表示軟件的容量不小。
    • 閃存為什麼不直接接 K7 上面?我猜為了讀寫速度,這 5 顆應該都是支援 QSPI 的 Serial Flash(你自己也說是 QSPI Serial Flash 沒錯),通常 MCU 或 CPU 上的 QSPI 接口只有一組,你得想辦法變成 5 組,才有辦法接 5 顆 QSPI Serial Flash。
    • 或者說 K7 根本沒有 QSPI 接口,需要 FPGA 來擴展出 QSPI 接口。(AMD K7 沒有 QSPI 介面吧?)
    • 僅為推測,如果你無法得知動作原理,大家就只能猜。但你若得知動作原理,自然也不必來問我們了。早說過,這題是元宵節燈謎,你覺得誰掰得有道理,就信誰吧!! X4 Z; Y5 m: d+ M4 u! F

    . c. G6 v7 V7 u  J1 [8 \3 v
    3 e! g( _; `- ]0 U- A
    2 ~& n' z+ k6 w% @1 [
    ; I/ k( V8 Q8 w- r! N  D4 E8 c

    点评

    狗版主说的没问题,这5个FLASH就是用来预存K7的逻辑。等K7工作的时候通过SPANTAN6 FPGA把5个FLASH里面的程序加载出来。这几个芯片之间的逻辑关系没问题,有个疑问点是SPANTAN6为什么不直接接一个并行的Flash,非要挂  详情 回复 发表于 2024-8-6 16:24
    cwfang2013 发表于 2024-8-5 15:01
    myiccdream 发表于 2024-8-5 11:04& {& D, g& c+ Y, }3 p3 c
    既然是猜想,那就随意发挥,8 C( }! T' S, G4 G# q
    你提到了这里面由一个spatran6, 一个K7 , 这2个人家一人挂2个Flash 可以 ...

    0 o7 r+ M- h& g0 x) h1 K: i不是这样的,本身spatran6和K7都有自己单独的FLASH,这5个FLASH是额外接在spatran6上的,我只知道是用来远程升级K7的程序用的,至于为啥这样用,我没想明白。2 v* u; h( }$ _  ^

    点评

    軟件有多大就需要有多大的緩衝區(Buffer)。 一般的閃存不支原邊寫邊讀(執行),  详情 回复 发表于 2024-8-5 23:13
    myiccdream 发表于 2024-8-5 11:04
    cwfang2013 发表于 2024-8-5 08:58
    8 i+ W7 P6 I. O' L  F0 q5 v: w这个板子是仿的官方的 USRP X310的板子。板子我只截图了一部分,spatran6对外接的是一个串口,对内接的是K7 ...
    ' V* V& q0 @+ H: n3 m* r/ w9 P, w
    既然是猜想,那就随意发挥,
    % U3 R* z  ?) ~- s7 y你提到了这里面由一个spatran6, 一个K7 , 这2个人家一人挂2个Flash 可以吧?2 ?0 W6 X' W, {) @- ]2 X$ b. ?& N5 w! S
    另外,单板的IP,其他的各种参数文件这些不能因为你升级就擦掉吧,那在用一个flash 不就很合理& D! M* ^7 n2 [2 ]2 A
    2+2+1 =5?% g$ ?' m/ x1 X/ u. b1 r/ W

    点评

    不是这样的,本身spatran6和K7都有自己单独的FLASH,这5个FLASH是额外接在[/backcolor]spatran6上的,我只知道是用来远程升级K7的程序用的,至于为啥这样用,我没想明白。[/backcolor]  详情 回复 发表于 2024-8-5 15:01
    cwfang2013 发表于 2024-8-5 08:58
    这个板子是仿的官方的 USRP X310的板子。板子我只截图了一部分,spatran6对外接的是一个串口,对内接的是K7的FPGA。可以通过串口实现对K7芯片的远程更新。我理解的是程序先通过串口固化到spatran6外接的那几个FLASH里,然后启动的时候,K7通过spatran6再加载程序。这样估计很多人要问了,为什么不直接把串口连接到K7上,这样岂不是更方便。当时我也是这样想的,但是为了兼容官方的远程升级文件,而官方的远程升级文件里是不带串口这部分功能的(官方是通过万兆网升级的)。所以只能通过spatran6来实现这个功能。我就是不明白为啥要用5个串行的FLASH

    点评

    既然是猜想,那就随意发挥, 你提到了这里面由一个spatran6, 一个K7 , 这2个人家一人挂2个Flash 可以吧?[/backcolor] 另外,单板的IP,其他的各种参数文件这些不能因为你升级就擦掉吧,那在用一个flash 不就很  详情 回复 发表于 2024-8-5 11:04
    Gary1001 发表于 2024-8-4 20:38
    可能四个是功能性的,反正fpga里面的逻辑可以自己编辑
    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-22 06:39 , Processed in 0.171875 second(s), 29 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表