デバイス・ハンドブックで 2-Port RAM の動作波形を確認するとリード・アドレス(rdaddress)確定後 1クロック・サイクルでデータ(q)が出力されているようになっています。シミュレーションをすると 2クロックサイクル後にデータが出力されるのですが、どちらが正しい動作ですか?
シミュレーション
カテゴリ:仕様
ツール:Quartus® Prime
デバイス:Arria® 10
ハンドブックの動作波形とシミュレーションの違いは、RAM の設定の違いによるものです。
ハンドブックの動作波形は、RAM 設定の「Reg/Clkens/Aclrs」タブ ⇒ Output Registers の q_b port にチェックが入っていない場合の波形です。
チェックを外すことによって、ハンドブックの波形と同様の動作となります。
https://www.altera.com/en_US/pdfs/literature/hb/arria-10/a10_handbook.pdf
(Mixed-Port Read-During-Write: Old Data Mode で検索してください。)