問題タブ [e]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
specman - vr_ad でメッセージを繰り返さないようにするにはどうすればよいですか?
私の環境では、vr_ad からのメッセージが多すぎます。典型的な「邪魔」の例:
3 つの連続するメッセージ、すべてが 1 つのアクセスを通知する – アドレス 0x5 からの読み取り
[14] C_BUS: (info - Fetch) Fetch EX_CBUS_MAP vr_ad_map-@1, アドレス: 0x00000005
[14] C_BUS: (info - Fetch) Fetch XCORE vr_ad_reg_file-@2, アドレス: 0x00000005
[14] C_BUS: (info - Fetch) XCORE vr_ad_reg_file-@2 で EX_PROXY_REG vr_ad_reg-@7 を取得、addr 0x00000005、data 0x00000008
メッセージが多いのはなぜ?また、これらのメッセージを削除するにはどうすればよいですか?
vhdl - Specman-simulator 同期の問題?
ケイデンスのイーサネット eVC を使用しており、エージェントのモニターは次の信号でタップされます。
クロックの立ち上がりエッジと立ち下がりエッジでデータをサンプリングします。上記の例では、データ 0x07 はガベージ データであり、有効な値は 0xa (clk 立ち上がり) と 0xb (clk 立ち下がり) です。ただし、モニターは (clk フォールの場合) 0x7 をサンプリングしています。
これは、Specman とシミュレーターの同期の問題であると思われます。もしそうなら、これはどのように解決できますか?
- シミュレーター - IES 13.10
irun 13.10 のオプション - (ここでは、この問題に関係があると思われるものと、その目的が何なのかまだわからないもののみをここに含めます)
/li>言語 - VHDL (トップ テストベンチ)、Verilog (DUT)、Specman (仮想シーケンス、Enet および OCP eVC)
- 0x07 (上の波形の左 ^) からクロックの立ち下がりエッジ (右 ^) までの時間 = 0.098ns
同僚の 1 人が を使用することを提案し-sntimescale
ましたが、それがどのように問題を引き起こしているのか、または解決するのか、まだ想像できません。Cadence の記事「specman tick synchronization delta delay timescale precision」でさえ、これらの検索文字列のいずれも有用なヒントを示していませんでした。
specman - 矛盾するソフト制約の動作
動作が間違っているように見えるテストケースがあります。すべての世代でnum_of_red_shoesが高いことがわかりますが、より均等な分布が期待されます。この動作の原因は何ですか?どうすれば修正できますか?
生成結果:
specman - Specman では、determinant はその when サブタイプ属性によって制約されません
次に投稿する質問:
やあ、
次のテストケースがあります。
このテストでは BIG アイテムのみが生成されると予想していました。代わりに、ときどき小さな項目が生成され、矛盾につながることがわかります。この動作の説明は何ですか?
specman - リスト サイズのソフト制約は無視されます。なぜ?
Specman はリスト サイズの制約を無視しているようです。この動作に説明はありますか?
私はこのコードを持っています:
私のテストでは、次の制約があります。
しかし、まだ空のリストが表示されます。何故ですか?後のソフト制約が保持されることを期待していました。
specman - Specman: リストの順序を考慮して、バイトのリストが別のリストに存在するかどうかを調べる方法
タイプバイトのリストであるペイロードがあります:
リストが別のリストのサブリストであるかどうかをチェックするコードを実装したいと思います。「if ..in..」の使用は、アイテムの順序や連続して表示されるかどうかを考慮していないため、うまく機能しません。次のことを行うものが欲しい:
if (item1 in payload) ...... は TRUE を返す必要があります。アイテムはペイロードに同じ順序で存在します。
if (item2 in payload) ...... は FALSE を返す必要があります。これは、リスト内の各要素がペイロードに存在しますが、item2 要素がペイロード リストに連続して表示されないためです。
これを達成する簡単な方法はありますか?これには、specman に組み込み関数が必要です。
ありがとう
events - Specman E エラー: change|fall|rise の引数は (短い) スカラーでなければなりません
長さの単純なポートを持つ既存の検証環境がありますLEN
。さらに、関連するポートのビットの 1 つだけが立ち上がったときに発生するイベントがあります。
*** それぞれが独自のものを持っている多くのモニターがidx
ありevent_a
ますevent_b
。
問題は、define を 64 に変更する必要がありLEN
、Specman が 64 ビットのバスでイベントを定義できないため、すべてのイベントが失敗することです (イベントは実際には 1 ビットでしか「見えない」にもかかわらず..)
この問題を回避する方法はありますか? 助けてくれてありがとう。