ダイナミックリコンフィギュレーション

投稿者: n-furusima 日付: 2008年1月16日(水) 22:37

はじめまして、岡山在住の古島と申します。 DAPDNA-2のスタータキットを使用して実験をしております。

ダイナミックリコンフィギュレーションのシミュレーションについての質問です。 DAPDNA-FWIIユーザマニュアルにある、DNA制御プログラムの例(自律ダイナミックリコンフィギュレーションでない場合・全てのコンフィギュレーションをロードしておくとき)を参考にホールチップシミュレーションを行っています。 DNAの切替条件は while((dapdna_read(DNAISTR)&Event)!=Event){ ;} (“Event”は整数型で、イベント切替条件を格納) このように監視しているのですが、DNAISTRの値が、自分が設計したDNAコンフィギュレーションでは発生しえないイベントの値になり、コンフィギュレーションが切り替わる事があります。(LDBとSTBのイベントのみが発生するはずなのに、EXCのイベントが発生している事になっているなど) DNAISTRの値は切替毎(最初のコンフィギュレーションのロード時も)にクリアしています。

原因や解決方法など、どなたかアドバイスいただけると幸いです。

投稿者: iwao 日付: 2008年1月17日(木) 10:32

始めまして。日本システム開発)岩男と申します。

<原因の推測>——————————————

DNAコンフィグを作成~フィッティングを行なった後に、DD1ファイル等を開いて各PEの割り当て位置を参照してみて下さい。恐らく、位置(1,1,4)~(1,4,4)にPEが割り当てられているのではないでしょうか。

位置(1,1,4)~(1,4,4)のEXCは、Carry出力を割り込みで上げられる特殊なEXEです。しかし、フィッター任せで物理配置を行なうと、これらにもPE割り当てがされると思います。 →意図しないCarryが割り込みに用いられてしまいます。

<解決案>——————————————

DNA DesignerでDNAコンフィグを作成する際に、無処理のダミーEXEを4つ、位置(1,1,4)~(1,4,4)に指定配置しておくと、フィッターに勝手にそこに配置されなくなります。 置いているEXEが無処理(Carry出力無し)なので余計な割り込みも上がらないと思います。

他の方法として、見たくない割り込みbitはDNA割り込み許可レジスタ (DNAIMR)でマスクしてしまうというのはいかがでしょうか?(もし、割り込み値に対応した各種のコンフィグに自動遷移するような複雑な構成なのでしたら、安易にEXC割り込みをマスク出来ないのかもしれませんが)

投稿者: n-furusima 日付: 2008年1月24日(木) 11:14

大変丁寧な返答ありがとうございます。
岩男さんの仰るとおり、DD1ファイルを見たところ、割り込みを起こしていたEXCに割り当てがされていましたので、ダミーを配置したところ、余計な割り込みが起こらなくなりまりた。