マクロ使用ガイド - Lattice Semiconductor

MachXO2 SED
マ ク ロ使用ガ イ ド
2013 年 12 月
テ ク ニ カル ノ ー ト TN1206
は じ めに
ソ フ ト エ ラ ーは、 高エネルギー荷電粒子に よ っ て、 電子回路内の メ モ リ セルに格納 さ れたチ ャ ージが変化 し
て発生す る こ と があ り ます。 本現象は最初に DRAM の問題 と し て現出 し 、 高信頼性アプ リ ケーシ ョ ンの大容
量 メ モ リ シ ス テ ム ではエ ラ ー検出 と 訂正が必要にな り ま す。 デバ イ ス ジオ メ ト リ は縮小を続け てい る ため、
シ ス テ ムに よ っ ては SRAM 内での メ モ リ エ ラ ーの可能性がかな り 高 く な っ てい ます。 設計者は様々な手法を
使用 し て、 シ ス テ ム動作に与え る メ モ リ エ ラ ーの影響を抑え よ う と し てい ます。
SRAM ベース の PLD は、 ロ ジ ッ ク ・ コ ン フ ィ グ レーシ ョ ン ・ デー タ を SRAM セルに格納 し ます。 PLD 内部の
SRAM の数 と 規模が増加 し てい る ため、 メ モ リ エ ラ ーに よ っ てプ ロ グ ラ ム さ れたシ ス テ ムの論理動作が変化
す る 可能性 も 増 し てい ます。こ の問題は多数の手法で対策 さ れてい ますが、その多 く はユーザが設計の ロ ジ ッ
ク 内に実装 し た IP (Intellectual Property) コ ア を利用す る ため、 貴重な リ ソ ース を使用 し 、 設計の性能に影
響を与え る 可能性があ り ます。 MachXO2TM デバ イ ス はハー ド ウ ェ ア実装 さ れた SED 回路を持つため、 それ
を SRAM エ ラ ーの検出に使用で き 、 訂正 も 可能です。
本書では、 ラ テ ィ ス セ ミ コ ン ダ ク タ ーが MachXO2 PLD に採用 し た、 ハー ド ウ ェ アベース の SED 手法につい
て説明 し ます。
SED の概要
MachXO2 デバ イ ス の SED ハー ド ウ ェ アは、 PLD の コ ン フ ィ グ レーシ ョ ン ・ メ モ リ へのア ク セ ス ポ イ ン ト 、
制御回路、 及び対象ビ ッ ト ス ト リ ームの CRC を格納す る 32 ビ ッ ト レ ジ ス タ で構成 さ れます (図 1-1 参照)。
SED ハー ド ウ ェ アは、 PLD の コ ン フ ィ グ レーシ ョ ン ・ メ モ リ か ら シ リ アルデー タ を リ ー ド し 、 CRC を計算 し
ます。 その リ ー ド さ れたデー タ 、 及び計算 さ れた CRC には、 EBR メ モ リ ま たは RAM と し て使用 さ れ る PFU
が含まれません。 その後、 計算 さ れた CRC は 32 ビ ッ ト レ ジ ス タ に格納 さ れた CRC の期待値 と 比較 さ れま
す。 CRC 値が一致 し た場合は コ ン フ ィ グ レーシ ョ ン ・ メ モ リ が破損 し ていない こ と が示 さ れ、 値が異な る 場
合はエ ラ ー信号が生成 さ れます。
図 1-1. シ ス テ ムブ ロ ッ ク 図
EFB
Configuration Clock
Divider (66MHz)
Configuration
Logic
Glitchless SMCLK
Clock
MUX
Internal OSC
266MHz
SED Clock Divider
(2.08MHz - 33MHz)
SED Control
Circuit
32-Bit CRC
Register
計算 さ れた CRC は、特定の設計に対す る 特定の コ ン フ ィ グ レーシ ョ ン ・ メ モ リ の内容に基づいた も のにな り
ます。 その結果、 期待 さ れ る CRC 値は、 設計が実装 さ れて配線 さ れ る ま で指定で き ません。 Lattice Diamond
™ま たは ispLEVER® ビ ッ ト ス ト リ ーム生成 ソ フ ト ウ ェ アは、 実装及び配線 さ れた設計の コ ン フ ィ グ レーシ ョ
ン を解析 し 、 ビ ッ ト ス ト リ ーム生成時に 32 ビ ッ ト SED CRC レ ジ ス タ の内容を更新 し ます。
以下の項では、 MachXO2 SED の実装 と フ ロ ーについて説明 し ます。
© 2013 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
1-1
TN1206J_01.9
MachXO2
SRAM CRC エ ラ ー検出マ ク ロ使用ガ イ ド
SED の制約
SED を実行で き る のは、 デバ イ ス の ロ ジ ッ ク が安定状態に保たれ、 誤っ たエ ラ ー表示が防止 さ れ る 場合に限
ら れます。 ま た、 ク ロ ッ ク 周波数が 33.33MHz を超え る 場合の SED には対応 し てい ません。
SED 回路の ク ロ ッ ク (SMCLK) は コ ン フ ィ グ レーシ ョ ン回路 と 共用 さ れてい ます。 そのため、 SED モジ ュ ー
ルは、 EFB 機能の幾つかの動作に対 し て以下の様な関連性があ り ます。
•. SED 回路が動作時に EFB や コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク がア ク セ ス さ れ る と 、
- その時点の SED サ イ ク ルは強制終了 し ます
・ SED 回路が強制終了 さ れ る と 、 EFB や コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク がア ク セ ス で き る よ う に
な る ま で SMCLK 2 周期分の遅延があ り ます。こ れは SMCLK が SED ク ロ ッ ク か ら コ ン フ ィ グ レー
シ ョ ン ・ ク ロ ッ ク ド メ イ ンに切 り 替え ら れ る ために要す る 期間です。 ”2 SMCLK” 周期 と は低速の
SED ク ロ ッ ク で定義 さ れます。
・ SED 回路が強制終了 さ れ る と 、 SEDDONE お よ び SEDERR は Low の ま ま に保持 さ れ、 SEDINPROG
は High か ら Low に リ セ ッ ト さ れます。
- EFB や コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク のア ク セ ス で SED 動作に関連性があ る のは次の通 り です :
・ JTAG ポー ト ま たは WISHBONE イ ン タ ーフ ェ イ ス か ら 与え ら れ る 以下の コ マ ン ド
- LSC_REFRESH
- ISC_ENABLE
- ISC_ENABLE_X
- 全 IEEE 1532 命令
- ISC_DISABLE
・ プ ラ イ マ リ I2C コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク の ス レーブア ド レ ス が一致
・ SPI コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク のチ ッ プセ レ ク ト がアサー ト さ れ る
•. PROGRAMn ピ ン を検出す る ロ ジ ッ ク は最低 6 SMCLK 周期以上の Low 期間を必要 と し ます。 SED 回路
が動作中は 6 SMCLK 周期は SED ク ロ ッ ク で定義 さ れます。
SED の動作モー ド
MachXO2 デバ イ ス の SED 動作には 2 つのモー ド があ り ます。
• 標準動作モードでは、SED の実行開始タイミングやエラー検出動作のテストをデザインから制御でき
ます
• ワンショット動作モードは、デバイスのコンフィグレーション後に SED を 1 回実行し、コンフィグ
レーションが目的のコンフィグレーションと一致していることを確認するために使用されます
ど ち ら の動作で も 、EBR 及び RAM メ モ リ を除 く 、コ ン フ ィ グ レーシ ョ ン SRAM 内の全ビ ッ ト の CRC がチ ェ ッ
ク さ れます。 標準モー ド 動作は SEDFA プ リ ミ テ ィ ブ を使用 し て起動 さ れ る のに対 し て、 ワ ン シ ョ ッ ト 動作
は SEDFB プ リ ミ テ ィ ブ を使用 し て起動 さ れます。 こ れ ら のプ リ ミ テ ィ ブについては、 次の項で説明 し ます。
SED 動作中にエ ラ ーが検出 さ れた場合、 ユーザは 2 つの訂正ア ク シ ョ ンのいずれかを選択で き ます。 1 つは
" 何 も し ない " です。 も う 1 つは、 PROGRAMN ピ ン を Low にす る こ と で、 オンデマ ン ド のユーザ再 コ ン フ ィ
グ レーシ ョ ン を開始 し ます。 こ れは別のデバ イ ス か ら 、 ま たは図 16-4 に示す MachXO2 デバ イ ス の出力か ら
行い ます。
PROGRAMn ピ ン を検出す る ロ ジ ッ ク は最低 6 SMCLK 周期以上の Low 期間を必要 と し ます。 SED 回路が動作
中は 6 SMCLK 周期は SED ク ロ ッ ク で定義 さ れます。 エ ラ ー検出がア ク テ ィ ブに さ れ る と 、 PROGRAMn の
Low 期間は SEDCLK で 6 周期の定義にな り ます。 こ れはア ク テ ィ ブは SMCLK は SEDCLK に切 り 替え ら れ る
1-2
TN1206J_01.9
MachXO2
SRAM CRC エ ラ ー検出マ ク ロ使用ガ イ ド
ためです。 こ れは SMCLK が最速で動作 し てい る通常動作時 と は異な る振 る舞いです。 デバ イ ス起動後、 SED
機能ブ ロ ッ ク は新規 コ ン フ ィ グ レーシ ョ ン設定に基づいて動作 し ます。
標準 SED
標準 SED 動作は、 図 1-2 に示す SEDFA プ リ ミ テ ィ ブ を実現す る こ と で使用で き ます。 プ リ ミ テ ィ ブのポー
ト 定義を表 1-1 に示 し ます。 各ポー ト の詳細については、 本書の 「ポー ト 説明」 の項を参照 し て く だ さ い。
(日本語注1)
図 1-2. SEDFA プ リ ミ テ ィ ブ ・ シ ン ボル l
SEDENABLE
SEDCLKOUT
SEDSTART
SEDDONE
SEDFA
SEDFRCERR
SEDSTDBY
SEDINPROG
SEDERR
(From OSCH
Primitive)
ワ ン シ ョ ッ ト SED
ワ ン シ ョ ッ ト SED 動作は、 図 1-3 に示す SEDFB プ リ ミ テ ィ ブを実現す る こ と で使用で き ます。 SEDFB プ リ
ミ テ ィ ブのポー ト 定義を表 1-1 に示 し ます。 各ポー ト の詳細については、 本書の 「ポー ト 説明」 の項を参照
し て く だ さ い。 (日本語注2)
図 1-3. SEDFB プ リ ミ テ ィ ブ ・ シ ン ボル
SEDCLKOUT
SEDDONE
SEDFB
SEDINPROG
SEDERR
1. 日本語注:英語版オリジナルにある R1 デバイスの記述は省略
2. 日本語注:英語版オリジナルにある R1 デバイスの記述は省略
1-3
TN1206J_01.9
MachXO2
SRAM CRC エ ラ ー検出マ ク ロ使用ガ イ ド
信号説明
表 1-1. SEDFA プ リ ミ テ ィ ブのポー ト 定義
信号名
方向
アクテ ィ ブ
SEDENABLE
入力
High
記 述
SEDSTART
入力
立ち上が り エ ッ ジ
SRAM CRC サ イ ク ルを開始
SEDFRCERR
入力
立ち上が り エ ッ ジ
SRAM CRC エ ラ ーフ ラ グ を強制的にアサー ト
SEDSTDBY
入力
High
ス タ ンバ イ モー ド 時に SRAM CRC をデ ィ セーブル
SEDCLKOUT
出力
N/A
出力 ク ロ ッ ク
SEDDONE
出力
High
SRAM CRC サ イ ク ル完了
SEDINPROG
出力
High
SRAM CRC サ イ ク ル実行中
SEDERR
出力
High
SRAM CRC エ ラ ーフ ラ グ
SRAM CRC イ ネーブル
SED の ク ロ ッ ク ド ラ イ バ
SEDFA ま たは SEDFB プ リ ミ テ ィ ブ使用時、SED 回路は MachXO2 内部オシ レー タ で ド ラ イ ブ さ れます。対応
す る 最高周波数は 33.25MHz です。
MachXO2 内部オシ レー タ は、 コ ン フ ィ グ レーシ ョ ン、 SED、 内部ユーザ ク ロ ッ ク な ど、 デバ イ ス内のい く つ
かの機能で使用で き ます。 オシ レー タ 出力の周波数は、 こ う し た用途ご と に異な る 設定にで き ます。 SED ク
ロ ッ ク で使用可能な設定を、 次の表に示 し ます。 SED 使用時、 内部オシ レー タ 周波数は SED_CLK_FREQ パ ラ
メ ー タ で指定 さ れます。
表 1-2. SED に内部オシ レー タ が対応する 周波数設定
2.08
4.16
8.31
16.63
2.15
4.29
8.58
17.73
2.22
4.43
8.87
19.00
2.29
4.59
9.17
20.46
2.38
4.75
9.50
22.17
2.46
4.93
9.85
24.18
2.56
5.12
10.23
26.60
2.66
5.32
10.64
29.56
33.25
2.77
5.54
11.08
2.89
5.78
11.57
3.02
6.05
12.09
3.17
6.33
12.67
3.33
6.65
13.30
3.50
7.00
14.00
3.69
7.39
14.78
3.91
7.82
15.65
SED の属性
SED プ リ ミ テ ィ ブに使用可能な属性が 3 つあ り 、 それ ら を表 1-3 に示 し ます。 こ れ ら 属性の使用例は、 本書
の 「記述例」 の項にあ り ます。 現在の と こ ろ、 SEDFB プ リ ミ テ ィ ブは こ こ に示す 3 つの属性に対応 し てい ま
せん。
1-4
TN1206J_01.9
MachXO2
SRAM CRC エ ラ ー検出マ ク ロ使用ガ イ ド
表 1-3. SED の属性
属性名
SED_CLK_FREQ
属性 タ イ プ
String
記 述
SEDFA プ リ ミ テ ィ ブで使用時の ク ロ ッ ク 周波数を指定する
DEV_DENSITY
String
シ ミ ュ レーシ ョ ンモデルで使用する デバ イ ス規模を指定する
CHECKALWAYS
String
(予約)
SED_CLK_FREQ 属性は ク ロ ッ ク 周波数の指定に使用 さ れます。 SEDFA プ リ ミ テ ィ ブは、 ク ロ ッ ク 源 と し て
MachXO2 内部オシ レー タ を使用 し ます。 表 1-3 に使用可能な設定を示 し ます。 こ の表に示 し た以外の値を使
用 し た場合、 ソ フ ト ウ ェ アはエ ラ ー メ ッ セージ を表示 し 、 MAP プ ロ セ ス を終了 し ます。
DEV_DENSITY 属 性 は MachXO2 シ ミ ュ レ ー シ ョ ン モ デ ル の デ バ イ ス 規 模 の 指定 に 使 用 さ れ ま す。
DEV_DENSITY 属性を指定 し なか っ た場合は、 デフ ォ ル ト 値の 1200L が使用 さ れます。 DEV_DENSITY 属性に
指定可能な値は次の と お り です。
256L, 640L, 1200L, 2000L, 4000L, 7000L, 640U, 1200U, ま たは 2000U
現時点で CHECKALWAYS 属性には対応 し てい ません。
ポー ト 説明
SEDENABLE
SEDENABLE はレベルセ ン シテ ィ ブ信号で、 High の と き は SED が イ ネーブルにな り ます。 こ の信号が Low に
な る と 、SED ハー ド ウ ェ アがデ ィ セーブル さ れます。必要であれば、設計内で High に固定す る こ と も で き ます。
SEDSTART
SEDSTART は SED プ ロ セ ス を開始す る 信号です。 SEDENABLE が High の場合、 SEDSTART 信号の立ち上が
り エ ッ ジで SED サ イ ク ルが開始 さ れます。 SEDSTART 信号は、 SED プ ロ セ ス が完了す る ま で High にな っ て
い る 必要があ り ます。 SED サ イ ク ル中に SEDSTART が Low にな る と 、 SEDDONE ま たは SEDERR を アサー ト
す る こ と な く プ ロ セ ス が終了 し ます。
SEDFRCERR
SEDFRCERR は SEDERR 信号でエ ラ ー表示を返す よ う 、 SED プ ロ セ ス を強制設定す る ために使用 さ れます。
通常は、 SEDERR 出力に関連す る ロ ジ ッ ク のテ ス ト に使用 さ れます。 SEDFRCERR 信号の立ち上が り エ ッ ジ
は、 SED ハー ド ウ ェ アで検出 さ れ、 SED ク ロ ッ ク ド ラ イ バ信号の立ち上が り エ ッ ジで ラ ッ チ さ れ ます。 エ
ラ ー表示を返すためには、SED がア ク テ ィ ブの間、SEDFRCERR が High に ラ ッ チ さ れてい る 必要があ り ます。
推奨す る 使用法は、 SEDINPROG 信号の立ち上が り エ ッ ジが検出 さ れた と き に、 セ ッ ト ア ッ プ ・ ホール ド 時
間要件を満た し なが ら 図 1-5 に示す よ う にユーザ ロ ジ ッ ク で SEDFRCERR 信号を Low か ら High に ド ラ イ ブ
す る こ と です。
SEDSTDBY
SEDSTDBY ポー ト は SEDFA プ リ ミ テ ィ ブのみにあ り 、 OSCH コ ン ポーネ ン ト の SEDSTDBY 出力ポー ト に接
続 さ れてい る 必要があ り ます。 こ の信号は STDBY 機能のシ ミ ュ レーシ ョ ンサポー ト 用に用意 さ れ、 内部オ
シ レー タ をオ フす る ために使用 さ れます。 STDBY 機能に よ っ て内部オシ レー タ がオ フ さ れ る と 、 ク ロ ッ ク 源
がオ フ さ れ る ため、 SEDFA ブ ロ ッ ク は動作 し な く な り ます。 ユーザが SEDFA の こ の信号を接続 し なか っ た
場合で も 、 SED はハー ド ウ ェ ア的に同 じ 動作 と な り ますが、 STDBY を使用 し た場合 と はシ ミ ュ レーシ ョ ン結
果が一致 し ない こ と があ り ます。
SEDCLKOUT
SEDCLKOUT は SED ブ ロ ッ ク への SED ク ロ ッ ク ド ラ イ バ信号の、 ゲー ト 付 き バージ ョ ンです。SEDCLKOUT
は SEDENABLE でゲー ト 処理 さ れます。 こ の信号は、 SED ブ ロ ッ ク への入力、 ま たは SED ブ ロ ッ ク か ら の出
力の同期に使用 さ れます。
1-5
TN1206J_01.9
MachXO2
SRAM CRC エ ラ ー検出マ ク ロ使用ガ イ ド
SEDDONE
SEDDONE は SED チ ェ ッ ク のサ イ ク ル完了を示す出力です。こ の信号は SED ハー ド ウ ェ アのア ク テ ィ ブ High
出力であ り 、 SEDCLKOUT の立ち上が り エ ッ ジで ク ロ ッ ク さ れます。 SEDDONE は SEDSTART 信号が Low に
な る と リ セ ッ ト さ れます。
SEDINPROG
SEDINPROG は SED チ ェ ッ ク の実行中を示す出力です。 こ の信号は SED ハー ド ウ ェ アのア ク テ ィ ブ High 出
力であ り 、 SEDCLKOUT の立ち上が り エ ッ ジで ク ロ ッ ク さ れます。 SEDINPROG は SEDSTART が High にな る
と 、 図 1-5 に示す遅延後に High にな り ます。
SEDERR
SEDERR は SED チ ェ ッ ク のサ イ ク ルが完了 し 、 エ ラ ーがあ っ た こ と を示す出力です。 こ の信号は SED ハー ド
ウ ェ アのア ク テ ィ ブ High 出力であ り 、 SEDCLKOUT の立ち上が り エ ッ ジで ク ロ ッ ク さ れます。 SEDERR は
SEDSTART 信号が Low にな る と 、 図 1-5 に示す遅延後に リ セ ッ ト さ れます。
SED フ ロ ー
一般的な SED フ ロ ーは、 次の よ う にな り ます。
1. ユーザ ロ ジ ッ ク が SEDENABLE を High にす る 。 必要に応 じ て こ の信号は High に固定 さ れ る
2. ユーザ ロ ジ ッ ク が SEDSTART を High に し 、 SED サ イ ク ルの実行中 High に保つ。 SEDINPROG が
High にな る 。 SEDDONE ま たは SEDERR が既に High にな っ ていた場合は Low に ド ラ イ ブ さ れ る
3. SED が、 コ ン フ ィ グ レーシ ョ ン SRAM か ら のデー タ リ ー ド を開始す る
4. SED がチ ェ ッ ク を終了す る 。 SEDERR が更新 さ れ、 SEDINPROG が Low にな り 、 SEDDONE が High
にな る 。 別の SED サ イ ク ルが開始 さ れ る と 、 SEDERR 信号が リ セ ッ ト さ れ る
5. SEDERR が High に ド ラ イ ブ さ れてい る 場合は、 PLD を再 コ ン フ ィ グ レーシ ョ ンす る と リ セ ッ ト で き
る
6. ユーザの指定に応 じ て SEDENABLE が Low にな り 、 SED が使用 さ れな く な る
エ ラ ー検出時の望ま し い動作は、 PLD を再 コ ン フ ィ グ レーシ ョ ンす る こ と です (日本語注1)。 再 コ ン フ ィ グ
レ ーシ ョ ン は、 PROGRAMN ピ ン を Low に ド ラ イ ブす る と 行われ ま す。 こ れは、 外部的に GPIO ピ ン を
PROGRAMN に接続す る と 実現で き ます。
1. 日本語注:自動的に無条件で再コンフィグレーションすることは推奨しない。図 16-4 はあくまで一例
として示す意図である。望ましい動作はシステム要件・システム設計に依存する。
1-6
TN1206J_01.9
MachXO2
SRAM CRC エ ラ ー検出マ ク ロ使用ガ イ ド
図 1-4. 回路例
VCC
MachXO2
10K
PROGRAMN
1 Ohm
GPIO
Open Drain
Output
Note: The 1 Ohm resistor shown allows a user to recover from a bad program
which always pulls the GPIO pin low in the MachXO2 device. If this type of pattern
is loaded into the MachXO2, the device will always be held in the re-configuration
state and is not able to communicate or be erased to clear the error condition.
To recover from this condition, remove the resistor and reprogram the device,
then replace resistor.
SED 動作の タ イ ミ ン グ図
図 1-5. SED 動作の タ イ ミ ン グ図
SEDENABLE
tEN_MIN
tST_HMIN
tST_LMIN
SEDSTART
tIPDEL
tINPROG_TYP
SEDINPROG
tFEHOLD_MIN
tFESETUP_MIN
tERROUT
tFE_MIN
tOUT_CLR
SEDFRCERR
SEDERR
tDONE_SET
SEDDONE
こ こ で、 図中のパ ラ メ ー タ は以下の通 り です。
パラ メ ー タ
値
単位
0
SEDCLK
tIPDEL
2
SEDCLK
tFEHOLD_MIN
92
SEDCLK
tFESETUP_MIN
5
SEDCLK
tFE_MIN
2
SEDCLK
tERROUT
1
SEDCLK
tST_HMIN
0
SEDCLK
tST_LMIN
1
SEDCLK
tOUT_CLR
2
SEDCLK
tDONE_SET
0
SEDCLK
tEN_MIN
1-7
TN1206J_01.9
MachXO2
SRAM CRC エ ラ ー検出マ ク ロ使用ガ イ ド
SED の実行時間
SED チ ェ ッ ク の実行に必要な時間は、 デバ イ ス の規模 と 、 SED ク ロ ッ ク ド ラ イ バ信号の周波数に よ っ て異な
り ま す。 ま た、 計算のためのオーバーヘ ッ ド 時間 も あ る 程度かか り ま すが、 相対的には非常に短時間です。
必要な時間は、 次の式を使用 し て概算で き ます。
(最大ビ ッ ト 数 / 8) / SED ク ロ ッ ク ド ラ イ バ周波数 = 時間 (ms)
最大ビ ッ ト 数は Kbits 単位で表 し 、 PLD の規模に よ っ て異な り ます (表 1-4 参照)。 SED ク ロ ッ ク ド ラ イ バ信
号周波数は MHz 単位で表 し ます。 時間は ミ リ 秒単位です。 MachXO2 デバ イ ス の SED チ ェ ッ ク では、 SED サ
イ ク ルご と に 8 ビ ッ ト (1 バ イ ト ) が リ ー ド さ れます。
た と えば、 4,000 LUT の MachXO2 を使用 し た設計で、 SED ク ロ ッ ク ド ラ イ バ周波数が 7MHz の場合は、 次の
よ う にな り ます。
(972 KBits / 8) / 7.0 MHz = 17.4 ms
こ の例では、 SED チ ェ ッ ク に約 17.4ms 要 し ます。
SED ク ロ ッ ク ド ラ イ バ信号の生成には内部オシ レー タ が使用 さ れますが、その周波数は ±5.5% の変動があ る
こ と に注意 し て く だ さ い。
表 1-4. SED の実行時間
XO2256
XO2640
XO2-640U
XO21200
XO21200U
XO22000
XO22000U
XO24000
XO27000
規模 1
94K
191K
360K
360K
535K
535K
972K
972K
1534K
単位
33.3 MHz
0.35
0.72
1.35
1.35
2.00
2.00
3.64
3.64
5.75
ms
3.05 MHz
3.84
7.82
14.8
14.8
21.9
21.9
39.9
39.9
62.9
ms
1. 規模とはデバイス内のコンフィグレーション用ビット数を示す
記述例
次の簡単な RTL 記述例は、 SED プ リ ミ テ ィ ブの初期化方法を示 し てい ます。 こ の例では、 SRAM CRC 検出が
常に イ ネーブル と な り 、 "sed_start" 信号が High に ド ラ イ ブ さ れ る と 実行 さ れます。 SED ハー ド ウ ェ アの出力
は、PLD 出力ピ ンに送出で き 、別のモジ ュ ールで使用す る こ と も で き ます。SADFA プ リ ミ テ ィ ブは、ispLEVER
8.1 SP1 以降及び Diamond 1.1 以降に含まれてい ます。
SEDVHDL 記述例
VHDL SEDFA
COMPONENT SEDFA
GENERIC(
SED_CLK_FREQ : string := "3.5";
CHECKALWAYS : string := "DISABLED";
DEV_DENSITY
: string := "1200L");
--"256L","640L","1200L","2000L","4000L","7000L", "640U", "1200U", "2000U"
PORT(
SEDENABLE
SEDSTART
SEDFRCERR
SEDSTDBY
:
:
:
:
in
in
in
in
STD_LOGIC;
STD_LOGIC;
STD_LOGIC;
STD_LOGIC;
1-8
TN1206J_01.9
MachXO2
SRAM CRC エ ラ ー検出マ ク ロ使用ガ イ ド
SEDERR
SEDDONE
SEDINPROG
SEDCLKOUT
END COMPONENT;
attribute
attribute
attribute
attribute
attribute
attribute
:
:
:
:
out
out
out
out
STD_LOGIC;
STD_LOGIC;
STD_LOGIC;
STD_LOGIC);
SED_CLK_FREQ : string ;
SED_CLK_FREQ of SEDinst0 : label is "13.30";
CHECKALWAYS : string ;
CHECKALWAYS of SEDinst0 : label is "DISABLED" ;
DEV_DENSITY : string ;
DEV_DENSITY of SEDinst0 : label is "1200L" ;
SEDinst0: SEDFA
-- synthesis translate_off
GENERIC MAP ( SED_CLK_FREQ => “13.30”;
CHECKALWAYS => "DISABLED" ;
DEV_DENSITY => "1200L" )
-- synthesis translate_on
PORT MAP (SEDENABLE => '1',
SEDSTART => sed_start,
SEDFRCERR => '0',
SEDSTDBY => sed_stdby,
SEDERR => sed_err,
SEDDONE => sed_done,
SEDINPROG => sed_active,
SEDCLKOUT => sed_clkout);
SED Verilog 記述例
Verilog SEDFA
module SEDFA (SEDENABLE, SEDSTART, SEDFRCERR, SEDSTDBY, SEDERR, SEDDONE, SEDINPROG,
SEDCLKOUT);
input
output
SEDENABLE, SEDSTART, SEDFRCERR, SEDSTDBY;
SEDERR, SEDDONE, SEDINPROG, SEDCLKOUT;
parameter SED_CLK_FREQ = "3.5";
parameter CHECKALWAYS = "DISABLED";
parameter DEV_DENSITY = "1200L";
//"256L","640L","1200L","2000L","4000L","7000L","640U", "1200U", and "2000U"
endmodule
Verilog SEDFA プ リ ミ テ ィ ブ ・ イ ン ス タ ン ス
// instantiate SEDFA primitive module with parameter passing to SEDFA module
SEDFA # (.SED_CLK_FREQ("4.75"), .DEV_DENSITY("1200L"))
sedfa_tst (.SEDENABLE(1'b1), .SEDSTART(sed_start), .SEDFRCERR(1'b0), .SEDSTDBY(),
1-9
TN1206J_01.9
MachXO2
SRAM CRC エ ラ ー検出マ ク ロ使用ガ イ ド
.SEDERR(sed_err),
OUT(sed_clkout) );
.SEDDONE(sed_done),
.SEDINPROG(sed_active),
.SEDCLK-
テ ク ニ カルサポー ト 支援
ホ ッ ト ラ イ ン :1-800-LATTICE ( 北米 )
+1-503-268-8001 ( 北米以外 )
e-mail: [email protected]
イ ン タ ーネ ッ ト :www.latticesemi.com
日本語版変更履歴
日付
バージ ョ ン
新ページ
2011 年 8 月
01.4
-
2012 年 8 月
01.6
2, 3
2013 年 2 月
2013 年 12 月
01.8
1.9
変更内容
初版
ロ ゴ更新
検出制限の節 と 動作モー ド の節を追記更新
-
”SRAM CRC エ ラ ー検出 ” --> ”SED” に更新。 章番号を 16-->1
1
図 1-1 差 し 替え
2
”SED の制約 ” 節、 お よ び ”SED 動作モー ド ” 節、 それぞれ更新
5
SEDSTART 項、 記述一部削除
6
”SED フ ロ ー ” 節、 項番 2 削除
7
”SED 動作 タ イ ミ ン グ ” 節 と 図 1-5 タ イ ミ ン グ、 お よ び表追加
5
SEDFRCERR 信号記述一部更新
6
SEDINPROG、 SEDERR 信号記述一部更新
1-10
TN1206J_01.9