FPGAチップ内の配線方法

XilinxのFPGAについての雑感
(Placer Cost Table(Place & Routeのプロパティの中)を変更したことによるインプリメント結果の変化)
今日の教訓
(出力用レジスタをIOB(Input Output Block)入れるための条件)
Re: FPGAでディレイ >>>保証なし
(FPGAの内部遅延をTiming Analyzerの解析結果と実測値から考察)
クロック用パッドとBUFGの関係
(再度コンパイルすると、CLK入力からBUFGMUXまでの経路がぜんぜん違ってしまうことがあるので注意、FPGA Editorの図とかで説明)
BUFGMUXの配置方法
(グローバルクロック配線がかち合わないように自分でBUFGMUXをフロアプランする方法。Virex2でクロックを十数個使う場合は、Placerにお任せではうまくBUFGMUXを配置してくれない場合があるようだ。)
Virtex2, Virtex2proのIOBのクロック配線の制約
(これを考慮しないと後で泣きを見ます。どこかの大手代理店も考慮をしなかったため、DDRのDMが使用不能になったこともあるそうです)
DDR SDRAMのDQS信号でデータをサンプルする方法1
(DDR SDRAMのデータをFPGAで受け取る場合に、DQSをクロックとして受け取る方法を行うときに、DQSをグローバルクロックを使用しないで受ける)
クロックを遅延する方法
(グローバルバッファに入る前にクロックを内部の論理素子で遅延する方法。MUXF5プリミティブやLUT3プリミティブを使用)
Spartan3Eの入力用プログラマブル遅延素子
(Spartan3Eの入力用プログラマブル遅延素子のうちIOB内蔵のFF用の遅延素子について考察。 IFD_DELAY_VALUE を変更して各タップの遅延量を Timing Analyzer で確認)
Spartan3Eの入力用プログラマブル遅延素子2
(Spartan3Eの入力用プログラマブル遅延素子のうちIOBの外への出力信号の遅延素子について考察。 IBUF_DELAY_VALUE を変更して各タップの遅延量を Timing Analyzer で確認)
Spartan3Eの入力用プログラマブル遅延素子(おまけ)
(Spartan3Eの入力用プログラマブル遅延素子(おまけ)はDCMを使ってインプリメントしてみた。 )
DCMを使わないクロックを使いIOB内のFFでデータを受ける
(DCMを使わないクロックを使いIOB内のFFでデータを受けたときの入力端子のセットアップ時間について)
IBUFDSからDCMまでの配線(Virtex2, Spartan3シリーズ編)
(IBUFDSで受けている信号を4つのDCMの入力に分配する方法。)
Spartan3Aのプログラマブル遅延素子1
(Spartan3Aのプログラム遅延素子について、IBUF_DLY_ADJを使ったVerilogコードを使って検証)
Spartan3Aのプログラマブル遅延素子2
(IBUF_DLY_ADJプリミティブを使用して、IBUF_DELAYのディレイ値をTiming Analyzerで計測)
Spartan3Aのプログラマブル遅延素子3
(IOBパッド内のFFへの遅延であるIFD_DELAYの値を調べてみた)
 Verilog HDLでの初期化の推論
Xilinx社で行われたSpartan-6ファミリ デザイン セミナで、XSTのみHDLでの初期化の推論ができると聞いてきた。Synplfyではどうかと思ってやってみた。使用したのは訳あって ISE10.1.03とSynplify Pro 9.6.2。使用したFPGAはSpartan-3E1200(xc3s1200e-fg320)。
 DCMカスケード接続の罠(CLKDV編)2(解決編)
DCMカスケード接続の罠(CLKDV編)” で、DCMをカスケードする場合に1番目のDCMのLOCKED信号を反転して3クロック遅延して、2番目のDCMのリセットに入れる必要があることを学 んだ。しかし、そのVHDLコードを書いて置かなかったので、備忘録として書いておく。(シミュレータはISE13.1のISim、FPGAは Virtex-5, xc5vlx110t-1ff1136使用)


他のカテゴリでの関連する情報
DDR2 SDRAMコントローラのインプリメントテスト(動作周波数の確保)
(動 作周波数を確保する方法1。IOBの出力用のDDRレジスタに入れるところで、組み合わせ回路を入れるとその組み合わせ回路分のディレイがクリティカルパ スになってしまった。解決方法としては、1クロック前の信号からとって、組み合わせ回路を作り、それを1クロック遅延するようにした)
DDR2 SDRAMコントローラのインプリメントテスト2(動作周波数の確保2)
(動作周波数を確保する方法2。、FF(フリップフロップ)が一番下で4つのファンアウトを持っていると、どうしてもルーティングが厳しくなるので、FFを複製してファンアウトを1にしてパスのディレイを低減する方法)
Virtex2PでCoregenのFWFT FIFOを生成してインプリメントしてみた
(Virtex2P(xc2vp50-6ff1152) でCoregenのFWFT FIFOを生成してインプリメントしてみた。FWFT FIFOはCommon Clock, Block RAM使用、First-Word Fall-Through (FWFT)モード。使用したISEは9.2i SP3, Synplify Pro 9.2。)
DCMを使わないクロックを使いIOB内のFFでデータを受ける2
(”DCMを使わないクロックを使いIOB内のFFでデータを受ける”でDCMを使わないクロックでのデータの受け方を練習したが、クロックを遅延させる方法はどうも危ない気がするし、違う方法を模索してみることにした。IOBDELAYを使用する)
”CMOSカメラから画像を入力してディスプレイへ出力”のSRAMのデータ出力イネーブル用FFをIOBへ入れる
(” CMOSカメラから画像を入力してディスプレイへ出力15(できた!!!)”でCMOSカメラからの画像をディスプレイに出力することができた。そこから 画像のいろいろなエッジ検出を試みてきた。今までは、動作周波数が低いので、あまりIOBにFFを入れるとか考慮していなかったので、やってみようと思っ た)
inserted by FC2 system