フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
webadm | 投稿日時: 2006-12-2 12:37 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3068 |
何故2ビットなのか 原因を知ろうとModelSimのノードリストからgpio_inputを探そうとしたらgpio_input[1:0]しか合成されていなことが判明。
2ビットしか出ないはずだ。 しかしどこで2ビットだけにされてしまっているのか? RTL viewerで見るとちゃんと8ビット全部合成されている。 となるとFitterによって省かれてしまったことになる。 しかしレポートには8ビット全部生成されている。 すると2ビットしかないのはModelSim上だけということになる。 ModelSim用に生成されたVerilogソースを見るとtopのところでgpio_input_pinsが2本しか無いことになっている。 これか。 しかしこれはどこから来てるのだろう。 更に調べるとtop_timesim.vというPost-fitシミュレーション用のverilog netlistがオリジナルのままであることが判明。ネットリスト上でgpio_input_pinsが2本しかない。しかしその元になっているはずのtop.vはオリジナルからして8本になっている。ということはタイムスタンプに矛盾がある。 試しにtop.vのタイムスタンプを更新してみてtop_timesim.vが新しく生成されるか試してみる。 同じだった。 Post-Fit Simulation reportを見てみるとちゃんと新しいシミュレーション用のネットリストが生成されている。 Writing Verilog netlist file 'F:\Xilinx\i2c\netgen\fit\top_timesim.v' ... が場所が違う。思い出した、ちゃんとModelSimでPost-fitシミュレーションするにはnetgen\fitの中のtop_timesim.vをプロジェクトディレクトリにコピーしないとだめだったのだ。 今度はやっとgpio_input_pinsが8本になった、しかしシミュレーション結果はダメダメだった..orz 肝心のホストからの読み出しのところがほとんど出力が不定になってしまっている。この原因はまた後で調べよう。 |
フラット表示 | 前のトピック | 次のトピック |
投稿するにはまず登録を | |