タグ付けされた質問 「vhdl」

VHDL(VHSIC(超高速集積回路)ハードウェア記述言語)は、フィールドプログラマブルゲートアレイや集積回路などのデジタルシステムを記述および設計するための電子設計自動化で使用されるハードウェア記述言語です。

9
FPGAの初心者プロジェクト?
ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答や相互作用を受け入れていません。 最初の大学のデジタルロジックデザインコースを修了して2週間です。最終的なプロジェクトはなく、退屈な期末試験です。 それで、好奇心旺盛な学生がするように、私は実際にFPGAが何であるか、そしてクラスでスプーンで供給されていたものを調べました。そして、簡単なFPGAプロジェクトを完成させることにしました。私はBasys2 Spartan-3E FPGAを使用しており、デジタルロジックとISEを使用してロジックゲートを押し広げていますが、VHDL / Verilogはわかりません(簡単にピックアップできると思います)。 初心者のためのプロジェクトのアイデアはありますか?私は多くの実験室でのデモンストレーションを行いましたが、それほど凝ったものはありません。
11 fpga  design  vhdl  verilog 

6
VHDLのFIR / IIRフィルターのコード例?
Spartan-3ボードでDSPを使い始めようとしています。私は古いマザーボードのチップを使用してAC97ボードを作成しましたが、これまでのところ、ADCを実行し、サンプルを1未満の数(ボリュームの減少)に乗算してからDACを実行しています。 次に、ローパスフィルター、ハイパスなどの基本的なDSP処理を実行したいと思います。しかし、数値表現について本当に混乱しています(整数?固定小数点?Q0.15?オーバーフローまたは飽和?)。 私が始めるには、実際の単純なフィルターのコード例が欲しいだけです。高効率、高速、またはそのようなものはありません。VHDLに実装された理論上のフィルターだけです。 私は探していましたが、理論式を見つけただけです-わかりません。理解できないのは、ADCから取得した署名付きの16ビット、48KHzオーディオサンプルを処理する方法です。私はこれらのライブラリを使用しています:http : //www.vhdl.org/fphdl/。サンプルに0.5、0.25などを掛けると、違いを聞くことができます。しかし、より大きなフィルターは私にただノイズを与えます。 ありがとう。
11 fpga  vhdl  dsp  iir  fir 

3
合成可能なRTLの「デザインパターン」はありますか?
ソフトウェアについては、本「Design Patterns」はソフトウェアで一般的なことを行うための一連のパターンであり、ソフトウェアの専門家が作成する必要があるコンポーネントのいくつかを説明するための一般的な用語を提供します。 そのような本またはリソースは、一般的に合成可能なRTLまたはRTL用に存在しますか?一般的な落とし穴、設計のトレードオフ、デッドロックの考慮事項、インターフェース設計などです。

4
下位モジュールの内部信号をVHDLの上位モジュールに引き出す方法は?
VHDLソースコードの内部信号をテストベンチに引き出して、波形として表示するにはどうすればよいですか?Active HDLを使用しています。目的を達成するためのツールに依存しない方法があるかどうか知りたいのですが。どんな助けでもありがたいです。 このエラーが発生しました。 私のソースコードは entity SPI_DAC is Port ( -- inputs and oututs ) end SPI_DAC; architecture Behavioral of SPI_DAC is --These are my internal signals signal ch1_byte_data_sent : STD_LOGIC_VECTOR(23 downto 0) := x"000000"; signal ch1_byte_cmd_sent : STD_LOGIC_VECTOR(23 downto 0) := x"000000"; --and a few other signals begin --functionality end …
11 vhdl 

2
VHDL:ベクトルのビットをOR演算する
ベクトルのビットを一緒にORしたい。だから私は呼ばれるベクトルを持っていて、example(23 downto 0)すべてのビットを別のベクトルにORしたいのですが、これを行う方法はありませんexample(0) or example(1) or ...example(23)か?
11 vhdl 

4
FPGA:カウントアップまたはカウントダウン?
FPGA(Phillio開発ボード、ザイリンクスspartan3e、vhdlを使用)の使用方法を学んでいます。 着信パルスを(ハードコードされた)数値で除算する必要があります。 私は3つのオプションを見ることができます-大まかに、疑似コードとして(例として10カウントを使用): 入力立ち上がりエッジが1増加すると0に初期化され、10と比較されます。それらが等しい場合、0にリセットし、出力パルスをトリガーします 入力の立ち上がりエッジが1減少すると10に初期化され、0と比較されます。それらが等しい場合、10にリセットし、出力パルスをトリガーします 9に初期化しますが、出力ビットである先頭の「0」ビットが少なくとも1つあることを確認してください。入力の立ち上がりエッジで1減少します。出力ビットの立ち上がりエッジでリセットされます。 デューティサイクルは重要ではありません。 これらの1つは他のものより優れていますか?私が考えていないもっと良い方法はありますか? コンパイラーに最適化の最良の機会を与える「標準的な」方法はありますか?
11 fpga  vhdl  xilinx  papilio 

5
C ++やpythonと同じように、VHDL用のオープンソースライブラリはありますか?
C ++またはpythonの問題に近づいているとき、コードを大幅に持ち上げる多くのライブラリーが存在します。C ++ではGNU GSL、BOOST、またはFFTW、PythonではNumPyまたはSciPyについて考えています。多くの点で、これらのリソースが存在するという事実は、これらのそれぞれの言語でのコーディングを価値のあるものにします。 IEEE標準ライブラリーは、データ型(C標準ライブラリーのようなもの)などのごく基本的なものだけをカバーしているようです。 VHDLでは、オープンソースライブラリを使用するのではなく、問題を解決する「IPコア」を購入または検索できるようです。Pythonでは、シリアルデバイスと通信する場合、import serial基本的にはこれで完了です。VHDLでは、シリアルプロトコルを一から作成するのに悩まされるか、そのような作品を作成した人が見つかるまで、さまざまなリポジトリをググググ回らなければなりませんでした。次に、単に何かを含めてそれを呼び出すのではなく、コードの一部をプロジェクトにパッチします。同様に、FFTを実行したい場合、Googleを介してVHDLでFFTの例を見つけることができますが、FFTWのような単純なものはありません。 プロジェクトにインポートできる包括的なオープンソースライブラリはありますか?なぜ誰もが同じものの多くのために独自のコードをロールしているように見えるのですか?

2
FPGAの「ハーフラッチ」とは何ですか。
耐放射線ハードFPGAに関する論文で、私はこの文章に出くわしました。 「Virtexデバイスに関するもう1つの問題は、ハーフラッチです。ハーフラッチは、ロジックを使用するよりも効率的であるため、これらのデバイス内で内部定数に使用されることがあります。」 「ハーフラッチ」と呼ばれるFPGAデバイスプリミティブについて聞いたことがありません。私が理解している限り、バックエンドツールで定数「0」または「1」を「ソース」する隠れたメカニズムのように聞こえます...特に「FPGA」のコンテキストでは、「ハーフラッチ」が正確に何であるかを誰かが説明できますか、そしてそれらを使用してロジックを保存する方法は? 編集:この論文は、これが宇宙アプリケーション向けの耐放射線性と耐放射線性のFPGAの比較であることがわかった
10 fpga  vhdl  xilinx  radiation 

5
VHDL:デザインに乗数をインプリメントするときに「*」演算子を使用
現在のFPGAにはDSPブロックが組み込まれており、最新のFPGAにはIEEE-754準拠の浮動小数点ユニットも組み込まれています。 必要なパラメーターを選択した後、GUIを使用してDSPエンティティ/モジュールを作成し、デザインでインスタンス化することが可能です。 実際のDSPブロックをインスタンス化する設計でこのようなマイクロマネージメントを行う必要があるのはいつですか。また、コードに「*」演算子を入力して、合成ツールに低レベルの詳細を処理させるのはいつですか どちらが良いですか? バイナリ乗算に関しては、多くの異なるタイプの乗算アルゴリズムがあります。現在、シリコンにDSPブロックが組み込まれており、さらに浮動小数点乗算器も組み込まれていますが、これは、これらのアルゴリズムすべてが事実上廃止されていないことを意味しますか?
10 fpga  vhdl  dsp 

2
Modelsimテストベンチを外部刺激とインターフェースできますか
私は、ドライバーソフトウェアとFPGA開発の両方を行っているチームに取り組んでいます。FPGAシミュレーションはModelsimで行われ、ドライバーソフトウェアはCで記述されています。統合リスクを最小限に抑えるために、ハードウェアに配置する前に製品の2つの半分の間の相互作用をモデル化できるようにしたいと思います。 Modelsimが、時間と値を入力するテキストファイルの形式で刺激を提供できるテストベンチをサポートしていることを知っています。Modelsimに、パイプを外部アプリケーション(ドライバーなど)に接続し、ソフトウェアが値をテストベンチにプッシュして、後で結果を観察できるような分散シミュレーションを実行できるモードがあるかどうか疑問に思います。 私がテキストファイル入力で行うことができないトリックは、製品の2つの半分を相互作用させることです。ソフトウェアで値をFPGAシミュレータに「書き込み」、結果を読み取ってから、読み取った結果に応じて新しい値をFPGAに書き込む必要があります。テキストファイルでは、入力が出力から独立している必要があります。 StackExchangeとgoogleの両方で検索を実行しましたが、探している動作を特定したり、存在しないと判断したりするために検索を絞り込むためのキーワードセットを思い付くことができませんでした。

1
MD5 VHDLパイプライン
このリンクに従って、3ステージのMD5パイプラインを実装しようとしています。特に31ページのアルゴリズム。データ転送について説明している別のドキュメントもあります。これはFPGA(Terasic DE2-115)で行われます。このプロジェクトには回路図はなく、VHDLコードのみです。 library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity md5core is port ( CLOCK_50 : in std_logic; SW : in std_logic_vector(17 downto 17) ); end entity md5core; architecture md5core_rtl of md5core is type r_array is array(0 to 64) of std_logic_vector(7 downto 0); constant R : r_array := ( x"07", x"0c", …
10 fpga  vhdl 


2
VHDL:ビットのカウント時に受信モジュールがランダムに失敗する
バックグラウンド これは個人的なプロジェクトです。FPGAをN64に接続すると、FPGAが受信したバイト値はUARTを介してコンピューターに送信されます。それは実際にはかなりうまく機能します!不幸にも不定期に、デバイスは失敗し、その後回復します。デバッグによって問題を見つけることができましたが、VHDLにはかなりの能力がないため、修正方法に困惑しています。 私は2日間VHDLをいじっていて、これを解決できないかもしれません。 問題 FPGAへのN64信号を測定するオシロスコープがあり、他のチャネルはFPGAの出力に接続しています。カウンター値を記録するデジタルピンもあります。 基本的に、N64はSTOPビットを含む9つのデータビットを送信します。カウンターは受信したデータビットをカウントし、9ビットに達すると、FPGAはUARTを介して送信を開始します。 正しい動作は次のとおりです。 FPGAは青色の波形で、オレンジ色の波形はN64の入力です。受信中、私のFPGAはデバッグの目的で入力の信号を "エコー"します。FPGAが9までカウントした後、UARTを介してデータの送信を開始します。N64が終了した直後にデジタルピンが9にカウントされ、FPGA出力がLOWになることに注意してください。 失敗の例を次に示します。 カウンターがビット2と7をスキップすることに注意してください!FPGAは最後まで到達し、N64からの次の開始ビットを待ちますが、何もしません。したがって、FPGAはタイムアウトして回復します。 これは、N64受信モジュールのVHDLです。次のカウンターが含まれています:s_bitCount。 library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity N64RX is port( N64RXD : in STD_LOGIC; --Data input clk25 : in STD_LOGIC; clr : in STD_LOGIC; tdre : in STD_LOGIC; --detects when UART is ready transmit : out STD_LOGIC; --Signal …
9 fpga  vhdl  protocol 

2
合成ツールでVHDL変数を合成する方法
VHDL変数が合成ツールによって合成される2つの方法を知っています。 組み合わせロジックとして合成された変数 意図せずにラッチとして合成された変数(初期化されていない変数が信号または別の変数に割り当てられている場合) VHDL変数を合成できる他の方法は何ですか?(例:FFとして解釈できますか?)
9 vhdl  synthesis  rtl 

4
VHDLでBITを介してSTD_LOGICを使用する場合
使用の違いは何ですか: ENTITY MyDemo is PORT(X: IN STD_LOGIC; F: OUT STD_LOGIC ); END MyDemo; そして ENTITY MyDemo is PORT(X: IN BIT; F: OUT BIT ); END MyDemo; STD_LOGICを介してBITを使用する場合の制限は何ですか?それらは完全に交換可能ですか?STD_LOGICを定義した場合、それをBIT_Vectorで使用して配列の要素にアクセスすることはできないことを理解しています。しかし、私は違いを見ることができないようです。
9 vhdl 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.