FC2カウンター FPGAの部屋 高速回路のHDLインプリメンテーション方法の考察
fc2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

高速回路のHDLインプリメンテーション方法の考察

DDR SDRAMコントローラを設計する上で、参考にしたアプリケーション・ノートがある。それがXilinxのxapp253だ。もうXilinxのサイトには載っていないが、グーグルのキャッシュがここにある。デザインファイルはここに残っている。
シミュレーションしてこれを調べた所、とてもよい出来だと思った。バンクをアクティブにした後、タイムアウトまでプリチャージしない様になっている。タイムアウト前に同じバンクへのアクセスが来たら、バンクがアクティブになっているので、レイテンシが短くなる。これを使ってもいいかなと思ったが、シミュレーションをしてみると、バグがあるようだ。2つくらい修正したが、どうもまだだめなので、自分で作りることにした。
構造を参考にしながら、オリジナルに作ったのだが、アプリ・ノートの回路に疑問があるところがあった。DQ,DQS,DMの信号が1本ずつモジュールとして書かれていたのだ。1本を8本とか4本にまとめていて、何でこんな面倒なことするのかな?と思っていた。まとめてインスタンスすれば良いのにと思っていた。実際自分ではfor generateでまとめてインスタンスした。
でも、今回のセミナを受けていた気がついた。1本ずつまとめ、8本単位にまとめれば、それごとにフロアプランでエリア制約をかけることが出来る。(エリア制約についてはこれを参照) データバスを64本(私のは32本じゃなくてDIMM用に64本に拡張してある)まとめると、フロアプランナーでは四角形しかエリア制約できないので、ロジックがばらけてしまう。これはタイミングにとっては不利になると思う。
さらに、私は書き込みと読み出しのモジュールを分けてしまった。これじゃ、タイリング状にフロアプランするしかないし、(IOBは読み書き両方)おまけにフロアプランナーじゃ出来ないので、PACEでやるしかない。それで、IOBの形でアプリ・ノートでは書いてあったのか。IOBの配置もチップの横に縦一列に並んでいて、データパス的に有利だ。
やはり、IOBに最適化できるように修正しよう。
  1. 2005年11月12日 08:36 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:2

コメント

少し休憩しませんか。
  1. 2005/11/12(土) 18:42:41 |
  2. URL |
  3. (゚∇^*) #-
  4. [ 編集 ]

いえいえ、走るのを止められないのです。レーゾンデートルのようなモンです。
  1. 2005/11/12(土) 19:44:21 |
  2. URL |
  3. marsee #-
  4. [ 編集 ]

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/64-57fa8c15
この記事にトラックバックする(FC2ブログユーザー)