2008/12/06

Spartan3 PCIバス付きFPGA評価ボード(6) - 俺PCIコア

オンボードのPromiseのRAIDカードとFPGAボードが干渉して起動中にストールしていた件は、ディスコネクト時にSTOP#を'Z'(ハイインピーダンス)に戻すのを忘れていたのが原因でした。

現在の俺PCIコアはシングル転送専用になっているので、TRDY#ディアサート時に一緒にSTOP#も操作するのですが、操作しっぱなしでディアサートしてドライブしっぱなしになっていたのでした。

これで、無事にテスト機も動くようになったので、やっと開発に入れます。

Linuxの lspci -vvv の出力です(太字が今回作った PCI コアのボード)。
バースト転送も割り込みもパリティもバスマスター機能もない、ターゲット機能のみのデバイスです。一応、気持ちとしてはRAMデバイスということにしてあります。


02:03.0 Class 0200: 14e4:1653 (rev 03)
Subsystem: a0a0:040d
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (16000ns min), cache line size 08
Interrupt: pin A routed to IRQ 22
Region 0: Memory at fa030000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [48] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
Status: D3 PME-Enable+ DSel=0 DScale=1 PME-
Capabilities: [50] Vital Product Data
Capabilities: [58] Message Signalled Interrupts: 64bit+ Queue=0/3 Enable-
Address: 41c3f81bff7ffff8 Data: fbff

02:05.0 Class 0500: 3449:8000 (rev 01)
Subsystem: 3449:8000
Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Region 0: Memory at fa042000 (32-bit, non-prefetchable) [size=16]
Region 1: Memory at fa020000 (32-bit, non-prefetchable) [size=64K]


02:0d.0 Class 0c00: 11c1:5811 (rev 61) (prog-if 10)
Subsystem: 0001:0001
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (3000ns min, 6000ns max), cache line size 08
Interrupt: pin A routed to IRQ 21
Region 0: Memory at fa040000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME+

0 件のコメント: