WishBoneインターフェース・メモ

by K.I
2015/06/24〜

Index


概要


[top]

EFBモジュール

EFBレジスタマップ

アドレス ハードマクロ機能
0x00-0x1F PLL0ダイナミックアクセス1
0x20-0x3F PLL1ダイナミックアクセス1
0x40-0x49 I2Cプライマリ
0x4A-0x53 I2Cセカンダリ
0x54-0x5D SPI
0x5E-0x6F タイマ/カウンタ
0x70-0x75 フラッシュメモリ()UFM/コンフィグレーション
0x76-0x77 EFB割り込みソース

EFBモジュールのインターフェース

信号名 I/O ビット幅 記述
wb_clk_i 入力 1 立ち上りエッジ有効のクロックで、EFBモジュール内のWISHBONEインターフェイス・レジスタ、及びハードマクロ機能によって使用される。クロック速度は最速133MHzまで対応。I2Cユーザスレーブやコンフィグ用スレーブとして用いる場合、クロック周波数がI2Cインターフェイス周波数の7.5倍より大きい必要がある(I2Cが400kHz動作の場合は>3.0MHz)
wb_rst_i 入力 1 アクティブHighの同期リセット信号。WISHBONEインタフェース・ロジックのみをリセットする。この信号はいかなるレジスタの値にも影響しない。進行中のバストランザクションにのみ影響する。次のWISHBONEトランザクションを行う前に、ネゲート後1μ秒間待つこと
wb_cyc_i 入力 1 WISHBONEマスタによってアサートされるアクティブHighの信号。有効なバスサイクルが進行中であることを示す
wb_stb_i 入力 1 アクティブHighのストローブ入力信号。そのWISHBONEスレーブが進行中のバストランザクションのターゲットであることを示す。EFBモジュールは、ストローブのアサートに対応してアクノレッジを返す
wb_we_i 入力 1 レベルセンシティブなライト/リード制御信号。Lowはリード動作を示し、そしてHighはライト動作を示す
wb_adr_i 入力 8 8ビット幅アドレス。EFBモジュールのレジスタマップからの特定のレジスタを選択するために使用される
wb_dat_i 入力 8 8ビット幅データ入力パス。EFBモジュールのレジスタマップの特定のレジスタへバイトデータをライトするために使用される
wb_dat_o 出力 8 8ビット幅データ出力パス。EFBモジュールのレジスタマップの特定のレジスタからバイトデータをリードするために使用される
wb_ack_o 出力 1 Highアクティブの転送アクノレッジ信号で、EFBモジュールがアサートする。リクエストされた転送がアクノレッジされたことを示す

[top]

WISHBONEインターフェースの動作

Writeサイクル

Readサイクル

Resetサイクル

WISHBONEインターフェースの制御


[top]

SPIインターフェース

SPIの制御レジスタ

レジスタ名 機能 アドレス アクセス
SPICR0 制御レジスタ0(インターバル設定) 0x54 R/W
SPICR1 制御レジスタ1(SPE,WKUPEN_USER,WKUPEN_CFG,TXEDGE) 0x55 R/W
SPICR2 制御レジスタ2(MSTR,MCSH,SDBRE,CPOL,CPHA,LSBF) 0x56 R/W
SPIBR クロック・プリスケール (DIVIDER) 0x57 R/W
SPICSR マスタチップセレクト(CSN_n) 0x58 R/W
SPITXDR 送信データ 0x59 W
SPISR ステータス(TIP,TRDY,RRDY,ROE,MDF) 0x5A R
SPIRXDR 受信データ 0x5B R
SPIIRQ 割込み要求(IRQTRDY,TRDY,RRDY,ROE,MDF) 0x5C R/W
SPIIRQEN 割込み要求イネーブル(IRQTRDYEN,RRDYEN,ROEEN,MDFEN) 0x5D R/W

SPI Writeアクセス


[top]

UFM/CFMインターフェース

UFM/CFMの制御レジスタ

レジスタ名 機能 アドレス アクセス
CFGCR 制御レジスタ(WBCE,RSTE) 0x70 R/W
CFGTXDR 送信データ 0x71 W
CFGSR ステータス(WBCACT,TXFE,TXFF,RXFE,RXFF,SSPIACT,I2CACT) 0x72 R
CFGRXDR 受信データ 0x73 R
CFGIRQ 割込みステータス(IRQTXFE,TXFF,RXFE,RXFF,SSPIACT,I2CACT) 0x74 R/W
CFGIRQEN 割込み要求イネーブル(IRQTXFEEN,TXFFEN,RXFEEN,RXFFEN,SSPIACTEN,I2CACTEN) 0x75 R/W

デバイスID Read

デバイスID一覧

デバイス HE/ZE HC
MachXO2-256 0x01 2B 00 43 0x01 2B 80 43
MachXO2-640 0x01 2B 10 43 0x01 2B 90 43
MachXO2-1200/MachXO2-640U 0x01 2B 20 43 0x01 2B A0 43
MachXO2-2000/MachXO2-1200U 0x01 2B 30 43 0x01 2B B0 43
MachXO2-4000/MachXO2-2000U 0x01 2B 40 43 0x01 2B C0 43
MachXO2-7000 0x01 2B 50 43 0x01 2B D0 43

[top]

ID Readシーケンス検討

出力用のシーケンス検討

入力用シーケンス

デバイスIDリードシーケンス

DeviceIDread Verilogソース

シミュレーションによる確認

テストベンチ

動作確認


[top]

シミュレーション

Simulation Initialize時のエラー

信号がUnavailable

# KERNEL: Warning: KERNEL_0085 "/dstest_tb/UUT/wb_adrs" does not have read access. Use switch +access +r for this region.

シミュレーションの実行

再シミュレーションは?


[top]

UFM回路検討

UFM Write

UFM Read


[top]

まとめ

参考



comments powered by Disqus