FPGAの部屋FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。DCMを使わないクロックを使いIOB内のFFでデータを受ける2”DCMを使わないクロックを使いIOB内のFFでデータを受ける”でDCMを使わないクロックでのデータの受け方を練習したが、クロックを遅延させる方法はどうも危ない気がするし、違う方法を模索してみることにした。ISE9.2.03とSynplify9.2、FPGAはVirtex2pだ。今どきVirtex2を使っている人は少ないと思うが、Spartan3にも適応できるので良いと思う。(もっとVirtex4などの方が簡単なのだが。)状況は、他にチップからのデータを向こうの受信クロックで受ける。チップが多いのでDCMは使用できない。クロックはBUFGMUXのみを通してFPGA内に供給している。それだけだと、制約をオーバーしたり、マイナスになることがよくある。それで、ちょうどうまくセットアップ時間を確保するにはどうすればよいかを探る。Analyzerのようにマイナスになってしまう。なるとホールド時間がきつくなってしまう。ばらつきを防止するために、Floorplannnerでデータの最初のFFの位置を全部固定した。パッドと最初のFFを割り当てるスライスの間が離れると配線の自由度が上がるので、値がばらつくだろうという考えのもとに、パッドからなるべく近くのスライスに配線した。これでインプリメントしてみた。するとデータ入力のセットアップ時間が同じような値でマイナスになった。これをプラスにするためにデータ入力のIOBDELAYを入れることにした。IOBDELAY=BOTH;これでインプリメントすると、セットアップ時間内にばらつきが少なくおさまった。Analyzer解析結果はこうなった。IOBDELAYを入れたので、入力パッドの遅延が増えている。次のFFまでのネットの遅延は減っている。総合的にちょうど良くなった。これでもう少し、セットアップ時間を増やしたいときにはFloorplannerで固定するFFの位置を離せば良いと思う。離すと遅延値がぶれてしまう可能性があると思うが。Editorで配線も固定する必要があるかもしれない。URLhttps://marsee101.blog.fc2.com/tb.php/821-cbc0bb40この記事にトラックバックする(FC2ブログユーザー)プロフィールAuthor:marseeFPGAの部屋へようこそ!FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。WEBブログデザイナ。