問題タブ [verilog]
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 で自動キーワードを使用してタスクを宣言するとはどういう意味ですか?
注: この質問の主な理由は、サイトにハードウェア プログラマーがいるかどうか知りたいからです。:)
logic - Verilog での 4 対 1 関数の効率的な合成
Veriog で 4 対 1 の関数を実装する必要があります。入力は 4 ビットで、0 ~ 15 の数値です。出力は 0 または 1 の単一ビットです。各入力は異なる出力を提供し、入力から出力へのマッピングは既知ですが、入力と出力自体は不明です。私はVCがコードをうまく最適化し、できるだけ短く/きちんとしたものにしたいと思っています。これまでの私の解決策:
c を宣言しなければならないのは見苦しく、vcs がそこで K マップを認識するかどうかはわかりません。これは、case ステートメントや接続法標準形の代入と同様に機能しますか?
verilog - 階層を Verilog モジュールに渡す
現在、内部でグローバル階層を使用している「ウォッチャー」モジュールがあります。これの 2 番目のインスタンスを 2 番目のグローバル階層でインスタンス化する必要があります。
現在:
希望:
私の最善のアイデアは、vpp (Verilog プリプロセッサ) を使用して、実質的に同一の 2 つのモジュール (各階層に 1 つ) を力ずくで生成することですが、もっと洗練された方法はありますか?
coding-style - リンターの書き方は?
私の日常の仕事では、私と私のチームの他のメンバーは、Verilog-AMS で多くのハードウェア モデルを作成しています。Verilog-AMS は、主に商用ベンダーといくつかのオープンソース シミュレーター プロジェクトによってサポートされている言語です。相互のコードのサポートをより便利にする 1 つの方法は、共通の問題についてコードをチェックし、共有コードの書式設定スタイルの適用を支援する LINTER です。もちろん、私は独自のルールを追加できるようにしたいと考えています。その有用性を自分自身で証明した後、それをチームの他のメンバーに昇格させたいと思っています。他の既存プロジェクトの成果を活用したい。
yacc または bison 形式で許可された言語構文を使用すると、有利になりますか? それとも、各言語ステートメントを perl 文字列に吸い込み、パターン マッチングを使用して気に入らないものを見つける必要がありますか?
(ほとんどの構文エラーとコンパイル エラーは、商用ツールで簡単に検出できます。ただし、独自の拡張機能がいくつかあります。)
linux - 複数のプラットフォーム、コンパイル オプション用のプリコンパイル済みソフトウェアへのリンクをサポートするためにライブラリをセットアップする最良の方法は何ですか
サードパーティの実行可能ファイルにリンクする必要があるコンパイル済みオブジェクトを含むライブラリを維持しています。実行可能ファイルが Solaris 用にコンパイルされている場合もあれば、32 ビット Linux アプリケーションとしてコンパイルされている場合もあれば、64 ビット Linux アプリケーションとしてコンパイルされている場合もあります。私がやりたいのは、ライブラリに 1 つの「パス」を渡し、アプリケーションが自動的にライブラリの適切なフレーバーを取得するようにすることです。Linux でのみ動作する場合は問題ないので、OS の観点からパスを定義するだけで済みます。
この特定のケースは、verilog シミュレータにリンクしたい PLI/VPI 関数のライブラリ用です。
私が今持っているのは
フレーバーは
フレーバーは OS によって異なります。Linux の場合、64 ビット プラットフォームで実行している場合は、実行しているプログラムのバージョン 32/64 ビットによっても異なります。私はより良い方法を探しています..
embedded - HDLはどこから始めればよいですか?
私は独学の組み込み開発者です。私は主にCとASMでプログラムされたAVRを使用していますが、他のシステムに手を出しています。CPLDやFPGAなどのより複雑なデバイスに移行したいと考えていますが、どこから始めればよいのかわかりません。だから私の1.5の質問は次のとおりです。
- VHDLとVerilogのどちらが好きですか。その理由は何ですか。
- HDLの経験がない人にとって、そのような獣の学習を始めるための良い方法は何ですか?
verilog - Verilog で数値を 2 の補数に変換するにはどうすればよいですか?
Verilog で 4 ビット加算減算器を設計しようとしています。これは私が Verilog で書いたのは 2 番目に過ぎず、正しい構文をまだすべて知っているわけではありません。これは私がこれまで持っているモジュールです:
私のコンパイラ (ザイリンクス 10.1) は、「if の近くで構文エラー」と言い続けます。Y を引数として取り、考えられるすべての 4 ビットの組み合わせをチェックして、それらを 2 の補数に変換する Case を使用するなど、さまざまな変換方法を試しました。
Z は、加算器が減算または加算を行うかどうかを決定するものです。0 の場合は減算を意味し、y を 2 の補数に変換したいので、通常の加算を行います。加算器の残りの部分は正しいと確信していますが、変換しようとしている部分の何が問題なのかわかりません。
verilog - ハードウェア記述言語 (Verilog、VHDL など) のベスト プラクティスは何ですか?
HDL コードを実装する際に守るべきベスト プラクティスは何ですか?
より一般的なソフトウェア開発分野と比較した場合の共通点と相違点は何ですか?
microcontroller - マイクロコントローラ + Verilog/VHDL シミュレータ?
長年にわたり、私は多数のマイクロコントローラー ベースのプロジェクトに取り組んできました。主に Microchip の PIC を使用しています。私はさまざまなマイクロコントローラー シミュレーターを使用してきました。実際には、マイクロコントローラーが単独で存在することはなく、ファームウェアの動作は環境に依存します。ただし、私が使用した sim はどれも、マイクロコントローラー以外のものに対してまともなサポートを提供していません。
最初に考えたのは、ボード全体を Verilog でモデル化することでした。しかし、CPU モデル全体を作成したくはありません。また、私が使用しているチップの既存のモデルを見つけることができませんでした。とにかく、その詳細レベルで proc をシミュレートする必要はありませんし、したくもありません。また、通常のプロセッサ sim が提供するデバッグ機能を保持したいと考えています。
理想的なソリューションは、従来のプロセッサ シミュレータと Verilog モデルを接続するハイブリッド シミュレータであると思われます。
そのようなものは存在しますか?
verilog - 動的にプラグ可能なモジュールを VHDL で実行できますか?
C (組み込み) では、モジュールをロードできる関数ポインター テーブルとアドレス範囲を定義することで、プラグインを実装できます。
これには、領域を割り当てて関数テーブルの場所を定義するリンカー ディレクティブが必要です。
HDL / VHDL または Verilog にも同様のメカニズムはありますか。
私が考えているのは、FPGA 内のゲートのブロックを拡張機能用に定義し、インターフェイスするポートを定義し、後でこのブロックにロジックをロードして特定の操作を実行できるようにすることだと思います。
FPGA はプラグインが配信される通信システムの一部であるため、これは実行時に行う必要があります。