私はVerilogプロジェクトを受け取りました。その中にキーコンポーネントが暗号化されています。SDCタイミングを記述すると、暗号化されたVerilogコードが生成されますか?
FPGAの性能は、ビルド環境とコンフィギュレーションによって異なります[注1]。これはタイミング制約が不十分であることが原因であると思われます[注2]。
TimeQuestタイミングアナライザでは、暗号化されたコア内のピン、ネット、レジスタ、ポートの名前を見ることができますが、実際のコードを見ることなく、それらの意味を正確にはわかりません。
このような状況でSDCタイミング制約を書き始めるにはどうすればよいですか?
注1:
成分はMIPI-CSI2 TXあります。テストRX側では、常にSoTエラー(SoTエラーと同期が達成されていません)と、時にはECCエラーが発生します。
しばらくの間、FPGA上で「動作」させるために、コードはWindowsマシン上に構築する必要があります。その後、コードに軽微で無関係の変更が加えられました。これは、Linuxマシン上で構築された場合には機能します。そして、最近、LinuxのビルドマシンはWindowsマシンよりも優れているようです。
また、最適化パラメータを変更すると、コードが非常に悪くなるようです。例えば。現時点では "バランス"モードのみが動作します。パフォーマンスを向上させる「パフォーマンス」モードと「アグレッシブなパフォーマンス」モードは、受信信号に多くのエラーを引き起こします。上り信号処理ブロックのメモリ内容もこのようにMIPI-CSI2 TXに影響します。
私は、SDCのタイミング制約によって完全には制約されていない不確実性があると思います。
注2:
私は完全にテスト信号に機器を持っていないので、完全にこの理論を検証することはできないんだけど、また暗号化されたコードがないので、私はゲートレベルのシミュレーションを行うことができますEDAネットリストを生成できません。
私は本当に "不完全なタイミング制約"を意味する間違った言語( "タイミング制約が不十分")を使用したと思います。私の場合、TXコアは暗号化されていますが、トップレベルのタイミング制約ファイルには制約がありません。私は間違っているかもしれないが、私はそれがまったく制約されているとは思わない。私はアルテラによってAN433を読んでいました。しかし、それは私に、クロックが最小/最大出力遅延を指定するために出力を供給している正確なノードを知る必要があるという印象を与えてくれます。 – user3528438
これでAltera Quartusはこのように進んでいます。 GUIでプロジェクトを開き、TimeQuestを使用することができます。タスクメニューでは、動作条件を設定する必要があります。どちらの温度でも問題ありません。これを行うにはいくつかの方法がありますが、レポートデータシートタスクを実行するというアイデアが得られます。レポートには、最小クロックから出力ピンまでのレポートのリストが表示されます。内部には、出力とその関連クロックの一覧が表示されます。うまくいけば助けてくれます。 –