問題タブ [digital-design]
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.
verilog - Verilog モジュールの加算器出力の間違った値
Verilog で加算器のゲート レベルのコードを書きました。加算器の出力を以下に示します。ご覧のとおり、sum と cout は常に z です。どうしてか分かりません。不足しているものを確認できますか? 御時間ありがとうございます。
出力:
a = x、b = x、cin = x、summ = z、cout = z at time = 0
a = 0、b = 0、cin = 0、summ = z、cout = z at time = 10
a = 0、b = 1、cin = 0、summ = z、cout = z at time = 20
a = 1、b = 0、cin = 0、summ = z、cout = z at time = 30
a = 1、b = 1、cin = 0、summ = z、cout = z at time = 40
a = 0、b = 0、cin = 1、summ = z、cout = z at time = 50
a = 0、b = 1、cin = 1、summ = z、cout = z at time = 60
a = 1、b = 0、cin = 1、summ = z、cout = z at time = 70
a = 1、b = 1、cin = 1、summ = z、cout = z at time = 80
.
.
.
scheduling - SystemVerilog レジスタの設計競合の回避
systemverilog でデジタル設計を行っているときに、競合状態に関する問題に遭遇しました。
デザインを駆動するテストベンチ (これは変更できません) が、競合状態のためにデザイン内の特定のレジスタが正しく機能しないように入力を駆動します。
以下は、何が起こっているかを示す eda-playground の例です (入力は、クロックの「前」に 15ns で変化します)。
http://www.edaplayground.com/x/rWJ
設計 (この場合は単純なレジスタ) をこの特定の問題に耐性のあるものにする方法はありますか? 必要なのは、「out_data <= preponed(in_data);」のようなステートメントです。または、入力信号の変更の順序を無関係にする類似のもの。
SystemVerilog LRM の #1step について読んだことがありますが、それをどのように使用するか、この特定の問題に役立つかどうかはわかりません。