以下のVerilog記述についてどの様な記述が一般的か教えてほしい
のですが?
QuartusIIにて合成を行っているのですが、
「Can't resolve multiple constant drive for net ****」の
エラーメッセージが発生します。
記述は以下の様なもので、別々のクロックでalways内から同じ変数
に代入しています。これが問題の様ですが、これを回避するための
一般的な処理方法はどの様にすればよいのでしょうか?
Verilog初心者で、この様な処理自体がナンセンスなのかもしれません
が、どなたか分かる方御願い致します。
【抜粋のため分かり難いですが記述内容は以下の様なもの】
always@(posedge clkB)
begin
:
ClrV<= 1'b1;
:
end
always@(posedge clkA)
begin
:
if(ClrV)
ClrV<= 1'b0;
:
end
以上
No.1ベストアンサー
- 回答日時:
通常HDL言語ではこのような利用方法はできないのではないでしょうか。
ハードウエア記述言語ですから、質問の回路をイメージすると
clkBで記述された回路がIC1、
clkAで記述された回路がIC2、
と考えると、IC1のなかでIC2の中の回路を直接変更し
するような回路になりますよね。(逆もまた真なりですが)
そもそもどういう状況でこういう記述がしたいか、なのですが
たぶん、考え方を変える必要があるのだとおもいます。
おそらくはワンショットパルスのような感じなのでしょうか。
それにしても複数シグナルのエッジで処理する必要はなさそうですよね。
仮にそうだとすればリセット付き回路にでもすればすみそうですね。
clkAで
ClrV<= 1'b0;
としている信号を別の信号名に変えて、clkBのほうにこの信号をリセット
入力としていれてしまえばよさそうです。
とにかく、HDLはハード記述言語ですから、マイコン用言語はちがう
思想をもちこまないとうまくいかないものもおおいとおもいます。
簡単な回路であれば、上述の方法ですませられるでしょうし、すこし
込み入ってくる可能性があるのであればステートマシンを構成して
しまったほうがわかりやすいかもしれません。
誠に有難う御座いました。
記述方法として、ご指摘の内容も検討したのですが、我流で、一般的なのかどうか分からず考え込んでいました。
また、「マイコン用言語はちがう思想・・・」という言葉には
鋭いものを感じました。
確かにVerilog言語は今回が初めてで、Windowsアプリを主に行っておりましたので、その感覚で記述していました。
おかげ様で、少しイメージできたと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) .htaccessファイルの修正がこれで問題ないかどうか 1 2022/04/21 08:42
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- 英語 描写述語の条件(本来の性質、一時的な属性、又は両方)について 2 2022/07/25 13:41
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- 弁護士・行政書士・司法書士・社会保険労務士 記述対策について 1 2022/09/19 20:51
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- その他(ブラウザ) webサイトに表示する画像の向きを変える(左右に回す)方法 3 2023/01/20 08:28
- 英語 関係代名詞"what"を使うことが出来るにもかかわらず、使わない場合の効果、ニュアンス等について 8 2022/06/12 14:44
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
vbaとc言語の関連性について
-
VBSとWSHは読み方が違うだけで...
-
COBOLでのNOT = の AND条件
-
プログラムに書かれる"%"記号の...
-
Pythonって何を意識した言語な...
-
VBSでDim、Private、Publicの違い
-
Excel VBAで文字化けする (英語...
-
何故行番号つきのBASICは...
-
COBOLで文字タイプを数字...
-
C++における継続行
-
if文がbegin - endな訳は?
-
C言語とhtmlの違いを どな...
-
プログラミングをしてHPを作成...
-
楽しくて最高のプログラミング...
-
C#とC++とJavaが学べる書籍につ...
-
C言語 解答について。
-
C/C++でマウスのクリックとホイ...
-
VCとVC++
-
プログラムからアイコンファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
楽しくて最高のプログラミング...
-
Pythonって何を意識した言語な...
-
C言語とhtmlの違いを どな...
-
プログラムに書かれる"%"記号の...
-
COBOLでのNOT = の AND条件
-
C++ ってなんて読む?
-
質問失礼します。 プログラム言...
-
プログラミング言語の制作方法...
-
UNITY Float型の接尾辞fって
-
C言語って古いですか?
-
Int('1234') で、strをかんたん...
-
COBOLで文字タイプを数字...
-
TO_CHARで小数点以下がある場合...
-
最新のプログラム言語を学ぶに...
-
C++における継続行
-
vbaとc言語の関連性について
-
VBScriptで引数を省略したい場合
-
VBSでDim、Private、Publicの違い
-
HTMLとC++で、どんなホームペー...
おすすめ情報