TN Using User Flash Memory and Hardened Control Functions in MachXO2 Devices Reference Guide

Similar documents
Report Template

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

スライド 1

スライド 1

スライド 1

Report Template

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

81 /******************************************************************************/ 82 /* スレーブアドレスの設定 */ 83 /*****************************************

DUSx200 シリーズコントローラ I2C インターフェース仕様書

スライド 1

AN-1077: ADXL345 Quick Start Guide

I2Cコントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

(Microsoft Word - \216\346\220\340SiTCP-VME-Master\(Rev26\).doc)

Jan/25/2019 errata_c17m11_10 S1C17 マニュアル正誤表 項目 リセット保持時間 対象マニュアル発行 No. 項目ページ S1C17M10 テクニカルマニュアル システムリセットコントローラ (SRC) 特性 19-3 S1C17M20/M

MODBUS ユーザーズマニュアル 페이지 1 / 23

目次 1 I2Cとは 13 結線写真 2 センサの多くがI2Cに対応 14 WHO_AM_I 3 マイコンでのI2C通信例 15 I2C読込みプログラム 4 とは 16 I2C読込みスクリプト概要① 5 タイミングパラメータ 17 I2C読込みスクリプト概要② 6 書込み 18 センサ読込みプログラ

IrDA型赤外線タグ仕様

変更履歴 Revision 日付 内容 /10/10 初版 /10/24 車載関連説明文削除 /10/06 会社所在地を本社に修正 2

ヤマハDante機器と他社AES67機器の接続ガイド

Microsoft PowerPoint - RL78G14_動画マニュアル_タイマRD.ppt [互換モード]

Nios II - PIO を使用した I2C-Bus (2ワイヤ)マスタの実装

6

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

< D A0>

スライド 1

基本条件 (1Slot 版用 ) 機能 MR-SHPC 端子名 設定内容 備考 CS 空間 -CS CS6 空間 ( キャッシュ無し ) キャッシュ無し空間を使用 (B h) RA25 0 固定 レジスタ空間 RA24 0 固定 RA23 0 固定 B83FFFE 4h~B83FFFF

WAGO PROFIBUS バスカプラ/コントローラと、QJ71PB92Dとのコンフィグレーションマニュアル

Microsoft Word - dg_sataahciip_refdesign_jp.doc

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+)

Microsoft Word - CAN Monitor の使い方.doc

CMOS リニアイメージセンサ用駆動回路 C CMOS リニアイメージセンサ S 等用 C は当社製 CMOSリニアイメージセンサ S 等用に開発された駆動回路です USB 2.0インターフェースを用いて C と PCを接続

オンチップ・メモリ クイック・ガイド for Cyclone III

TULを用いたVisual ScalerとTDCの開発

スライド 1

2016 年 8 月 第 1.0 版 ラトックシステム株式会社

データ収集用 NIM/CAMAC モジュールマニュアル 2006/5/23 目次 クレート コントローラ CC/ NIM ADC 1821 (Seiko EG&G)...3 ADC インターフェイス U デッドタイム

アナログ・接点変換器

TFTP serverの実装

X.25 PVC 設定

スライド 1

Virtex-6 Clocking

39733a.fm

PLCシリアル通信 MODBUS通信 データ送信/受信プログラム例

2.RL78 での割り込み処理 ( 割り込み受け付け ) マスクが解除された (xxmk ビットが 0 の ) 割り込み要求信号は 2 つの用途で使用されます 一つ目は,CPU のスタンバイ状態の解除です この動作は, 割り込み優先順位とは全く無関係で, マスクされていない (xxmk=0 の )

Microsoft PowerPoint - 3.3タイミング制御.pptx

Introducing_SPIStorm-JP

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

ウォッチドッグ・タイマ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

DAC121S101/DAC121S101Q 12-Bit Micro Power, RRO Digital-to-Analog Converter (jp)

PIC24F Family Reference Manual Section 9 WDT

任意の間隔での FTP 画像送信イベントの設定方法 はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダにおいて任意の間隔で画像を FTP サー バーへ送信するイベントの設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページ

形B5Z 画像型人感センサ(HVC-F) コマンド仕様書

TMSx70 MCU の RTI(リアルタイム割り込み)を使用してオペレーティングシステムの Tick を発生させる方法

2ALU 以下はデータ幅 4ビットの ALU の例 加算, 減算,AND,OR の4つの演算を実行する 実際のプロセッサの ALU は, もっと多種類の演算が可能 リスト 7-2 ALU の VHDL 記述 M use IEEE.STD_LOGIC_1164.ALL; 00 : 加算 use IEE

2015/04/01 改定 オムロン DeviceNet ユニット CJ1W-DRM21 に関するコンフィグレーション作業について 1. 概要 DeviceNet ユニット CJ1W-DRM21 を装着したオムロン製 CJ2 シリーズと WAGO-I/0-SYSTEM DeviceNet 対応バスカ

FPGA 外部のメモリをアバロン・MM・インタフェースへ接続する方法

Microsoft PowerPoint LC_15.ppt

不可能への挑戦株式会社日昇テクノロジー低価格 高品質が不可能? 日昇テクノロジーなら可能にする 無線モジュール NRF24L01 の MCU 8051 向 けユーザーマニュアル 株式会社日昇テクノロジー 更新日 2013/0

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000

F コマンド

R1RP0416DIシリーズデータシート

Cisco Unified IP Phone のモデル情報、 ステータス、および統計の表示

R1RW0408D シリーズ

プレゼンタイトルを入力してください

ターゲット項目の設定について

Notes and Points for TMPR454 Flash memory

TD-UARTip 設計仕様書

Relay Socket for Industrial Relay                    1/2

Cyclone III デバイス・ファミリの メモリ・ブロック

dsPIC33E FRM - Section #. Title

スライド 1

ルート プロセッサ

Microsoft Word - N-TM307取扱説明書.doc

CSS のスパニングツリー ブリッジの設定

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

XAPP858 - High-Performance DDR2 SDRAM Interface In Virtex-5 Devices

1. ボードの複数台制御 コンフィグ ROM から FPGA が起動できる場合を想定しています FPGA 回路には 特定のレジスタアドレスにプリセットしたデータが必要です 製品出荷時のサンプル FPGA 回路では レジスタ No.3 を 8bit 幅に設定し FPGA 外部の 4bit ディップスイ

電気的特性 (Ta=25 C) 項目 記号 条件 Min. Typ. Max. 単位 読み出し周波数 * 3 fop khz ラインレート * Hz 変換ゲイン Gc ゲイン =2-5 - e-/adu トリガ出力電圧 Highレベル Vdd V -

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R

スライド 1

<4D F736F F D E096BE8E9197BF5F984193AE F B40945C432E646F63>

DDR3 SDRAMメモリ・インタフェースのレベリング手法の活用

UMB-CP2114 User's Manual

PowerTyper マイクロコードダウンロード手順

WAGO / / Modbus/RTU対応 バスカプラ クイックスタートガイド

Nios II Flash Programmer ユーザ・ガイド

VLSI工学

RF2_BIOS一覧

Microsoft Word - COP_MasterSim_Installation_Supplement_A00.doc

PowerPoint プレゼンテーション

目次 1 本アプリケーションノートの目的 送信手順 基本的な送信方法 キャリアセンスなし送信 キャリアセンスあり送信 ACK 期待送信 フレームメモリへのデータの設定 INFO

Microsoft Word - dg_sata_achi_ip_data_sheet_jp.doc

Relay Socket for Industrial Relay                    1/2

NANDフラッシュ・コントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

<4D F736F F D A B D815B83675F49534F F325F A815B EF3904D5F8AEE916295D25F E646F6378>

Microsoft PowerPoint - フェリカ通信仕様書_

ルート プロセッサ

R1LV1616H-I シリーズ

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN

Transcription:

2013 年 4 月テクニカルノート TN1246 はじめに 本リファレンスガイドは "MachXO2 TM デバイスのユーザフラッシュメモリとハードマクロ制御機能の使用ガイド (Using User Flash Memory and Hardened Control Functions in MachXO2 Devices Usage Guide) " の補足としての位置づけであり 以下の内容について記述します WISHBONE プロトコル EFB レジスタマップ コマンドシーケンス 例 MachXO2 FPGA ファミリは高性能で低消費電力の FPGA ファブリックと ハードマクロ化制御機能 及びオンチップ ユーザフラッシュメモリ ( 以下 UFM) を集積しています ハードマクロ制御機能によりデザインの実装が容易になり LUT やレジスタ クロック及び配線などの汎用リソースの使用が節約されます ハードマクロ制御機能は物理的には EFB (Embedded Function Block 組み込み機能ブロック ) 内にあります 全 MachXO2 デバイスに EFB モジュールが集積されており 次の制御機能が含まれています I 2 Cコアが二つ SPI コアが一つ 16 ビット タイマ / カウンタが一つ 以下を含むフラッシュメモリへのインターフェイス ユーザフラッシュメモリ (UFM MachXO256 を除く ) コンフィグレーション ロジック PLL のダイナミック パラメータ設定へのインターフェイス I 2 CやSPIを通してのオンチップ パワーコントローラとのインターフェイス 図 17-1 に EFB アーキテクチャ及び FPGA コアロジックへのインターフェイスを示します 2012 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice. ( 日本語版は日本語による理解のため一助として提供しています その作成にあたっては可能な限り正確を期しておりますが 原文英語版との不一致や不適切な訳文がある場合を含み 註記がない限り英語版が正 ( 有効 ) です 特に電気的特性 仕様値係わる事項については最新版の英語版を必ず参照するようにお願い致します ) www.latticesemi.com 17-1 TN1246_01.2

図 17-1. 組み込み機能ブロック (EFB) Flash Memory Configuration (including USERCODE) UFM Feature Row (including TraceID) Flash Command Interface JTAG User Logic WISHBONE Interface EFB Register Map EFB Configuration Slave User Master/Slave User Master/Slave Configuration Master/Slave User Master/Slave Primary I 2 C Port Secondary I 2 C Port SPI Port User Logic Timer/ Counter PLL0/ PLL1 Power Controller EFB レジスタマップ EFB モジュール内のレジスタマップによって ハードマクロは WISHBONE バスインターフェイスを通してユーザロジックへのリード / ライトができます それぞれのハードマクロ機能には 8 ビットの専用データレジスタ及び制御レジスタがあります ただし UFM セクタとコンフィグレーション ロジックは例外で それらには同じ一組のレジスタでアクセスします 表 17-1にEFB モジュールのレジスタマップをまとめます PLL モジュール内にある PLL レジスタへのアクセスは EFB WISHBONE リード / ライトサイクルを介して行います 表 17-1. EFB レジスタマップ アドレス (16 進 ) ハードマクロ機能 0x00-0x1F PLL0 ダイナミックアクセス 1 0x20-0x3F PLL1 ダイナミックアクセス 1 0x40-0x49 I 2 C プライマリ 0x4A-0x53 I 2 C セカンダリ 0x54-0x5D SPI 0x5E-0x6F タイマ / カウンタ 0x70-0x75 フラッシュメモリ () UFM / コンフィグレーション 0x76-0x77 EFB 割り込みソース 1. MachXO2 デバイスの PLL 数は最大 2 PLL0 はアドレス範囲が 0x00 から 0x1F まで PLL1 ( 該当する場合 ) は 0x20 から 0x3F まで PLL コンフィグレー ション レジスタと使用法の詳細については TN1199, MachXO2 sysclock PLL Design and Usage Guide (MachXO2 sysclock PLL デザインと使用法ガイ ド ) を参照 表 17-1 で定義されていないアドレスへのアクセスは無効で その結果は予測できません EFB WISHBONE スレーブ インターフェイスに対して 必ず有効なアドレスを指定しなければなりません 17-2 TN1246_01.3

WISBONE バスインターフェイス MachXO2 の WISHBONE バスは OpenCores 標準に準拠しており FPGA ユーザロジックと EFB 機能ブロック間 並びに個々の EFB 機能ブロック間が接続されます EFB WISHBONE スレーブ インターフェイスと相互通信するために ユーザロジック内に WISHBONE マスタ インターフェイスまたは LatticeMico8 ソフトプロセッサを置く必要があります 図 17-2 のブロック図は FPGA コアと EFB 間で使用される WISHBONE バス信号を示します また 表 17-2 に各信号の詳細な定義を示します 図 17-2. FPGA コアと EFB モジュール間の WISHBONE バスインターフェイス MachXO2 User Logic WISHBONE Master (User Logic) wb_clk_i wb_rst_i wb_cyc_i wb_stb_i wb_we_i wb_addr_i[31:0] wb_dat_i[31:0] wb_dat_o[31:0] wb_ack_o WISHBONE Slave Interface EFB Register Map EFB 表 17-2. EFB モジュールの WISHBONE スレーブ インターフェイス信号 信号名 I/O ビット幅記述 wb_clk_i 入力 1 wb_rst_i 入力 1 wb_cyc_i 入力 1 wb_stb_i 入力 1 wb_we_i 入力 1 wb_adr_i 入力 8 wb_dat_i 入力 8 wb_dat_o 出力 8 wb_ack_o 出力 1 立ち上りエッジ有効のクロックで EFB モジュール内の WISHBONE インターフェイス レジスタ 及びハードマクロ機能によって使用される クロック速度は最速 133 MHz まで対応 アクティブ High の同期リセット信号 WISHBONE インタフェース ロジックのみをリセットする この信号はいかなるレジスタの値にも影響しない 進行中のバストランザクションにのみ影響する 次の WISHBONE トランザクションを行う前に ネゲート後 1μ 秒間待つこと WISHBONE マスタによってアサートされるアクティブ High の信号 有効なバスサイクルが進行中であることを示す アクティブ High のストローブ入力信号 その WISHBONE スレーブが進行中のバストランザクションのターゲットであることを示す EFB モジュールは ストローブのアサートに対応してアクノレッジを返す レベルセンシティブなライト / リード制御信号 Low はリード動作を示し そして High はライト動作を示す 8 ビット幅アドレス EFB モジュールのレジスタマップからの特定のレジスタを選択するために使用される 8 ビット幅データ入力パス EFB モジュールのレジスタマップの特定のレジスタへバイトデータをライトするために使用される 8 ビット幅データ出力パス EFB モジュールのレジスタマップの特定のレジスタからバイトデータをリードするために使用される High アクティブの転送アクノレッジ信号で EFB モジュールがアサートする リクエストされた転送がアクノレッジされたことを示す 17-3 TN1246_01.3

EFB とインターフェイスするためにユーザロジック内に WISHBONE マスターコントローラを置く必要があります 複数マスタ構成では WISHBONE マスタ出力はユーザ定義のアービタで多重化します LatticeMico8 ソフトプロセッサの場合は マルチマスタバス構成を実装可能な Mico System Builder (MSB) プラットフォームを利用することもできます 2 つのマスタが同一サイクルでバスを要求した場合は アービトレーション勝者の出力のみがスレーブ インターフェイスに伝達されます EFB の WISHBONE バスは WISHBONE 標準の " クラシック (Classic) " バージョンに対応しています WISHBONE バスはオープンソース標準であるため その全機能が実装されている または必要とされるわけではありません タグ (Tag) は EFB モジュールの WISHBONE スレーブ インターフェイスではサポートされません EFB はハードマクロ化されたブロックのため これらの信号をユーザが追加することはできません データバスは 1 バイト幅ですので EFB モジュールの WISHBONE スレーブ バスインターフェイスにバイトセレクト信号 (sel_i sel_o) は不要です EFB WISHBONE スレーブ インターフェイスはオプションのエラー及びリトライアクセス終端信号に対応していません 無効アドレスにアクセスされた場合でも スレーブは単純に wb_ack_o 信号のアサートで応答します ユーザは有効なアドレス範囲を超えないようにしなければなりません WISHBONE ライトサイクル図 17-3 に EFB WISHBONE スレーブ インターフェイス側から見たライトサイクルの波形を示します 1 回のライトサイクル中に 1 バイトデータのみが WISHBONE マスタから EFB ブロックに書き込まれます ライト動作には 最低 3 クロックサイクル必要です クロックエッジ Edge0 において マスタはアドレスとデータ 及びアサートの各制御信号を更新します このサイクル中に次のことを行います wb_adr_i [7:0] にアドレスを出力する EFB ブロックにライトするデータを wb_dat_i [7:0] に出力する ライトイネーブル wb_we_i 信号をアサートして ライトサイクルであることを示す wb_cyc_i をアサートして サイクルの開始を示す wb_stb_i をアサートして 特定のスレーブモジュールを選択する クロックエッジ Edge1 において WISHBONE スレーブはマスタによって出力された信号入力をデコードします このサイクル中に次のことが行われます スレーブはアドレス線 wb_adr_i [7:0] に出力されたアドレスをデコードする スレーブはデータ線 wb_dat_i [7:0] に出力されたデータをラッチする マスタは wb_ack_o 線がアクティブ High レベルになるのを待ち High が検出されたら次のクロックエッジでサイクルを終了する準備を整える EFB は wb_ack_o 信号のアサート前に不定長のウェイトステートを挿入するかもしれない スレーブは wb_ack_o 信号をアサートする クロックエッジ Edge2 において 次のことが行われます スレーブは wb_dat_i [7:0] データ線で提供されたデータをラッチする マスタはストローブ信号 wb_stb_i サイクル信号 wb_cyc_i 及びライトイネーブル信号 wb_we_i をネゲートする スレーブはマスタによるストローブ信号のネゲートに応答して 確認応答信号 wb_ack_o をネゲートする 17-4 TN1246_01.3

図 17-3. WISHBONE バスのライト動作 Edge 0 Edge 1 Edge 2 wb_clk_i wb_rst_i wb_cyc_i wb_stb_i wb_we_i wb_adr_i [7:0] VALID ADDRESS wb_dat_i [7:0] VALID DATA wb_dat_o [7:0] wb_ack_o WISHBONE Read Cycle 図 17-4 に EFB WISHBONE スレーブ インターフェイス側から見たリードサイクルの波形を示します 1 回のリードサイクル中に 1 バイトデータのみが WISHBONE マスタによって EFB ブロックから読み出されます リード動作には 最低 3 クロックサイクル必要です クロックエッジ Edge0 において マスタはアドレス データ及びアサートの各制御信号を更新します このサイクル中に次のことを行います wb_adr_i [7:0] にアドレスを出力する ライトイネーブル wb_we_i 信号をネゲートして リードサイクルであることを示す wb_cyc_i をアサートして サイクルの開始を示す wb_stb_i をアサートして 特定のスレーブモジュールを選択する クロックエッジ Edge 1 において WISHBONE スレーブはマスタによって出力された信号入力をデコードします このサイクル中に次のことが行われます スレーブはアドレス線 wb_adr_i [7:0] で与えられたアドレスをデコードする マスタは EFB WISHBONE スレーブからデータ線 wb_dat_o [7:0] に出力されるデータを 次のクロックエッでラッチする準備をする マスタは wb_ack_o がアクティブ High レベルになるのを待ち High が検出されたら次のクロックエッジでサイクルを終了する準備をする EFB は wb_ack_o をアサートする前にウェイトを挿入するかもしれません これによってサイクルの速度を調整できます ウェイトステート数に制限はありません スレーブは有効データを wb_dat_o [7:0] データ線に出力する スレーブがストローブ信号 wb_stb_i に応答する wb_ack_o 信号をアサートする クロックエッジ Edge 2 において次のことが行われます 17-5 TN1246_01.3

マスタが wb_dat_o [7:0] データ線で提供されたデータをラッチする マスタがストローブ信号 wb_stb_i 及びサイクル信号 wb_cyc_i をネゲートする スレーブがマスタによるストローブ信号のネゲートに応答して 確認応答信号 wb_ack_o をネゲートする 図 17-4. WISHBONE バスのリード動作 Edge 0 Edge 1 Edge 2 wb_clk_i wb_rst_i wb_cyc_i wb_stb_i wb_we_i wb_adr_i [7:0] VALID ADDRESS wb_dat_i [7:0] wb_dat_o [7:0] VALID DATA wb_ack_o WISHBONE リセットサイクル図 17-5 に同期信号 wb_rst_i の波形を示します リセット信号のアサートでは WISHBONE インターフェイス ロジックがリセットされるだけです この信号が EFB レジスタマップ内のレジスタの内容に影響することはありません 影響が及ぶのは進行中のバストランザクションのみです 図 17-5. EFB WISHBONE インターフェイスのリセット Edge 0 Edge 1 wb_clk_i wb_rst_i wb_cyc_i wb_stb_i wb_rst_i 信号は任意の時間長 アサート可能です 17-6 TN1246_01.3

ハードマクロ I 2 C IP コア I 2 C は ボード内の複数デバイスとの通信に広く使われている 2 線式シリアルバスです 全ての MachXO2 デバイスに 2 個のハードマクロが含まれており それぞれ " プライマリ (Primary) " 及び " セカンダリ ( Secondary) " I 2 C IP コアと呼ばれます 両者のいずれも I 2 C マスタまたは I 2 C スレーブとして構成できます 2 個のコアの違いは プライマリコアは I/O ピンが事前に割り当てられているのに対し セカンダリコアのポートは任意の汎用 I/O に割り当てることができることです またプライマリ I 2 C コアは UFM へのアクセスと CFM のプログラミングに使用できます しかしプライマリ I 2 C コアは 単一のデザインでは UFM/CFM かユーザファンクションのどちらか一方にしか用いることはできません I 2 Cレジスタ両 I 2 C コアはともに コントロール / コマンド / ステータス / データのレジスタセットを通して EFB WISHBONE インターフェイスと通信します 表 17-3 にレジスタ名とその機能を示します これらのレジスタは EFB レジスタマップのサブセットになっています 表 17-3. I 2 C レジスタ プライマリ I 2 C レジスタ名 セカンダリ I 2 C レジスタ名 レジスタ機能 プライマリ I 2 C アドレス セカンダリ I 2 C アドレス アクセス I2C_1_CR I2C_2_CR 制御 0x40 0x4A Read/Write I2C_1_CMDR I2C_2_CMDR コマンド 0x41 0x4B Read/Write I2C_1_BR0 I2C_2_BR0 クロックプリスケール ( 分周 ) 0x42 0x4C Read/Write I2C_1_BR1 I2C_2_BR1 クロックプリスケール ( 分周 ) 0x43 0x4D Read/Write I2C_1_TXDR I2C_2_TXDR 送信データ 0x44 0x4E Write I2C_1_SR I2C_2_SR ステータス 0x45 0x4F Read I2C_1_GCDR I2C_2_GCDR 同報通知 (General Call) 0x46 0x50 Read I2C_1_RXDR I2C_2_RXDR 受信データ 0x47 0x51 Read I2C_1_IRQ I2C_2_IRQ IRQ ( 割り込み要求 ) 0x48 0x52 Read/Write I2C_1_IRQEN I2C_2_IRQEN IRQ イネーブル 0x49 0x53 Read/Write 注 : 特に指定しない限り 書き込み可能レジスタの全予約ビットには '0' が書かれなければなりません 表 17-4. I 2 C 制御 ( プライマリ / セカンダリ ) I2C_1_CR / I2C_2_CR 0x40/0x4A 名称 I2CEN GCEN WKUPEN (Reserved) SDA_DEL_SEL[1:0] (Reserved) デフォルト 0 0 0 0 0 0 0 0 アクセス R/W R/W R/W R/W R/W 注 : 本レジスタがライトされると I 2 Cコアはリセットされます I2CEN GCEN I 2 C システム イネーブル (System Enable) ビット 本ビットは I 2 Cコア機能をイネーブルする I2CEN がクリアされている場合 I 2 C はディセーブルされて アイドルステートに強制される 0: I 2 C 機能はディセーブル 1: I 2 C 機能はイネーブル同報通知応答イネーブル (General Call Response Enable) ビット スレーブモードにおける同報通知応答をイネーブルする 0: ディセーブル 1: イネーブル 17-7 TN1246_01.3

同報通知 (General Call) アドレスは "0000000" で定義され 7 ビットアドレス指定 10 ビットアドレス指定のどちらでも機能する WKUPEN ( スレーブアドレス一致による ) Standby/Sleep からのウェイクアップをイネーブルするビット (Wake-up from Standby/Sleep Enable (by Slave Address matching)) 本ビットがイネーブルされると I 2 C コアはスタンバイ / スリープからデバイスを起動するために ウェイクアップ信号をオンチップ パワーマネージャに送ることができる 本ウェイクアップ機能が有効なのは スタンバイ / スリープモード中にスレーブアドレスがコールされる場合 0: ディセーブル 1: イネーブル SDA_DEL_SEL[1:0] SDA 出力遅延の選択 (Output Delay (Tdel) Selection 図 17-14 参照 ) 00: 300ns 01: 150ns 10: 75ns 11: 0ns 表 17-5. I 2 C コマンド ( プライマリ / セカンダリ ) I2C_1_CMDR / I2C_2_CMDR 0x41/0x4B 名称 STA STO RD WR ACK CKSDIS (Reserved) デフォルト 0 0 0 0 0 0 0 0 アクセス R/W R/W R/W R/W R/W R/W STA STO RD WR ACK CKSDIS START (= 起動 又は 繰り返し START) 条件を生成する マスタ動作 STOP (= 停止 ) 条件を生成する マスタ動作スレーブからリードを示す マスタ動作スレーブへのライトを示す マスタ動作アクノレッジ オプション 受信時の ACK 送信を選択 0: ACK を送出 1: NACK を送出クロック ストレッチング ( 伸張 ) ディセーブル (Clock Stretching Disable) I 2 C コアはスレーブからの " 待ちステート " あるいはクロック ストレッチングに対応する 即ち タスクを終了するための時間が必要な場合は スレーブが待ち状態を強制することができることを意味する ビット CKSDIS は ユーザが望む場合 クロック ストレッチングをディセーブルする その場合 オーバフローフラグをモニタしなければならない マスタ動作では 本ビットを 0 にする 本ビットが 0 の時 MachXO2 EFB の I 2 CスレーブはI 2 C マスタからのリード / ライト動作の間にクロック ストレッチング ( 引き延ばし ) を行う リード動作 ( スレーブ送信 ) において TXDR ( 送信データレジスタ ) が空 ( アンダーラン状態 ) の時にクロック ストレッチングが発生します ライト動作 ( スレーブ受信 ) においては RXDR ( 受信データレジスタ ) がフル ( オーバーラン状態 ) の時にクロック ストレッチングが発生する I 2 C ステータスレジスタ内のビット表記では TRRDY = 1 の場合にクロック ストレッチングが行われる その判断は 第 8 SCL + 2 WISHBONE クロック 時点で行う 0: イネーブル 1: ディセーブル 17-8 TN1246_01.3

表 17-6. I 2 C クロック プリスケール 0 ( プライマリ / セカンダリ ) I2C_1_BR0 / I2C_2_BR0 0x42/0x4C 名称 I2C_PRESCALE[7:0] デフォルト 1 0 0 0 0 0 0 0 0 アクセス R/W R/W R/W R/W R/W R/W R/W R/W 1. ハードウェアのデフォルト値は EFB コンポーネント インスタンス化パラメータによって上書きされることがあります 次項を参照 表 17-7. I 2 C クロック プリスケール 1 ( プライマリ / セカンダリ ) I2C_1_BR1 / I2C_2_BR1 0x43/0x4D 名称 (Reserved) I2C_PRESCALE[9:8] デフォルト 1 0 0 0 0 0 0 0 0 アクセス R/W R/W 1. ハードウェアのデフォルト値は EFB コンポーネント インスタンス化パラメータによって上書きされることがあります 次項を参照 I2C_PRESCALE[9:0] I 2 C クロック プリスケーラ値 I2CBR [9:8] へのライト動作が行われると I 2 Cコアがリセットされる WISHBONE クロック周波数は (I2C_PRESCALE*4) で分周され I 2 C バスが対応しているクロック周波数 (50KHz 100KHz 400KHz) まで下げられる 注 : マスタからの送信と異なり スレーブI 2 C バスのサポート最大速度は 実際は (WISHBONE クロック ) /2048 です 例えば スレーブ I 2 C を 50KHz で動作させるためには WISHBONE クロック周波数は 102MHz にします 注 :I 2 C コアが EFB GUI の I2C タブで構成されたときに IPexpress によってデジタル値が計算されます この計算は WISHBONE クロック周波数及び I 2 C 周波数 ( 両方ともユーザが入力する値 ) に基づきます 分周器のデジタル値はデバイスのプログラミング中に MachXO2 にプログラムされます 電源起動後またはデバイスの再コンフィグレーション後に データが I2C_1_BR1/0 レジスタ及び I2C_2_BR1/0 レジスタにロードされます レジスタ I2C_1_BR1/0 及び I2C_2_BR1/0 には WISHBONE インターフェイスからリード / ライトアクセスを行います デバイス動作中にこれらのクロックのプリスケール レジスタを動的に更新できますが I 2 C バス周波数に違反しないよう注意する必要があります 表 17-8. I 2 C 送信データレジスタ ( プライマリ / セカンダリ ) I2C_1_TXDR / I2C_2_TXDR 0x44/0x4E 名称 I2C_Transmit_Data[7:0] デフォルト 0 0 0 0 0 0 0 0 アクセス W W W W W W W W I2C_Transmit_Data[7:0] I 2 C 送信データ 本レジスタには データライト フェーズで I 2 C バスに送信されるバイトが格納される ビット 0 が LSB となり 最後に送信される スレーブアドレスを送信する際 ビット 0 は R/W ビットを表す 17-9 TN1246_01.3

表 17-9. I 2 C ステータス ( プライマリ / セカンダリ ) I2C_1_SR / I2C_2_SR 0x45/0x4F 名称 TIP 1 BUSY 1 RARC SRW ARBL TRRDY TROE HGC デフォルト アクセス R R R R R R R R 1. R1 デバイスにおいては これらのビットが有効になるまでに 1/2 SCK 周期の遅れが発生します 詳細については " AN8086,Designing for Migration from MachXO2-1200-R1 to Standard (Non-R1) Devices (MachXO2-1200-R1 から MachXO2-1200 標準品への移行上の注意 ) " をご参照ください TIP データバイト送信中 (Transmitting In Progress) 信号の同期が行われるため TIP フラグは START 条件の直後に SCL 半サイクル分だけ遅延される また注意が必 要なのは 本ビットはコンフィグレーションのウェイクアップ後 及び最初の有 効な I 2 C 送信開始前 (BUSY が Low の場合 ) に High となることで バイト送信中 を表さないためインジケータとしては無効 1: バイト転送が進行中 0: バイト転送は完了 BUSY I 2 C バスビジー I 2 C バスが送信に使用されている START 条件でセットされ STOPでクリアされる 本ビットがセットされた場合に限り 他の全てのI2C SR ビットが有効な送信の有効なインジケータとして扱われる 1: I 2 Cバスはビジー 0: I 2 Cバスはビジーでない RARC 受信アクノレッジ (Received Acknowledge) アドレススレーブから ( マスタのラ イト中 ) または受信マスタから ( マスタのリード中 ) アクノレッジ応答を受信し た 1: アクノレッジは受信されなかった 0: アクノレッジが受信された SRW スレーブリード / ライト (Slave R/W) 送信または受信モードを示す 1: マスタ受信中 / スレーブ送信中 0: マスタ送信中 / スレーブ受信中 ARBL 調停喪失 (Arbitration Lost) コアがマスタモードで調停を喪失した 本ビットは 割り込みを発生可能 1: 調停喪失 0: 正常 TRRDY トランスミッタ / レシーバ レディ (Transmitter or Receiver Ready) I 2 C 送信デー タレジスタが送信データを受信可能であるか または I 2 C 受信データレジスタに 受信データが格納されている ( マスタ / スレーブモードと SRW ステータスに依 存 ) 本ビットは割り込みを発生可能 1: トランスミッタやレシーバがレディ 0: トランスミッタやレシーバはレディでない TROE トランスミッタ / レシーバ オーバランエラーまたは NACK 受信 (Transmitter/Receiver Overrun Error or NACK received) 送信または受信オーバラ ンエラー ( マスタ / スレーブモードと SRW ステータスに依存 ) が発生したか ア クノレッジが受信されない (RARC もセットされている場合のみ ) 本ビットは割 り込みを発生可能 1: トランスミッタ / レシーバ オーバラン検出 または NACK を受信した 0: 正常 17-10 TN1246_01.3

HGC ハードウェア同報通知受信 (Hardware General Call Received) スレーブモードで ハードウェア同報通知を受信した 同報通知データレジスタでは 対応するコマンドバイトを利用できる 本ビットは割り込みを発生可能 1: スレーブモードでハードウェア同報通知を受信した 0: 正常 図 17-6. I 2 C 同報通知 (General Call) データレジスタ ( プライマリ / セカンダリ ) I2C_1_GCDR / I2C_2_GCDR 0x46/0x50 名称 I2C_GC_Data[7:0] デフォルト アクセス R R R R R R R R I2C_ GC _Data[7:0] I 2 C 同報通知データ (General Call Data) 本レジスタには I 2 C バスの同報通知トランザクションの第 2 ( コマンド ) バイトが格納される 表 17-10. I 2 C 受信データレジスタ ( プライマリ / セカンダリ ) I2C_1_RXDR / I2C_2_RXDR 0x47/0x51 名称 I2C_Receive_Data[7:0] デフォルト アクセス R R R R R R R R I2C_ Receive _Data[7:0] I 2 C 受信データ (Receive Data) 本レジスタには リードデータ フェーズ中に I 2 C バスからキャプチャされたバイトが格納される ビット 0 が LSB で 最後に受信される 表 17-11. I 2 C 割り込みステータス ( プライマリ / セカンダリ ) I2C_1_IRQ / I2C_2_ IRQ 0x48/0x52 名称 (Reserved) IRQARBL IRQTRRDY IRQTROE IRQHGC デフォルト アクセス R/W R/W R/W R/W IRQARBL IRQTRRDY IRQTROE 調停喪失割り込みステータス (Interrupt Status for Arbitration Lost) イネーブルされると ARBL がアサートされたことを示す 本ビットに '1' をライトすると 割り込みがクリアされる 1: 調停喪失割り込み 0: 割り込みなしトランスミッタまたはレシーバ レディの割り込みステータス (Interrupt Status for Transmitter or Receiver Ready) イネーブルされると TRRDY がアサートされたことを示す 本ビットに '1' をライトすると 割り込みがクリアされる 1: トランスミッタまたはレシーバ レディ割り込み 0: 割り込みなしトランスミッタ / レシーバ オーバランまたは NACK 受信割り込みステータス (Interrupt Status for Transmitter/Receiver Overrun or NACK received) 17-11 TN1246_01.3

IRQHGC イネーブルされると TROE がアサートされたことを示す 本ビットに '1' をライトすると 割り込みがクリアされる 1: トランスミッタ / レシーバ オーバランまたは NACK 受信割り込み 0: 割り込みなしハードウェア同報通知受信の割り込みステータス (Interrupt Status for Hardware General Call Received) イネーブルされると HGC がアサートされたことを示す 本ビットに '1' をライトすると 割り込みがクリアされる 1: スレーブモードでハードウェア同報通知受信割り込み 0: 割り込みなし 表 17-12. I 2 C 割り込みイネーブル ( プライマリ / セカンダリ ) I2C_1_ IRQEN / I2C_2_IRQEN 0x49/0x53 名称 (Reserved) IRQARBLEN IRQTRRDYEN IRQTROEEN IRQHGCEN デフォルト 0 0 0 0 0 0 0 0 アクセス R/W R/W R/W R/W IRQARBLEN IRQTRRDYEN IRQTROEEN IRQHGCEN 調停喪失割り込みイネーブル (Interrupt Enable for Arbitration Lost) 1: 割り込み生成イネーブル 0: 割り込み生成ディセーブルトランスミッタまたはレシーバ レディ割り込みイネーブル (Interrupt Enable for Transmitter or Receiver Ready) 1: 割り込み生成イネーブル 0: 割り込み生成ディセーブルトランスミッタまたはレシーバ オーバラン割り込みイネーブル (Interrupt Enable for Transmitter/Receiver Overrun or NACK Received) 1: 割り込み生成イネーブル 0: 割り込み生成ディセーブルハードウェア同報通知受信割り込みイネーブル (Interrupt Enable for Hardware General Call Received) 1: 割り込み生成イネーブル 0: 割り込み生成ディセーブル 図 17-7 に WISHBONE インターフェイスが起動するマスタ I 2 C のリード / ライト制御のフロー図を示します 以下のシーケンスはプライマリ I 2 C のものですが セカンダリ I 2 C にも同じシーケンスが適用されます 17-12 TN1246_01.3

図 17-7. I2C マスタリード / ライト例 (WISHBONE 経由 ) Start TXDR <= I 2 C addr + W CMDR <= 0x90 (STA+WR) TXDR <= I 2 C addr + R CMDR <= 0x90 (STA+WR) Wait for TRRDY Wait for SRW Write more data? N CMDR <= 0x20 (RD) Y TXDR <= WRITE_DATA CMDR <=0x10 (WR) Last Read? N Y Read data? Y Wait for TRRDY N CMDR <= 0x40 (STOP) READ_DATA <= RXDR Wait * CMDR <= 0x68 (RD+NACK+STOP) Wait for TRRDY READ_DATA <= RXDR Done *Real-Time Delay Requirement Read only 1 byte: min < wait < max Read last of 2+ bytes: 0 < wait < max where: min = 2 * (1/f SCL ) max = 7 * (1/f SCL ) 17-13 TN1246_01.3

図 17-8 に WISHBONE インターフェイスから I 2 C スレーブデバイスへのリード / ライトのフロー図を示します 以下のシーケンスはプライマリ I 2 C のものですが セカンダリ I 2 C にも同じシーケンスが適用されます 図 17-8. I2C スレーブリード / ライト例 (WISHBONE 経由 ) Start CMDR <=0x04 (CKSDIS) IRQEN <= 0x00 wait for not BUSY Write reply data? N discard <= RXDR discard <= RXDR CMDR <=0x00 (CKSEN) IRQEN <= 0x04 (TRRDY)* Y wait for SRW Idle TXDR <= OUT_DATA wait for TRRDY Write more data? N Y IN_DATA <= RXDR IRQ <= 0x04* wait for TRRDY Read more data? N TXDR <= OUT_DATA IRQ <= 0x04* Y * Required only for IRQ driven algorithms I 2 C フレーミング I 2 C EFB ポートに送られる各コマンド列は それぞれのインターフェイス用に定義されたプロトコルに従って正しくフレーム化されたものでなければなりません I 2 C の場合そのプロトコルは良く知られており 以下に示す通りに定義されています 表 17-13. I 2 C インターフェイスのコマンド フレーミング プロトコル インターフェイス 前処理 Pre-op (+) コマンドストリング 後処理 Post-op (-) I 2 C スタート (Start) ( コマンド / オペランド / データ ) ストップ (Stop) 17-14 TN1246_01.3

図 17-9. I 2 C デバイス ID リードの例 SCL... SDA A6 A5 A4 A3 A2 0 0 W 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0... Start By Master ACK By MachXO2 ACK By MachXO2 Frame 1 I 2 C Slave Address Byte Frame 2 CMD Byte Frame 3 Op Byte 1 ACK By MachXO2 SCL (continued) SDA (continued) 0 0 0 0 0 0 0 0 Frame 4 Op Byte 2 ACK By MachXO2 0 0 0 0 0 0 0 0 Frame 5 Op Byte 3 ACK By XO2...... SCL (continued) SDA (continued) Restart By Master A6 A5 A4 A3 A2 0 0 R 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 ACK By MachXO2 ACK By Master Frame 6 I 2 C Slave Address Byte Frame 7 Read ID Byte 1 Frame 8 Read ID Byte 2 ACK By Master...... SCL (continued) SDA (continued) ID ID ID ID 0 0 0 0 Frame 9 Read ID Byte 3 ACK By Master 0 1 0 0 0 0 1 1 Frame 10 Read ID Byte 4 NACK By Master Stop By Master 17-15 TN1246_01.3

I 2 C 機能の波形 図 17-10. EFB マスタ ~ I 2 C ライト 図 17-11. EFB マスタ ~ I 2 C リード SCL 1 9 1 9 1 9 Master Stop Master Start SDA AD6 AD5 AD4 AD3 AD2 AD1 AD0 Write D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 Ack from Slave Ack from Slave Ack from Slave I2C_1_TXDR AD[(6:0),W] D[7:0] D[7:0] I2C_1_CMDR 0x90(Start+WR) 0x10(WR) 0x10(WR) 0x40(STOP) I2C_1_SR[BUSY] I2C_1_SR[SRW] I2C_1_SR[TRRDY] Write I2C_1_TXDR Write I2C_1_TXDR I2C_1_IRQ[IRQTRRDY] Write IRQTRRDY Write IRQTRRDY Write IRQTRRDY I2C_1_SR[RARC] 1 9 1 9 1 9 SCL AD6 AD5 AD4 AD3 AD2 AD1 AD0 Read SDA D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 Master Start/ Ack from Ack from Nack from Stop from Restart Slave Master Master Master I2C_1_TXDR AD[(6:0),W] I2C_1_RXDR D[7:0] D[7:0] I2C_1_CMDR 0x90 (START+WR) 0x20 (RD) 0x68 (RD+NACK+STOP) I2C_1_SR[BUSY] I2C_1_SR[SRW] Read I2C1_RXDR Read I2C1_RXDR I2C_1_SR[TRRDY] Write IRQTRRDY Write IRQTRRDY Write IRQTRRDY I2C_1_IRQ[IRQTRRDY] Idle 17-16 TN1246_01.3

図 17-12. EFB スレーブ ~I 2 C ライト 図 17-13. EFB スレーブ ~I 2 C リード SCL 1 9 1 9 1 9 SDA AD6 AD5 AD4 AD3 AD2 AD1 AD0 Write D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 Start from Master Ack from Slave Ack from Slave Ack from Slave Stop from Master I2C_1_TXDR I2C_1_RXDR D[7:0] D[7:0] I2C_1_SR[BUSY] I2C_1_SR[SRW] I2C_1_SR[TRRDY] Read I2C_1_RXDR Read I2C_1_RXDR I2C_1_IRQ[IRQTRRDY] Write IRQTRRDY Write IRQTRRDY SCL 1 9 1 9 1 9 SDA AD6 AD5 AD4 AD3 AD2 AD1 AD0 Read D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 Start from Master Ack from Slave Ack from Master No Ack from Master Stop from Master I2C_1_TXDR D[7:0] D[7:0] I2C_1_RXDR I2C_1_SR[BUSY] I2C_1_SR[SRW] I2C_1_SR[TRRDY] Write I2C_1_TXDR Write I2C_1_TXDR Write IRQTRRDY Write IRQTRRDY Write IRQTRRDY I2C_1_IRQ[IRQTRRDY] I2C_1_SR[RARC] 17-17 TN1246_01.3

I 2 C タイミング図 図 17-14. I 2 C ビット転送タイミング t SDA_DEL SCL SDA data line stable; data valid change of data allowed I 2 C シミュレーションモデル I 2 C の EFB レジスタマップに対応する MachXO2 EFB ソフトウェア シミュレーションモデルは以下の通りです 表 17-14. プライマリ I 2 C シミュレーションモデル プライマリ I 2 C レジスタ名 レジスタサイズ / ビット位置 レジスタ機能 I2C_1_CR [7:0] Control 0x40 プライマリ シミュレーションモデルの I 2 Cアドレス アクセス レジスタ名 Read/Wri te i2ccr1[7:0] I2CEN 7 i2c_en GCEN 6 i2c_gcen WKUPEN 5 i2c_wkupen SDA_DEL_SEL[1:0] [3:2] sda_del_sel I2C_1_CMDR [7:0] Command 0x41 Read/Wri te i2ccmdr[7:0] STA 7 i2c_sta STO 6 i2c_sto RD 5 i2c_rd WR 4 i2c_wt ACK 3 i2c_nack CKSDIS 2 i2c_cksdis I2C_1_BR0 [7:0] I2C_PRESCALE[7:0 ] I2C_1_BR1 [7:0] Clock Pre-scale 0x42 Read/Wri te i2cbr[7:0] [7:0] i2cbr[7:0] Clock Pre-scale 0x43 Read/Wri te i2cbr[9:8] シミュレーションモデルのパス cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ 17-18 TN1246_01.3

表 17-14. プライマリ I 2 C シミュレーションモデル (Continued) プライマリ I 2 C レジスタ名 I2C_PRESCALE[9:8 ] I2C_1_TXDR [7:0] I2C_Transmit_Data[ 7:0] [1:0] i2cbr[9:8] Transmit Data 0x44 Write i2ctxdr[7:0] [7:0] i2ctxdr[7:0] I2C_1_SR [7:0] Status 0x45 Read i2csr[7:0] TIP 7 i2c_tip_sync BUSY 6 i2c_busy_sync RARC 5 i2c_rarc_sync SRW 4 i2c_srw_sync ARBL 3 i2c_arbl TRRDY 2 i2c_trrdy TROE 1 i2c_troe HGC 0 i2c_hgc I2C_1_GCDR [7:0] General Call 0x46 Read i2cgcdr[7:0] I2C_GC_Data[7:0] [7:0] i2cgcdr[7:0] I2C_1_RXDR [7:0] I2C_Receive_Data[7 :0] レジスタサイズ / ビット位置 Receive Data 0x47 Read i2crxdr[7:0] [7:0] i2crxdr[7:0] I2C_1_IRQ [7:0] IRQ 0x48 Read/Wri te {1'b0, 1'b0, 1'b0, 1'b0, i2csr_1st_irqsts_3, i2csr_1st_irqsts_2, i2csr_1st_irqsts_1, i2csr_1st_irqsts_0} cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ cfg_cdu/njport_unit/i2c_1st/ IRQARBL 3 i2csr_1st_irqsts_3 IRQTRRDY 2 i2csr_1st_irqsts_2 IRQTROE 1 i2csr_1st_irqsts_1 IRQHGC 0 i2csr_1st_irqsts_0 I2C_1_IRQEN [7:0] レジスタ機能 IRQ Enable プライマリ I 2 C アドレス 0x49 アクセス Read/Wri te シミュレーションモデルのレジスタ名 {1'b0, 1'b0, 1'b0, 1'b0, i2csr_1st_irqena_3, i2csr_1st_irqena_2, i2csr_1st_irqena_1, i2csr_1st_irqena_0} シミュレーションモデルのパス IRQARBLEN 3 i2csr_1st_irqena_3 IRQTRRDYEN 2 i2csr_1st_irqena_2 IRQTROEEN 1 i2csr_1st_irqena_1 IRQHGCEN 0 i2csr_1st_irqena_0 17-19 TN1246_01.3

表 17-15. セカンダリ I 2 C シミュレーションモデル セカンダリ I 2 C レジスタ名 レジスタサイズ / ビット位置 レジスタ機能 セカンダリ I 2 C アドレス I2C_2_CR [7:0] Control 0x4A アクセス Read/Wri te シミュレーションモデルのレジスタ名 i2ccr1[7:0] I2CEN 7 i2c_en GCEN 6 i2c_gcen WKUPEN 5 i2c_wkupen SDA_DEL_SEL[1:0] [3:2] sda_del_sel I2C_2_CMDR [7:0] Command 0x4B Read/Wri te i2ccmdr[7:0] STA 7 i2c_sta STO 6 i2c_sto RD 5 i2c_rd WR 4 i2c_wt ACK 3 i2c_nack CKSDIS 2 i2c_cksdis I2C_2_BR0 [7:0] I2C_PRESCALE[7:0 ] I2C_2_BR1 [7:0] I2C_PRESCALE[9:8 ] I2C_2_TXDR [7:0] I2C_Transmit_Data[ 7:0] Clock Prescale 0x4C Read/Wri te i2cbr[7:0] [7:0] i2cbr[7:0] Clock Prescale 0x4D Read/Wri te i2cbr[9:8] [1:0] i2cbr[9:8] Transmit Data 0x4E Write i2ctxdr[7:0] [7:0] i2ctxdr[7:0] I2C_2_SR [7:0] Status 0x4F Read i2csr[7:0] TIP 7 i2c_tip_sync BUSY 6 i2c_busy_sync RARC 5 i2c_rarc_sync SRW 4 i2c_srw_sync ARBL 3 i2c_arbl TRRDY 2 i2c_trrdy TROE 1 i2c_troe シミュレーションモデルのパス cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ 17-20 TN1246_01.3

HGC 0 i2c_hgc I2C_2_GCDR [7:0] General Call 0x50 Read i2cgcdr[7:0] I2C_GC_Data[7:0] [7:0] i2cgcdr[7:0] ハードマクロ SPI IP コア 表 17-15. セカンダリ I 2 C シミュレーションモデル (Continued) (Continued) セカンダリ I 2 C レジスタ名 I2C_2_RXDR [7:0] I2C_Receive_Data[7 :0] MachXO2 EFB には SPI マスタまたはスレーブとして構成可能なハード SPI IP コアが含まれています マスタとして構成される場合 IP コアは SPI バスに接続されたスレーブ SPI インターフェイスで他のデバイスを制御可能です コアがスレーブとして構成される場合は 外付け SPI マスタデバイスとインターフェイスできます SPI レジスタ レジスタサイズ / ビット位置 レジスタ機能 Receive Data セカンダリ I 2 C アドレス 0x51 Read i2crxdr[7:0] [7:0] i2crxdr[7:0] I2C_2_IRQ [7:0] IRQ 0x52 Read/Wri te {1'b0, 1'b0, 1'b0, 1'b0, i2csr_2nd_irqsts_3, i2csr_2nd_irqsts_2, i2csr_2nd_irqsts_1, i2csr_2nd_irqsts_0} cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ cfg_cdu/njport_unit/i2c_2nd/ IRQARBL 3 i2csr_2nd_irqsts_3 IRQTRRDY 2 i2csr_2nd_irqsts_2 IRQTROE 1 i2csr_2nd_irqsts_1 IRQHGC 0 i2csr_2nd_irqsts_0 I2C_2_IRQEN [7:0] IRQ Enable 0x53 アクセス Read/Wri te シミュレーションモデルのレジスタ名 {1'b0, 1'b0, 1'b0, 1'b0, i2csr_2nd_irqena_3, i2csr_2nd_irqena_2, i2csr_2nd_irqena_1, i2csr_2nd_irqena_0} シミュレーションモデルのパス IRQARBLEN 3 i2csr_2nd_irqena_3 IRQTRRDYEN 2 i2csr_2nd_irqena_2 IRQTROEEN 1 i2csr_2nd_irqena_1 IRQHGCEN 0 i2csr_2nd_irqena_0 SPI コアはコントロール / コマンド / ステータス / データのレジスタセットを通して EFB WISHBONE インターフェイスと通信します 表 17-16 にレジスタ名とその機能を示します これらのレジスタは EFB レジスタマップのサブセットになっています 17-21 TN1246_01.3

表 17-16. SPI レジスタ SPI レジスタ名 レジスタ機能 アドレス アクセス SPICR0 制御レジスタ 0 0x54 Read/Write SPICR1 制御レジスタ 1 0x55 Read/Write SPICR2 制御レジスタ 2 0x56 Read/Write SPIBR クロック プリスケール 0x57 Read/Write SPICSR マスタチップセレクト 0x58 Read/Write SPITXDR 送信データ 0x59 Write SPISR ステータス 0x5A Read SPIRXDR 受信データ 0x5B Read SPIIRQ 割り込み要求 0x5C Read/Write SPIIRQEN 割り込み要求イネーブル 0x5D Read/Write 注 : 特に指定しない限り 書き込み可能レジスタの全予約ビットには '0' が書かれなければな りません 表 17-17. SPI 制御 0 SPICR0 0x54 名称 TIdle_XCNT[1:0] TTrail_XCNT[2:0] TLead_XCNT[2:0] デフォルト 0 0 0 0 0 0 0 0 アクセス R/W R/W R/W R/W R/W R/W R/W R/W 注 : 本レジスタへのライトはSPIコアをリセットします TIdle_XCNT[1:0] TTrail_XCNT[2:0] TLead_XCNT[2:0] アイドル遅延カウント (Idle Delay Count) SCK 期間中に マスタ チップセレクトが Low にアサートされる ( マスタモードのみ ) 前の最小インターバルを指定する 00: ½ 01: 1 10: 1.5 11: 2 トレイル遅延カウント (Trail Delay Count) SCK 期間中の SCK の最後のエッジと マスタ チップセレクトの High デサート ( マスタモードのみ ) との間の最小インターバルを指定する 000: ½ 001: 1 010: 1.5 111: 4 リード遅延カウント (Lead Delay Count) SCK 期間中に マスタ チップセレクトが Low にアサートされてから SCK の最初のエッジ ( マスタモードのみ ) までの最小インターバルを指定する 000: ½ 001: 1 010: 1.5 111: 4 17-22 TN1246_01.3

表 17-18. SPI 制御 1 SPICR1 0x55 名称 SPE WKUPEN_USER WKUPEN_CFG TXEDGE (Reserved) デフォルト 0 0 0 0 0 0 0 0 アクセス R/W R/W R/W R/W 注 : 本レジスタへのライトは SPI コアをリセットします SPE SPI Enable 本ビットは SPI コア機能をイネーブルする SPE がクリアされると SPI はディセーブルされて アイドルステートに強制される 0: SPI はディセーブル 1: SPI はイネーブルで ポート端子は SPI 機能専用になる WKUPEN_USER ユーザウェイクアップ イネーブル (Wake-up Enable via User) ユーザスレーブ SPI チップセレクト (SCSN) が Low にドライブされたときに SPI コアがオンチッ プ電源コントローラにウェイクアップ信号を送信し スタンバイ / スリープモー ドの部分をウェイクアップすることをイネーブルする 0: ウェイクアップはディセーブル 1: ウェイクアップはイネーブル WKUPEN_CFG ウェイクアップ イネーブル コンフィグレーション (Wake-up Enable Configuration) 本ビットは コンフィグレーション スレーブ SPI イネーブルで ある SN が Low にドライブされた時に スタンバイ / スリープモードからデバイ スを起動するために SPI コアがウェイクアップ信号をオンチップ パワーコン トローラに送出することをイネーブルする 0: ウェイクアップはディセーブル 1: ウェイクアップはイネーブル TXEDGE データ送信エッジ (Data Transmit Edge) SPI プロトコルに対するラティス固有の 拡張機能をイネーブルする SPI データをどのクロックエッジで送信するかを選 択する 図 17-25 から 17-28 を参照 0: SPICR2[CPOL] と SPICR2[CPHA] で定義される MCLK のエッジでデータ を送信します 1: SPICR2[CPOL] と SPICR2[CPHA] で定義されるクロックより ½ MCLK 分 の位相を進めたタイミングでデータを送信します 表 17-19. SPI 制御 2 SPICR2 0x56 名称 MSTR MCSH SDBRE (Reserved) CPOL CPHA LSBF デフォルト 0 0 0 0 0 0 0 0 アクセス R/W R/W R/W R/W R/W R/W 注 : 本レジスタへのライトは SPI コアをリセットします MSTR マスタ / スレーブモード選択 (SPI Master/Slave Mode) 本ビットは SPI コアのマスタ / スレーブ動作モードを選択する 本ビットを変更することは SPI システムをアイドルステートに強制する 0: SPI はスレーブモード 1: SPI はマスタモード 17-23 TN1246_01.3

MCSH SDBRE CPOL CPHA LSBF SPI マスタ CSSPIN 保持 (Master CSSPIN Hold) ホストがビジィの場合に チップセレクトを High にせずともデータ送信を停止するために マスタチップセレクトをアクティブに保持する 注 : 本モードの使用は WISHBONE クロックが 4 以上の値 (R1 デバイスでは 6) で分周される場合に限定されます R1 デバイスから量産品への移行に関する詳細については AN8086 (Designing for Migration from MachXO2-1200-R1 to Standard (Non-R1) Devices) をご参照ください 0: マスタは通常動作 1: マスタは送信データが全くなくてもチップセレクトを Low に保持するスレーブ ダミーバイト応答イネーブル (Slave Dummy Byte Response Enable) SPI プロトコルに対するラティス固有の拡張機能をイネーブルする 内部サポート回路 (WISHBONE ホストなど ) が必要な時間内に初期データに応答できない場合 及びスレーブ リードアウトデータを定期的に高速 SPI クロックレートで使用できるようにする場合に使用する イネーブルされると SPI スレーブリードに応答してダミーの 0xFF バイトが SPITXDR への初期ライト (TRRDY=1) まで送信される WISHBONE ホストによって1バイトがSPITXDRにライトされると 0x00が1バイトと それに続いてすぐに SPITXDR のデータが送信される このモードでは 外部 SPI マスタが SPI スレーブのリード時に初期 0x00 バイトをスキャンし 実際のデータの開始を示す必要がある 図 17-19 を参照 0: 通常のスレーブ SPI 動作 1: ラティス固有のスレーブ ダミーバイト応答をイネーブル注 : このメカニズムは 初期データ遅延期間でのみ有効です 初期データが利用可能になった後は その後のデータを必要な SPI バス データレートで SPITXDR に渡す必要があります SPI クロック極性 (Clock Polarity) SPI クロックを反転するかどうかを選択する SPI モジュール間でデータを転送するには SPI モジュール同士が同一の CPOL 値を持つ必要がある マスタモードでは 本ビットを変更すると実行中の転送が中止され SPI システムが強制的にアイドル状態になる 図 17-25 から 17-28 を参照 0: アクティブ High のクロックを選択 アイドル状態では SCK は Low 1: アクティブ Low のクロックを選択 アイドル状態では SCK は High SPI Clock PhaseSPI クロック位相 ) SPI クロック形式を選択する マスタモードでは 本ビットを変更すると実行中の転送が中止され SPI システムが強制的にアイドル状態になる 図 17-25 から 17-28 を参照 0: データが最初のクロックエッジでキャプチャされ 反対のクロックエッジで伝播される 1: データが 2 番目のクロックエッジでキャプチャされ 反対のクロックエッジで伝播される * * 注 : CPHA=1 では ユーザが CPOL の値に応じて明示的に SCK パッドをプルアップまたはプルダウンする必要があります ( 例えば CPHA=1 及び CPOL=0 では SCK をプルダウン ) CPHA=0 では プル方向は任意に設定できます スレーブ SPI コンフィグレーションモードのデフォルト設定は CPOL と CPHA のみに対応します LSB-First LSB から先に SPI インターフェイスに送出される マスタモードでは 本ビットを変更すると実行中の転送が中止され SPI システムが強制的にアイドル状態になる 図 17-25 から 17-28 を参照 注 : 本ビットはデータレジスタ内の MSB と LSB 位置には影響しません データレジスタのリードライトは 常にビット 7がMSB となります 17-24 TN1246_01.3

表 17-20. SPI クロック プリスケール 0: データ送出は最上位ビット (MSB) が先出し 1: データ送出は最上位ビット (LSB) が先出し SPIBR 0x57 名称 (Reserved) DIVIDER[5:0] デフォルト 1 0 0 0 0 0 0 0 0 アクセス R/W R/W R/W R/W R/W R/W 1. ハードウェアのデフォルトは EFB コンポーネントのインスタンス化パラメータで上書きされるかもしれません 次の記述 を参照 DIVIDER[5:0] SPI クロックのプリスケール値 (Clock Prescale) WISHBONE クロック周波数が DIVIDER[5:0]+1 で分周され 求められる SPI クロック周波数が生成される 本レジスタにライト動作を行うと SPI コアがリセットされる DIVIDER 値は 1 かそれ以上にする必要がある 注 : EFB GUI の SPI タブで SPI コアをパラメータ設定すると IPexpress によってデジタル値が計算されます この計算は どちらもユーザが入力する WISHBONE クロック周波数と SPI 周波数に基づいて行われます 分周器のデジタル値は デバイスのプログラム中に MachXO2 デバイスにプログラムされます 電源投入後 またはデバイスの再コンフィグレーション後 データが SPIBR レジスタにロードされます SPIBR レジスタは WISHBONE インターフェイスからリード / ライトアクセスができる デバイス動作中にダイナミックにクロック プリスケール レジスタを書き換え可能 表 17-21. SPI マスタ チップセレクト SPICSR 0x58 名称 CSN_7 CSN_6 CSN_5 CSN_4 CSN_3 CSN_2 CSN_1 CSN_0 デフォルト 0 0 0 0 0 0 0 0 アクセス R/W R/W R/W R/W R/W R/W R/W R/W CSN_[7:0] SPI マスタ チップセレクト (Master Chip Selects) 特定の MCSN ( マスタ チップセレクト ) 線をアサートするためにマスタモードで使用される このレジスタは 8 ビットで SPI コアは最大 8 個の外付け SPI スレーブデバイスを制御可能 各ビットは 1 本のマスタ チップセレクト線 ( アクティブ Low) に対応する ビット [7:1] は FPGA ファブリック経由で任意の I/O ピンに接続できるが ビット 0 はピン位置が事前に割り当てられている このレジスタには WISHBONE インターフェイスからリード / ライトアクセスができる このレジスタでのライト動作によって SPI コアはリセットされる 表 17-22. SPI 送信データレジスタ SPITXDR 0x59 名称 SPI_Transmit_Data[7:0] デフォルト アクセス W W W W W W W W 17-25 TN1246_01.3

SPI_Transmit_Data[7:0] SPI 送信データ (Transmit Data) 本レジスタには SPI バスに送信されるバイトが格納される 本レジスタのビット 0 は LSB で LSBF=0 の場合は最後に送信され LSBF=1 の場合は最初に送信される 注 : スレーブとして動作している時は SPITXDR は SPISR[TRDY] が '1' の時に かつ少なくとも先頭ビットが SO に表れる 0.5 CCLK 周期前にらいとされなければなりません 例えば CPOL = CPHA = TXEDGE = LSBF = 0 の時 SPITXDR は直前バイトの LSB ( ビット0) をサンプルするために用いられるCCLKの立ち上がりよりも前にライトされなければなりません 図 17-25 を参照のこと 本タイミングでは 全てのスレーブ SPI リード動作では 少なくとも 1 ダミーバイトが含まれることが必要となります 表 17-23. SPI ステータス SPISR 0x5A 名称 TIP (Reserved) TRDY RRDY (Reserved) ROE MDF デフォルト 0 0 0 0 0 アクセス R R R R R TIP TRDY RRDY ROE MDF SPI 送信中 (Transmitting In Progress) 本ビットは SPI ポートがデータの送受信中であることを示す 0: SPI の送信は完了 1: SPI は送信中 * * 注 : 本ビットは R1 デバイスでは機能しません R1 デバイスから量産品への移行に関する詳細については AN8086 (Designing for Migration from MachXO2-1200-R1 to Standard (Non-R1) Devices) をご参照ください SPI 送信レディ (Transmit Ready) SPI 送信データレジスタ (SPITXDR) が空であることを示す 本ビットは SPITXDR へのライトでクリアされる 本ビットは割り込みを発生可能 0: SPITXDR データレジスタは空でない 1: SPITXDR データレジスタは空 SPI Receive Ready 受信レディ ) 受信データレジスタ (SPIRXDR) に有効な受信データが格納されていることを示す 本ビットは SPIRXDR へのリードアクセスでクリアされる 本ビットは割り込みを発生可能 0: SPIRXDR データレジスタにデータがない 1: SPIRXDR データレジスタに有効な受信データが格納されている Receive Overrun Error 受信オーバランエラー ) 前のデータが読まれる前に SPIRXDR に新しいデータを受信したことを示す 前のデータは失われる 本ビットは割り込みを発生可能 0: 正常 1: 受信オーバランが検出されたモードフォルト (Mode Fault) MSTR=1 のときに スレーブ SPI チップセレクト (SPI_SCSN) が Low にドライブされたことを示す 本ビットは SPICR0 か SPICR1 または SPICR2 に何らかのライトを行うとクリアされる 本ビットは割り込みを発生可能 0: 正常 1: モードフォルトが検出された 17-26 TN1246_01.3

表 17-24. SPI 受信データレジスタ SPIRXDR 名称 SPI_Receive_Data[7:0] デフォルト 0 0 0 0 0 0 0 0 アクセス R R R R R R R R 0x5B SPI_Receive_Data[7:0] SPI 受信データ (Receive Data) 本レジスタには SPI バスからキャプチャされたバイトが格納される 本レジスタのビット 0 は LSB で LSBF=0 の場合は最後に受信され LSBF=1 の場合は最初に受信される 表 17-25. SPI 割り込みステータス SPIIRQ 0x5C 名称 (Reserved) IRQTRDY IRQRRDY (Reserved) IRQROE IRQMDF デフォルト 0 0 0 0 アクセス R/W R/W R/W R/W IRQTRDY SPI 送信レディ割り込みステータス (Interrupt Status for SPI Transmit Ready) イネーブルされると SPISR[TRDY] がアサートされたことを示す 本ビットに '1' をライトすると 割り込みがクリアされる 1: SPI 送信レディ割り込み 0: 割り込みなし IRQRRDY SPI 受信レディ割り込みステータス (Interrupt Status for SPI Receive Ready) イネーブルされると SPISR[RRDY] がアサートされたことを示す 本ビットに '1' をライトすると 割り込みがクリアされる 1: SPI 受信レディ割り込み 0: 割り込みなし IRQROE 受信オーバラン割り込みステータス (Interrupt Status for Receive Overrun Error) イネーブルされると ROE がアサートされたことを示す 本ビットに '1' をライトすると 割り込みがクリアされる 1: 受信オーバランエラー割り込み 0: 割り込みなし IRQMDF モードフォールト割り込みステータス (Interrupt Status for Mode Fault) イネーブルされると MDF がアサートされたことを示す 本ビットに '1' をライトすると 割り込みがクリアされる 1: モードフォールト割り込み 0: 割り込みなし 表 17-26. SPI 割り込みイネーブル SPIIRQEN 0x5D 名称 (Reserved) IRQTRDYEN IRQRRDYEN (Reserved) IRQROEEN IRQMDFEN デフォルト 0 0 0 0 0 0 0 0 アクセス R/W R/W R/W R/W IRQTRDYEN SPI 送信レディ割り込み要求イネーブル (Interrupt Enable for SPI Transmit Ready) 17-27 TN1246_01.3

1: 割り込み生成をイネーブル 0: 割り込み生成をディセーブル IRQRRDYEN SPI 受信レディ割り込み要求イネーブル (Interrupt Enable for SPI Receive Ready) 1: 割り込み生成をイネーブル 0: 割り込み生成をディセーブル IRQROEEN 受信オーバランエラー割り込み要求イネーブル (Interrupt Enable for Receive Overrun Error) 1: 割り込み生成をイネーブル 0: 割り込み生成をディセーブル IRQMDFEN モードフォルト割り込み要求イネーブル (Interrupt Enable for Mode Fault) 1: 割り込み生成をイネーブル 0: 割り込み生成をディセーブル 図 17-15 に WISHBONE インターフェイスから開始されたマスタ SPI リード及びライトの制御についてのフロー図を示します 17-28 TN1246_01.3

図 17-15. SPI マスタリード / ライト例 (WISHBONE 経由 ) ~ 量産品 Start CR2 <= 0xC0 wait for TRDY Read data? Y N TXDR <= SPI Write Data TXDR <= 0x00 wait for RRDY wait for RRDY Discard Data <= RXDR SPI Read Data <= RXDR N Done? Last Read? N Y Y CR2 <= 0x80 wait for not TIP Done 17-29 TN1246_01.3

図 17-16. SPI マスタリード / ライト例 (WISHBONE 経由 ) ~ R1 品 Start CR2 <= 0xC0 wait for TRDY TXDR <= 0x00 TXDR <= SPI Command Byte wait for RRDY Y Done? Discard Data <= RXDR N Read data? Y TXDR <= 0x00 N TXDR <= SPI Write Data wait for RRDY wait for RRDY SPI Read Data <= RXDR Discard Data <= RXDR Last Read? N Y CR2 <= 0x80 Done R1 デバイスから量産品への移行に関する詳細については AN8086 (Designing for Migration from MachXO2-1200-R1 to Standard (Non-R1) Devices) をご参照ください 17-30 TN1246_01.3

SPI フレーミング SPI EFB ポートに送られる各コマンド列は それぞれのインターフェイス用に定義されたプロトコルに従って正しくフレーム化されたものでなければなりません SPI のプロトコルは良く知られており 以下に示す通り定義されています 表 17-27. SPI インターフェイスのコマンド フレーミング プロトコル インターフェイス 前処理 Pre-op (+) コマンドストリング 後処理 Post-op (-) SPI アサート CS ( コマンド / オペランド / データ ) ネゲート CS 図 17-17. SSPI デバイス ID リードの例 SN CCLK...... SI 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0... SO... CMD Byte Op Byte 1 Op Byte 2 SN (continued) CCLK (continued) SI (continued) SO (continued) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 Op Byte 3 Read ID Byte 1 Read ID Byte 2............ SN (continued) CCLK (continued) SI (continued) SO (continued) ID ID ID ID 0 0 0 0 0 1 0 0 0 0 1 1 Read ID Byte 3 Read ID Byte 4 17-31 TN1246_01.3

SPI 機能の波形図 図 17-18. SPI フルトランザクションの概要 SPISR[RRDY] R1 from SI to SPIRXDR (auto) R1 read from SPIRXDR via WISHBONE (user) SPIRXDR R1 R2 R3 R4 R5 R6 R7 R8 SPISR[TIP] SI R1 R2 R3 R4 R5 R6 R7 R8 SO T1 T2 T3 T4 T5 T6 T7 T8 SCSN SPITXDR T1 T2 T3 T4 T5 T6 T7 T8 SPISR[TRDY] T1 written to SPITXDR via WISHBONE (user) T1 from SPITXDR to SO (auto) 図 17-19. SPI 最短トランザクションの概要 SPISR[TRDY] CMD read from SPIRXDR via WISHBONE (user) Addr read from SPIRXDR via WISHBONE (user) Quit reading SPIRXDR (data is don t care ) Flush SPIRXDR via WISHBONE (user) SPISR[TRDY] SPIRXDR 0x08 addr dum SPISR[TIP] SI SO 0x08 addr dum Command Reply to Command old FF* dum2 D1 D2 D3 D4 D5 SCSN SPITXDR old dum1 dum2 D1 D2 D3 D4 D5 SPISR[TRDY] After SPISR[TIP] detected, write dummy to SPITXDR (user) After CMD/Addr decode, write good to SPITXDR (user) *Note: If SPITXDR is empty at the start of a transaction, the second byte will be FF (silicon limitation). Must write dummy byte in first byte period to get good Tx data in third period (dummy data may be overwritten in second period if necessary). 17-32 TN1246_01.3

SPI 機能のタイミング図 図 17-20. SPI 制御タイミング (SPICR2[CPHA]=0, SPICR1[TXEDGE]=0) MCLK/CCLK (CPOL=0) MCLK/CCLK (CPOL=1) SPISO or SI sample instants SISPI or SO CSSPIN/SCSN/SN MSB first (LSBF=0): LSB first (LSBF=1): tl = TLead_XCNT tt = TTrail_XCNT tl = Tidle_XCNT tl tt ti tl MSB LSB bit6 bit1 bit5 bit2 bit4 bit3 bit3 bit4 bit2 bit5 bit1 bit6 LSB MSB *Note: MachXO2 SPI configuration modes only support CPHA = CPOL = LSBF = TXEDGE = 0 図 17-21. SPI 制御タイミング (SPICR2[CPHA]=1, SPICR1[TXEDGE]=0) MCLK/CCLK (CPOL=0) MCLK/CCLK (CPOL=1) SPISO or SI sample instants SISPI or SO CSSPIN or SCSN MSB first (LSBF=0): LSB first (LSBF=1): tl = TLead_XCNT tt = TTrail_XCNT tl = Tidle_XCNT tl tt ti tl MSB LSB bit6 bit1 bit5 bit2 bit4 bit3 bit3 bit4 bit2 bit5 bit1 bit6 LSB MSB 17-33 TN1246_01.3

図 17-22. SPI 制御タイミング (SPICR2[CPHA]=0, SPICR1[TXEDGE]=1) MCLK/CCLK (CPOL=0) MCLK/CCLK (CPOL=1) SPISO or SI sample instants SISPI or SO CSSPIN or SCSN tl tt ti tl MSB first (LSBF=0): MSB bit6 bit5 bit4 bit3 bit2 bit1 LSB LSB first (LSBF=1): LSB bit1 bit2 bit3 bit4 bit5 bit6 MSB tl = TLead_XCNT tt = TTrail_XCNT tl = Tidle_XCNT 図 17-23. SPI 制御タイミング (SPICR2[CPHA]=1, SPICR1[TXEDGE]=1) MCLK/CCLK (CPOL=0) MCLK/CCLK (CPOL=1) SPISO or SI sample instants SISPI or SO CSSPIN or SCSN tl tt ti tl MSB first (LSBF=0): MSB bit6 bit5 bit4 bit3 bit2 bit1 LSB LSB first (LSBF=1): LSB bit1 bit2 bit3 bit4 bit5 bit6 MSB tl = TLead_XCNT tt = TTrail_XCNT tl = Tidle_XCNT 図 17-24. スレーブ SPI ダミーバイト応答タイミング (SPICR2[SDBRE]) SI(MOSI) CMD OP1 OP2 OP3 FF FF FF FF FF FF CS(SS) SO(MISO) FF FF FF FF FF FF 00 D1 D2 D3 Receiving Read Command SPITXDR NOT Ready SPITXDR Ready DATA Read Out 17-34 TN1246_01.3

SPI シミュレーションモデル レジスタマップに対応する MachXO2 EFB ソフトウェア シミュレーションモデルは以下の通りです 表 17-28. SPI シミュレーションモデル SPI レジスタ名 レジスタサイズ / ビット位置 SPICR0 [7:0] レジスタ機能 Control Register 0 アドレス 0x54 アクセス シミュレーションモデルのレジスタ名 Read/Write spicr0[7:0] TIdle_XCNT[1:0] [7:6] spicr0[7:6] TTrail_XCNT[2:0] [5:3] spicr0[5:3] TLead_XCNT[2:0] [2:0] spicr0[2:0] SPICR1 [7:0] Control Register 1 0x55 Read/Write spicr1[7:0] SPE 7 spi_en WKUPEN_USER 6 spi_wkup_usr WKUPEN_CFG 5 spi_wkup_cfg TXEDGE 4 spi_tx_edge SPICR2 [7:0] Control Register 2 0x56 Read/Write spicr2[7:0] MSTR 7 spi_mstr MCSH 6 spi_mcsh SDBRE 5 spi_srme CPOL 2 spi_cpol CPHA 1 spi_cpha LSBF 0 spi_lsbf SPIBR [7:0] Clock Prescale 0x57 Read/Write spibr[7:0] DIVIDER[5:0] [5:0] spibr[5:0] SPICSR [7:0] Master Chip Select 0x58 Read/Write spicsr[7:0] CSN_7 7 spicsr[7] CSN_6 6 spicsr[6] CSN_5 5 spicsr[5] CSN_4 4 spicsr[4] CSN_3 3 spicsr[3] シミュレーションモデルのパス 17-35 TN1246_01.3

表 17-28. SPI シミュレーションモデル SPI レジスタ名 CSN_2 2 spicsr[2] CSN_1 1 spicsr[1] CSN_0 0 spicsr[0] SPITXDR [7:0] Transmit Data 0x59 Write spitxdr[7:0] SPI_Transmit_Data[7 :0] ハードマクロ タイマ / カウンタ PWM [7:0] spitxdr[7:0] SPISR [7:0] Status 0x5A Read spisr[7:0] TIP 7 spi_tip_sync TRDY 4 spi_trdy RRDY 3 spi_rrdy ROE 1 spi_roe MDF 0 spi_mdf SPIRXDR [7:0] Receive Data 0x5B Read spirxdr[7:0] SPI_Receive_Data[7: 0] レジスタサイズ / ビット位置 SPIIRQ [7:0] [7:0] spirxdr[7:0] Interrupt Request 0x5C Read/Write {1'b0, 1'b0, 1'b0, spisr_irqsts_4, spisr_irqsts_3, spisr_irqsts_2, spisr_irqsts_1, spisr_irqsts_0} IRQTRDY 4 spisr_irqsts_4 IRQRRDY 3 spisr_irqsts_3 IRQROE 1 spisr_irqsts_1 IRQMDF 0 spisr_irqsts_0 SPIIRQEN [7:0] レジスタ機能 Interrupt Request Enable アドレス 0x5D アクセス Read/Write シミュレーションモデルのレジスタ名 {1'b0, 1'b0, 1'b0, spisr_irqena_4, spisr_irqena_3, spisr_irqena_2, spisr_irqena_1, spisr_irqena_0} シミュレーションモデルのパス IRQTRDYEN 4 spisr_irqena_4 IRQRRDYEN 3 spisr_irqena_3 IRQROEEN 1 spisr_irqena_1 IRQMDFEN 0 spisr_irqena_0 MachXO2 EFB はハードタイマ / カウンタ IP コアを持っています このタイマ / カウンタは 独立したアウトプットコンペア ( 出力比較 ) ユニット及び PWM サポートを備えた汎用の双方向 16 ビットタイマ / カウンタモジュールです 17-36 TN1246_01.3

タイマ / カウンタ レジスタタイマ / カウンタは コントロール / コマンド / ステータス / データのレジスタセットを使用して WISHBONE インターフェイスを介して FPGA ロジック通信とします 表 17-29 にレジスタ名とその機能を示します これらのレジスタは EFB レジスタマップのサブセットになっています 各レジスタの特定のアドレスについては EFB レジスタマップを参照ください 表 17-29. タイマ / カウンタ レジスタ タイマ / カウンタ レジスタ名 レジスタ機能 アドレス アクセス TCCR0 制御レジスタ 0 0x5E Read/Write TCCR1 制御レジスタ 1 0x5F Read/Write TCTOPSET0 トップ (Top) カウンタ値 [7:0] をセット 0x60 Write TCTOPSET1 トップ (Top) カウンタ値 [15:8] をセット 0x61 Write TCOCRSET0 比較カウンタ値 [7:0] をセット 0x62 Write TCOCRSET1 比較カウンタ値 [15:8] をセット 0x63 Write TCCR2 制御レジスタ 2 0x64 Read/Write TCCNT0 カウンタ値 [7:0] 0x65 Read TCCNT1 カウンタ値 [15:8] 0x66 Read TCTOP0 現在のトップ (Top) カウンタ値 [7:0] 0x67 Read TCTOP1 現在のトップ (Top) カウンタ値 [15:8] 0x68 Read TCOCR0 現在の比較カウンタ値 [7:0] 0x69 Read TCOCR1 現在の比較カウンタ値 [15:8] 0x6A Read TCICR0 現在のキャプチャカウンタ値 [7:0] 0x6B Read TCICR1 現在のキャプチャカウンタ値 [15:8] 0x6C Read TCSR0 ステータスレジスタ 0x6D Read TCIRQ 割り込み要求 0x6E Read/Write TCIRQEN 割り込み要求イネーブル 0x6F Read/Write 注 : 特に指定しない限り 書き込み可能レジスタの全予約ビットには '0' が書かれなけ ればなりません 表 17-30. タイマ / カウンタ制御 0 TCCR0 0x5E 名称 RSTEN (Reserved) PRESCALE[2:0] CLKEDGE CLKSEL (Reserved) デフォルト 0 0 0 0 0 0 0 0 アクセス R/W R/W R/W R/W R/W R/W RSTEN PRESCALE[2:0] PLD ロジックからリセット信号 (tc_rstn) がタイマ / カウンタのコアに入力されることを許容する 1: 外部リセットをイネーブル 0: 外部リセットをディセーブルタイマ / カウンタへのクロック入力を分周するために使用される 000: スタティック ( クロックはディセーブル ) 001: 1 で分周 010: 8 で分周 011: 64 で分周 17-37 TN1246_01.3

CLKEDGE CLKSEL 100: 256 で分周 101: 1024 で分周 110: ( 予約 ) 111: ( 予約 ) 入力クロックソースの有効エッジを選択するために使用される タイマ / カウンタは入力クロックソースの有効エッジでステートを更新する 0: 立ち上りエッジ 1: 立ち下りエッジ入力クロックのソースを定義する 0: クロックツリー 1: オンチップ オシレータ 表 17-31. タイマ / カウンタ制御 1 TCCR1 名称 (Reserved) SOVFEN ICEN TSEL OCM[1:0] TCM[1:0] デフォルト 0 0 0 0 0 0 アクセス R/W R/W R/W R/W R/W 0x5F SOVFEN 割り込み出力信号と共に使用されるオーバフロー フラグをイネーブルする WISHBONE インターフェイスがなく タイマ / カウンタがスタンドアロンであるときにセットされる 0: ディセーブル 1: イネーブル注 ; 本ビットがセットされると OCRF や ICRF などの他のフラグは割り込み出力信号に接続されません ICEN カウンタ値をキャプチャする動作の実行を可能にする ユーザは TCICR0/1 レジスタにカウンタ値をロードするために "tc_ic" 信号をアサートすることができる キャプチャされた値は 特定イベントのタイマスタンプとしての役割を持つことができる 0: ディセーブル 1: イネーブル TSEL カウンタに TCTOPSET0/1 値の自動ロードをイネーブルする ディセーブルすると 値 0xFFFF が自動ロードされる 0: ディセーブル 1: イネーブル OCM[1:0] タイマ / カウンタの出力信号の機能を選択する 選択できる機能は スタティック (Static) トグル (Toggle) セット / クリア そしてクリア / セット 全タイマ / カウンタモード : 00: 出力はスタティック Low 非 PWMモード : 01: TOP マッチでトグル高速 PWM モード : 10: TOP マッチでクリア OCR マッチでセット 11: TOPマッチでセット OCRマッチでクリア位相 周波数補正 PWM モード : 17-38 TN1246_01.3

10: カウンタがインクリメント中 OCR マッチでクリア カウンタがディクリメント中に OCR マッチでセット 11: カウンタがインクリメント中 OCR マッチでセット カウンタがディクリメント中に OCR マッチでクリア TCM[1:0] Timer Counter Mode ( タイマカウンタ モード ) タイマ / カウンタの動作モードを定義する 00: ウォッチドッグタイマ モード 01: 比較マッチ時タイマクリア モード 10: 高速 PWM モード 11: 位相 周波数補正 PWM モード 表 17-32. タイマ / カウンタ トップカウンタ値設定 0 TCTOPSET0 0x60 名称 TCTOPSET[7:0] デフォルト 1 1 1 1 1 1 1 1 1 アクセス R/W R/W R/W R/W R/W R/W R/W R/W 1. ハードウェアのデフォルト値は EFB コンポーネント インスタンス化パラメータによって上書きされることがあります 表 17-33. タイマ / カウンタ トップカウンタ値設定 1 TCTOPSET1 0x61 名称 TCTOPSET[15:8] デフォルト 1 1 1 1 1 1 1 1 1 アクセス R/W R/W R/W R/W R/W R/W R/W R/W 1. ハードウェアのデフォルト値は EFB コンポーネント インスタンス化パラメータによって上書きされることがあります カウンタが現在のカウントサイクルを完了すると TCTOPSET0/1 の値が TCTOP0/1 レジスタにロードされます 使用法の詳細については タイマ / カウンタの動作モードを参照してください TCTOPSET0 レジスタはトップ値の下位 8 ビット値 [7:0] を保持します TCTOPSET1 レジスタはトップ値の上位 8 ビット値 [15:8] を保持します 表 17-34. タイマ / カウンタ比較カウンタ値設定 0 TCOCRSET0 0x62 名称 TCOCRSET[7:0] デフォルト 1 1 1 1 1 1 1 1 1 アクセス R/W R/W R/W R/W R/W R/W R/W R/W 1. ハードウェアのデフォルト値は EFB コンポーネント インスタンス化パラメータによって上書きされることがあります 17-39 TN1246_01.3

表 17-35. タイマ / カウンタ比較カウンタ値設定 1 TCOCRSET1 0x63 名称 TCOCRSET[15:8] デフォルト 1 1 1 1 1 1 1 1 1 アクセス R/W R/W R/W R/W R/W R/W R/W R/W 1. ハードウェアのデフォルト値は EFB コンポーネント インスタンス化パラメータによって上書きされることがあります ウンタが現在のカウントサイクルを完了すると TCOCRSET0/1 の値が TCOCR0/1 レジスタにロードされます 使用法の詳細については タイマ / カウンタの動作モードを参照してください TCOCRSET0 レジスタは比較値の下位 8 ビット値 [7:0] を保持します TCOCRSET1 レジスタは比較値の上位 8 ビット値 [15:8] を保持します 表 17-36. タイマ / カウンタ制御 2 TCCR2 0x64 名称 (Reserved) WBFORCE WBRESET WBPAUSE デフォルト 0 0 0 0 0 0 0 0 アクセス R/W R/W R/W WBFORCE WBRESET WBPAUSE 非 PWM モードでは カウンタ値が比較 (TCOCR) 値と一致したか トップ値 (TCTOP) と一致したかのように カウンタの出力が強制的にセットされる 0: ディセーブル 1: イネーブル WISHBONE インターフェイスから本レジスタに '1' をライトすると カウンタがリセットされる マニュアルで 0 にクリアする WISHBONE クロックドメインで立ち上がりが検出されると カウンタは次の tc_clki に同期してリセットされる クロックドメインを跨ぐ関係で リセットが有効になるまで 1 クロックの不確定期間がある 本ビットは WBPAUSE よりも優先される 0: ディセーブル 1: イネーブル 16 ビットカウンタを一時停止 (Pause) する 1: 一時停止 0: 正常 表 17-37. タイマ / カウンタ カウンタ値 0 TCCNT0 0x65 名称 TCCNT[7:0] デフォルト 0 0 0 0 0 0 0 0 アクセス R R R R R R R R 17-40 TN1246_01.3

表 17-38. タイマ / カウンタ カウンタ値 1 TCCNT1 名称 TCCNT[15:8] デフォルト 0 0 0 0 0 0 0 0 アクセス R R R R R R R R 0x66 レジスタ TCCNT0 及び TCCNT1 は 8 ビットレジスタで これらの組み合わせによってカウンタ値を保持します WISHBONE ホストは これらのレジスタに対するリードオンリ アクセスができます TCCNT0 レジスタはカウンタ値の下位 8 ビット値 [7:0] を保持します TCCNT1 レジスタはカウンタ値の上位 8 ビット値 [15:8] を保持します 表 17-39. タイマ / カウンタ現在のトップカウンタ値 0 TCTOP0 名称 TCTOP[7:0] デフォルト 1 1 1 1 1 1 1 1 アクセス R R R R R R R R 0x67 表 17-40. タイマ / カウンタ現在のトップカウンタ値 1 TCTOP1 名称 TCTOP[15:8] デフォルト 1 1 1 1 1 1 1 1 アクセス R R R R R R R R 0x68 レジスタ TCTOP0 及び TCTOP1 は 8 ビットレジスタで これらの組み合わせによって TCTOPSET0/1 からの 16 ビット値を受けとります これらのレジスタに格納されているデータは カウンタのトップ値を表します カウンタが現在のカウントサイクルを完了すると これらのレジスタは更新されます WISHBONE ホストはこれらのレジスタにリードオンリ アクセスが可能です 使用法の詳細については タイマ / カウンタの動作モードを参照してください TCTOP0 レジスタはトップ値の下位 8 ビット値 [7:0] を保持し TCTOP1 レジスタは上位 8 ビット値 [15:8] を保持します 表 17-41. タイマ / カウンタ現在の比較カウンタ値 0 TCOCR0 0x69 名称 TCOCR[7:0] デフォルト 1 1 1 1 1 1 1 1 アクセス R R R R R R R R 17-41 TN1246_01.3

表 17-42. タイマ / カウンタ現在の比較カウンタ値 1 TCOCR1 名称 TCOCR[15:8] デフォルト 1 1 1 1 1 1 1 1 アクセス R R R R R R R R 0x6A レジスタ TCOCR0 及び TCOCR1 は 8 ビットレジスタで これらの組み合わせによって TCOCRSET0/1 からの 16 ビット値を受けとります これらのレジスタに格納されているデータは カウンタの比較値を表します カウンタが現在のカウントサイクルを完了すると これらのレジスタは更新されます WISHBONE ホストはこれらのレジスタにリードオンリ アクセスが可能です 使用法の詳細については タイマ / カウンタの動作モードを参照してください TCOCR0 レジスタは比較値の下位 8 ビット値 [7:0] を保持し TCOCR1 レジスタは上位 8 ビット値 [15:8] を保持します 表 17-43. タイマ / カウンタ現在のキャプチャカウンタ値 0 TCICR0 名称 TCICR[7:0] デフォルト 0 0 0 0 0 0 0 0 アクセス R R R R R R R R 0x6B 表 17-44. タイマ / カウンタ現在のキャプチャカウンタ値 1 TCICR1 名称 TCICR[15:8] デフォルト 0 0 0 0 0 0 0 0 アクセス R R R R R R R R 0x6C レジスタ TCICR0 及び TCICR1 は 8 ビットレジスタで これらの組み合わせによってカウンタ値を保持できます トリガイベントである tc_ic IP 信号がアサートされると カウンタ値はこれらのレジスタにロードされます キャプチャ値は特定のシステムイベントのタイムスタンプとしてよく使用されます WISHBONE ホストは これらのレジスタに対するリードオンリ アクセスができます TCICR0 レジスタはカウンタ値の下位 8 ビット値 [7:0] を保持します TCICR1 レジスタはカウンタ値の上位 8 ビット値 [15:8] を保持します 表 17-45. タイマ / カウンタ ステータスレジスタ TCSR 0x6D 名称 (Reserved) BTF ICRF OCRF OVF デフォルト 0 0 0 0 アクセス R R R R BTF ボトムフラグ (Bottom Flag) カウンタが値 0 に達するとアサートされる 本レジスタにライト動作を行うと 本フラグがクリアされる 1: カウンタ値がゼロに達した 17-42 TN1246_01.3

ICRF OCRF OVF 0: カウンタ値はゼロに達していないキャプチャカウンタ フラグ (Capture Counter Flag) ユーザが TC_IC 入力信号をアサートするとアサートされる カウンタ値はTCICR0/1レジスタにキャプチャされる 本レジスタにライト動作を行うと 本フラグがクリアされる 本ビットは割り込みを発生可能 1: TC_IC 信号がアサートされた 0: 通常比較一致フラグ (Compare Match Flag) カウンタが TCOCR0/1 レジスタの値と一致するとアサートされる 本レジスタにライト動作を行うと 本フラグがクリアされる 本ビットは割り込みを発生可能 1: カウンタ一致 0: 通常オーバフローフラグ (Overflow Flag) カウンタが TCTOP0/1 レジスタの値と一致するとアサートされる 本レジスタにライト動作を行うと 本フラグがクリアされる 本ビットは割り込みを発生可能 1: カウンタ一致 0: 通常 表 17-46. タイマ / カウンタ割り込みステータス TCIRQ 0x6E 名称 (Reserved) IRQICRF IRQOCRF IRQOVF デフォルト 0 0 0 0 0 0 0 0 アクセス R/W R/W R/W IRQICRF キャプチャカウンタ フラグ割り込みステータス (Interrupt Status for Capture Counter Flag) イネーブルされると ICRF がアサートされたことを示す 本ビットに '1' をライトすると 割り込みがクリアされる 1: キャプチャカウンタ フラグ割り込み 0: 割り込みなし IRQOCRF 比較一致フラグ割り込みステータス (Interrupt Status for Compare Match Flag) イネーブルされると OCRF がアサートされたことを示す 本ビットに '1' をライトすると 割り込みがクリアされる 割り込みラインがアサートされるのは 1 クロックサイクルのみ 1: 比較一致フラグ割り込み 0: 割り込みなし IRQOVF オーバフローフラグ割り込みステータス (Interrupt Status for Overflow Flag) イネーブルすると OVF がアサートされたことを示す 本ビットに '1' をライトすると 割り込みがクリアされる 割り込みラインがアサートされるのは 1 クロックサイクルのみ 1: オーバフローフラグ割り込み 0: 割り込みなし 17-43 TN1246_01.3

表 17-47. タイマ / カウンタ割り込みイネーブル IRQICRFEN IRQOCRFEN IRQOVFEN TCIRQEN 0x6F 名称 (Reserved) IRQICRFEN IRQOCRFEN IRQOVFEN デフォルト 0 0 0 0 0 0 0 0 アクセス R/W R/W R/W キャプチャカウンタフラグ割り込み要求イネーブル (Interrupt Enable for Capture Counter Flag) 1: 割り込み生成イネーブル 0: 割り込み生成ディセーブルコンペアマッチフラグ割り込み要求イネーブル (Interrupt Enable for Compare Match Flag) 1: 割り込み生成イネーブル 0: 割り込み生成ディセーブルオーバフローフラグ割り込み要求イネーブル (Interrupt Enable for Overflow Flag) 1: 割り込み生成イネーブル 0: 割り込み生成ディセーブル タイマ / カウンタ シミュレーションモデル タイマ / カウンタのレジスタマップと EFB ソフトウェア シミュレーションモデルの対応は以下の通りです 表 17-48. タイマ / カウンタ シミュレーションモデル SPI レジスタ名 レジスタサイズ / ビット位置 レジスタ機能 アドレス アクセス TCCR0 [7:0] Control Register 0 0x5E Read/Write RSTEN 7 tc_rstn_ena PRESCALE[2: 0] シミュレーションモデルのレジスタ名 {tc_rstn_ena, tc_gsrn_dis, tc_cclk_sel[2:0], tc_sclk_sel[2:0]} [5:3] tc_cclk_sel[2:0] CLKEDGE 2 tc_sclk_sel[2] CLKSEL 1 tc_sclk_sel[1] TCCR1 [7:0] Control Register 1 0x5F Read/Write SOVFEN 6 tc_ivf_ena ICEN 5 tc_ic_ena TSEL 4 tc_top_sel {1'b0, tc_ovf_ena, tc_ic_ena, tc_top_sel, tc_oc_mode[1:0], tc_mode[1:0]} OCM[1:0] [3:2] tc_oc_mode[1:0] TCM[1:0] [1:0] tc_mode[1:0] シミュレーションモデルのパス 17-44 TN1246_01.3

表 17-48. タイマ / カウンタ シミュレーションモデル (Continued) SPI レジスタ名 TCTOPSET0 [7:0] TCTOPSET[7: 0] [7:0] TCTOPSET1 [7:0] TCTOPSET[1 5:8] [7:0] TCOCRSET0 [7:0] TCOCRSET[7: 0] [7:0] TCOCRSET1 [7:0] TCOCRSET[1 5:8] [7:0] Set Top Counter Value [7:0] Set Top Counter Value [15:8] Set Compare Counter Value [7:0] Set Compare Counter Value [15:8] 0x60 0x61 0x62 0x63 Write Write Write Write TCCR2 [7:0] Control Register 2 0x64 Read/Write WBFORCE 2 tc_oc_force WBRESET 1 tc_cnt_reset WBPAUSE 0 tc_cnt_pause {tc_top_set[7], tc_top_set[6], tc_top_set[5], tc_top_set[4], tc_top_set[3], tc_top_set[2], tc_top_set[1], tc_top_set[0]} {tc_top_set[7], tc_top_set[6], tc_top_set[5], tc_top_set[4], tc_top_set[3], tc_top_set[2], tc_top_set[1], tc_top_set[0]} {tc_top_set[15], tc_top_set[14], tc_top_set[13], tc_top_set[12], tc_top_set[11], tc_top_set[10], tc_top_set[9], tc_top_set[8]} {tc_top_set[15], tc_top_set[14], tc_top_set[13], tc_top_set[12], tc_top_set[11], tc_top_set[10], tc_top_set[9], tc_top_set[8]} {tc_ocr_set[7], tc_ocr_set[6], tc_ocr_set[5], tc_ocr_set[4], tc_ocr_set[3], tc_ocr_set[2], tc_ocr_set[1], tc_ocr_set[0]} {tc_ocr_set[7], tc_ocr_set[6], tc_ocr_set[5], tc_ocr_set[4], tc_ocr_set[3], tc_ocr_set[2], tc_ocr_set[1], tc_ocr_set[0]} {tc_ocr_set[15], tc_ocr_set[14], tc_ocr_set[13], tc_ocr_set[12], tc_ocr_set[11], tc_ocr_set[10], tc_ocr_set[9], tc_ocr_set[8]} {tc_ocr_set[15], tc_ocr_set[14], tc_ocr_set[13], tc_ocr_set[12], tc_ocr_set[11], tc_ocr_set[10], tc_ocr_set[9], tc_ocr_set[8]} {1'b0, 1'b0, 1'b0, 1'b0, 1'b0, tc_oc_force, tc_cnt_reset, tc_cnt_pause} TCCNT0 [7:0] Counter Value [7:0] 0x65 Read tc_cnt_sts[7:0] TCCNT[7:0] [7:0] tc_cnt_sts[7:0] TCCNT1 [7:0] Counter Value [15:8] 0x66 Read tc_cnt_sts[15:8] TCCNT[15:8] [7:0] tc_cnt_sts[15:8] TCTOP0 [7:0] Current Top Counter Value [7:0] 0x67 Read tc_top_sts[7:0] TCTOP[7:0] [7:0] tc_top_sts[7:0] TCTOP1 [7:0] レジスタサイズ / ビット位置 レジスタ機能 アドレス アクセス Current Top Counter Value [15:8] シミュレーションモデルのレジスタ名 0x68 Read tc_top_sts[15:8] シミュレーションモデルのパス 17-45 TN1246_01.3