1. 概要
2. Avalon® -ST Multi-Channel Shared Memory FIFOコア
3. Avalon® -STシングルクロックFIFOコアおよびデュアルクロックFIFOコア
4. Avalon® -STシリアル・ペリフェラル・インターフェイス・コア
5. SPIコア
6. SPI Slave to Avalon® Master Bridgeコア/JTAG to Avalon® Master Bridgeコア
7. インテル eSPIスレーブコア
8. eSPI to LPCブリッジコア
9. イーサネットMDIOコア
10. インテルFPGA 16550互換UARTコア
11. UARTコア
12. JTAG UARTコア
13. インテル FPGA Avalon® Mailboxコア
14. インテル FPGA Avalon® ミューテックス・コア
15. インテル FPGA Avalon® I2C (Master) コア
16. インテル FPGA I2C Slave to Avalon® -MM Master Bridgeコア
17. インテルFPGA Avalon® コンパクト・フラッシュ・コア
18. EPCS/EPCQAシリアル・フラッシュ・コントローラー・コア
19. インテルFPGAシリアル・フラッシュ・コントローラー・コア
20. インテルFPGAシリアル・フラッシュ・コントローラーIIコア
21. インテルFPGA汎用クアッドSPIコントローラー・コア
22. インテルFPGA汎用クアッドSPIコントローラーIIコア
23. インターバル・タイマー・コア
24. インテルFPGA Avalon FIFOメモリーコア
25. オンチップメモリー (RAMおよびROM) コア
26. Optrex 16207 LCDコントローラー・コア
27. PIOコア
28. PLLコア
29. DMAコントローラー・コア
30. Modular Scatter-Gather DMAコア
31. Scatter-Gather DMAコントローラー・コア
32. SDRAMコントローラー・コア
33. トライステートSDRAMコア
34. Video Sync GeneratorコアとPixel Converterコア
35. インテル FPGA Interrupt Latency Counterコア
36. パフォーマンス・カウンター・ユニット・コア
37. ベクトル割り込みコントローラー・コア
38. Avalon® -STデータ・パターン・ジェネレーター・コアとデータ・パターン・チェッカー・コア
39. Avalon® -STテスト・パターン・ジェネレーター・コアとテスト・パターン・チェッカー・コア
40. システムIDペリフェラル・コア
41. Avalon® Packets to Transactions Converterコア
42. Avalon® -STマルチプレクサー・コアとデマルチプレクサー・コア
43. Avalon® -ST Bytes to Packets ConverterコアとPackets to Bytes Converterコア
44. Avalon® -ST Delayコア
45. Avalon® -STラウンド・ロビン・スケジューラー・コア
46. Avalon® -ST Splitterコア
47. Avalon® -MM DDR Memory Half Rate Bridgeコア
48. インテル FPGA GMII to RGMIIコンバーター・コア
49. インテル FPGA MII to RMIIコンバーター・コア
50. インテルFPGA HPS GMII to TSE 1000BASE-X/SGMII PCSブリッジコア
51. インテル FPGA HPS EMAC to Multi-rate PHY GMIIアダプターコア
52. インテル FPGA MSI to GICジェネレーター・コア
15.5.2.1. Transfer Command FIFO (TFR_CMD)
15.5.2.2. Receive Data FIFO (RX_DATA)
15.5.2.3. Control Register (CTRL)
15.5.2.4. Interrupt Status Enable Register (ISER)
15.5.2.5. Interrupt Status Register (ISR)
15.5.2.6. Status Register (STATUS)
15.5.2.7. TFR CMD FIFO Level (TFR CMD FIFO LVL)
15.5.2.8. RX Data FIFO Level (RX Data FIFO LVL)
15.5.2.9. SCL Low Count (SCL LOW)
15.5.2.10. SCL High Count (SCL HIGH)
15.5.2.11. SDA Hold Count (SDA HOLD)
24.6.1. altera_avalon_fifo_init()
24.6.2. altera_avalon_fifo_read_status()
24.6.3. altera_avalon_fifo_read_ienable()
24.6.4. altera_avalon_fifo_read_almostfull()
24.6.5. altera_avalon_fifo_read_almostempty()
24.6.6. altera_avalon_fifo_read_event()
24.6.7. altera_avalon_fifo_read_level()
24.6.8. altera_avalon_fifo_clear_event()
24.6.9. altera_avalon_fifo_write_ienable()
24.6.10. altera_avalon_fifo_write_almostfull()
24.6.11. altera_avalon_fifo_write_almostempty()
24.6.12. altera_avalon_write_fifo()
24.6.13. altera_avalon_write_other_info()
24.6.14. altera_avalon_fifo_read_fifo()
24.6.15. altera_avalon_fifo_read_other_info()
30.5.1. Statusレジスター
30.5.2. Controlレジスター
30.5.3. Write Fill Levelレジスター
30.5.4. Read Fill Levelレジスター
30.5.5. Response Fill Levelレジスター
30.5.6. Write Sequence Numberレジスター
30.5.7. Read Sequence Numberレジスター
30.5.8. Component Configuration 1レジスター
30.5.9. Component Configuration 2レジスター
30.5.10. Component Typeレジスター
30.5.11. Component Versionレジスター
30.8.1. alt_msgdma_standard_descriptor_async_transfer
30.8.2. alt_msgdma_extended_descriptor_async_transfer
30.8.3. alt_msgdma_descriptor_async_transfer
30.8.4. alt_msgdma_standard_descriptor_sync_transfer
30.8.5. alt_msgdma_extended_descriptor_sync_transfer
30.8.6. alt_msgdma_descriptor_sync_transfer
30.8.7. alt_msgdma_construct_standard_st_to_mm_descriptor
30.8.8. alt_msgdma_construct_standard_mm_to_st_descriptor
30.8.9. alt_msgdma_construct_standard_mm_to_mm_descriptor
30.8.10. alt_msgdma_construct_standard_descriptor
30.8.11. alt_msgdma_construct_extended_st_to_mm_descriptor
30.8.12. alt_msgdma_construct_extended_mm_to_st_descriptor
30.8.13. alt_msgdma_construct_extended_mm_to_mm_descriptor
30.8.14. alt_msgdma_construct_extended_descriptor
30.8.15. alt_msgdma_register_callback
30.8.16. alt_msgdma_open
30.8.17. alt_msgdma_write_standard_descriptor
30.8.18. alt_msgdma_write_extended_descriptor
30.8.19. alt_msgdma_init
30.8.20. alt_msgdma_irq
31.7.1. データ構造
31.7.2. SG-DMAのAPI
31.7.3. alt_avalon_sgdma_do_async_transfer()
31.7.4. alt_avalon_sgdma_do_sync_transfer()
31.7.5. alt_avalon_sgdma_construct_mem_to_mem_desc()
31.7.6. alt_avalon_sgdma_construct_stream_to_mem_desc()
31.7.7. alt_avalon_sgdma_construct_mem_to_stream_desc()
31.7.8. alt_avalon_sgdma_enable_desc_poll()
31.7.9. alt_avalon_sgdma_disable_desc_poll()
31.7.10. alt_avalon_sgdma_check_descriptor_status()
31.7.11. alt_avalon_sgdma_register_callback()
31.7.12. alt_avalon_sgdma_start()
31.7.13. alt_avalon_sgdma_stop()
31.7.14. alt_avalon_sgdma_open()
37.5.6.1. altera_vic_driver.enable_preemption
37.5.6.2. altera_vic_driver.enable_preemption_into_new_register_set
37.5.6.3. altera_vic_driver.enable_preemption_rs_<n>
37.5.6.4. altera_vic_driver.linker_section
37.5.6.5. altera_vic_driver.<name>.vec_size
37.5.6.6. altera_vic_driver.<name>.irq<n>_rrs
37.5.6.7. altera_vic_driver.<name>.irq<n>_ril
37.5.6.8. altera_vic_driver.<name>.irq<n>_rnmi
37.5.6.9. RRSおよびRILのデフォルトの設定
37.5.6.10. インテルFPGA HALの実装に向けたVIC BSPのデザイン規則
37.5.6.11. RTOSに関する考慮事項
39.7.1. data_source_reset()
39.7.2. data_source_init()
39.7.3. data_source_get_id()
39.7.4. data_source_get_supports_packets()
39.7.5. data_source_get_num_channels()
39.7.6. data_source_get_symbols_per_cycle()
39.7.7. data_source_set_enable()
39.7.8. data_source_get_enable()
39.7.9. data_source_set_throttle()
39.7.10. data_source_get_throttle()
39.7.11. data_source_is_busy()
39.7.12. data_source_fill_level()
39.7.13. data_source_send_data()
39.8.1. data_sink_reset()
39.8.2. data_sink_init()
39.8.3. data_sink_get_id()
39.8.4. data_sink_get_supports_packets()
39.8.5. data_sink_get_num_channels()
39.8.6. data_sink_get_symbols_per_cycle()
39.8.7. data_sink_set enable()
39.8.8. data_sink_get_enable()
39.8.9. data_sink_set_throttle()
39.8.10. data_sink_get_throttle()
39.8.11. data_sink_get_packet_count()
39.8.12. data_sink_get_symbol_count()
39.8.13. data_sink_get_error_count()
39.8.14. data_sink_get_exception()
39.8.15. data_sink_exception_is_exception()
39.8.16. data_sink_exception_has_data_error()
39.8.17. data_sink_exception_has_missing_sop()
39.8.18. data_sink_exception_has_missing_eop()
39.8.19. data_sink_exception_signalled_error()
39.8.20. data_sink_exception_channel()
31.6.3. レジスターマップ
SG-DMAコントローラー・コアには、 Avalon® -MMインターフェイスからアクセス可能な3つのレジスター (status、control、next_descriptor_pointer) があります。ソフトウェアでは、レジスターにアクセスすることにより、コアをコンフィグレーションし、コアの現在のステータスを特定することができます。
control/statusレジスターは、バイト・イネーブル・ロジックのない32ビット・インターフェイスを備えます。そのため、それよりもデータ幅が狭いマスターからは正しくアクセスできません。コアの正しい動作を保証するにはかならず、少なくとも32ビット幅のマスターでレジスターにアクセスします。
| 32ビット・ワード・オフセット (バイトオフセット) | レジスター名 | リセット値 | 説明 |
|---|---|---|---|
| ベース + 0 (0x0) | status | 0 | このレジスターは、最後の割り込みの原因やコアが現在記述子を処理しているかなどの、コアの現在のステータスを示します。statusレジスターのマップに関しては、ステータス・レジスター・ビットのマップの表を参照してください。 |
| ベース + 1 (0x4) | version | 1 | ハードウェアのバージョン番号を示します。ソフトウェアの後方互換の目的でソフトウェア・ドライバーによってのみ使用されます。 |
| ベース + 4 (0x10) | control | 0 | このレジスターは、割り込みをトリガーする要因、コアが開始および停止する条件などの、コアの動作を指定します。ホスト・プロセッサーでは、必要に応じてレジスタービットを設定することにより、コアをコンフィグレーションすることができます。controlレジスターのマップに関しては、コントロール・レジスター・ビットのマップの表を参照してください。 |
| ベース + 8 (0x20) | next_descriptor_pointer | 0 | このレジスターには、処理を行う次の記述子のアドレスが含まれます。システムの初期化シーケンスの一部として、このレジスターを最初の記述子のアドレスに設定します。 インテルでは、ユーザー・アプリケーションでcontrolレジスターのRUNビットをクリアし、statusレジスターのBUSYビットが0に設定されるまで待機してからこのレジスターを読み出すことを推奨しています。 |
| ビット | ビット名 | アクセス | 説明 |
|---|---|---|---|
| 0 | IE_ERROR | R/W | このビットが1に設定されている場合、記述子の処理中に Avalon® -STエラーが発生すると、コアは割り込みを生成します。(1) |
| 1 | IE_EOP_ENCOUNTERED | R/W | このビットが1に設定されている場合、記述子の処理中にEOPを検出すると、コアは割り込みを生成します。(1) |
| 2 | IE_DESCRIPTOR_COMPLETED | R/W | このビットが1に設定されている場合、それぞれの記述子が処理された後にコアは割り込みを生成します。(1) |
| 3 | IE_CHAIN_COMPLETED | R/W | このビットが1に設定されている場合、リスト内の最後の記述子が処理される、つまり、クリアされたOWNED_BY_HWビットをもつ記述子をコアが検出すると、コアは割り込みを生成します。(1) |
| 4 | IE_GLOBAL | R/W | このビットが1に設定されている場合、コアでは割り込みの生成ができるようになります。 |
| 5 | RUN | R/W | このビットを1に設定し、記述子プロセッサー・ブロックを開始します。これに続いて、DMAトランザクションが開始されます。このビットを1に設定する前に、処理する最初の記述子のアドレスでnext_descriptor_pointerレジスターが更新されていることを確認します。このビットが1である限り、コアはキュー内の記述子の処理を続けます。 このビットをクリアすることで、コアはキューの次の記述子の処理を停止します。記述子の処理中にこのビットがクリアされると、コアは処理を完了してから停止します。その後、ホスト・プロセッサーは残りの記述子を変更し、コアを再起動することができます。 |
| 6 | STOP_DMA_ER | R/W | このビットを1に設定し、DMAトランザクション中に Avalon® -STエラーが発生した場合にコアを停止します。このビットは、Stream-to-Memoryのコンフィグレーションにのみ適用されます。 |
| 7 | IE_MAX_DESC_PROCESSED | R/W | このビットを1に設定し、MAX_DESC_PROCESSEDで指定されている記述子の数が処理された後に割り込みを生成します。 |
| 8 .. 15 | MAX_DESC_PROCESSED | R/W | コアが割り込みを生成する前に処理する記述子の数を指定します。 |
| 16 | SW_RESET | R/W | ソフトウェアでは、このビットに2回書き込みを行うことでコアをリセットすることができます。2回目の書き込み時にコアはリセットされます。ソフトウェアのリセットプロセスをシーケンス化するロジックはその後、自動的にリセットされます。 DMA転送がアクティブな際にソフトウェア・リセットを実行すると、次のシステムリセットまで永続的なバスのロックアップが発生する可能性があります。したがって、インテルでは、最後の手段としてソフトウェア・リセットを使用することを推奨しています。 |
| 17 | PARK | R/W | このビットを0に設定すると、SG-DMAコントローラー・コアは、各記述子が処理された後に記述子のOWNED_BY_HWビットをクリアします。PARKビットが1に設定されている場合、コアはOWNED_BY_HWビットをクリアしません。そのため、ソフトウェアの介入なしに同じ記述子を繰り返し処理することができます。また、リストの最後の記述子が最初の記述子を指すように設定する必要があります。 |
| 18 | DESC_POLL_EN | R/W | このビットを1に設定してポーリングモードを有効にします。このビットを1に設定すると、コアはOWNED_BY_HWビットが設定されるまで次の記述子のポーリングを継続します。また、コアは記述子ポインターを更新して現在の記述子を指します。 |
| 19 | 予約済み | ||
| RCLK[20..30] | TIMEOUT_COUNTER | RW | 再度ポーリングを行う前に待機するクロック数を指定します。有効な範囲は1から255です。また、コアはnext_desc_ptrフィールドを更新することで、読み出す次の記述子を指します。 |
| 31 | CLEAR_INTERRUPT | R/W | このビットを1に設定し、保留中の割り込みをクリアします。 |
注意
|
|||
インテルでは、controlレジスターのRUNビットがクリアされた後にのみ、ステータスレジスターを読み出すことを推奨しています。
| ビット | ビット名 | アクセス | 説明 |
|---|---|---|---|
| 0 | ERROR | R/C (1) (2) | 値1は、転送中に Avalon® -STエラーが発生したことを示します。 |
| 1 | EOP_ENCOUNTERED | R/C | 値1は、 Avalon® -STソース・インターフェイスで生成されたEnd-of-Packet (EOP) 信号によって転送が終了したことを示します。この条件は、Stream-to-Memoryのコンフィグレーションでのみ可能です。 |
| 2 | DESCRIPTOR_COMPLETED | R/C (1) (2) | 値1は、記述子の処理が完了したことを示します。 |
| 3 | CHAIN_COMPLETED | R/C (1) (2) | 値1は、コアが記述子チェーンの処理を完了したことを示します。 |
| 4 | BUSY | R (3) | 値1は、記述子の処理が進行中であることを示します。
このビットは、RUNビットがアサートされた次のクロックサイクルで1に設定されます。また、次のイベントのいずれかが発生するまでクリアされません。
|
| 5 .. 31 | 予約済み | ||
注意
|
|||