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

フィールドプログラマブルゲートアレイ(FPGA)は、製造後にお客様が構成するロジックチップであり、「フィールドプログラマブル」です。

3
FPGA、最初のステップ
さて、これはFPGAに関する私の質問の続きです。 最後に、Spartan 6 FPGAを搭載したDigilent Atlysを選択しました。マイクロコントローラーである程度の作業を行ったものの、FPGAの経験はありません。 FPGAのデータシートを最後まで読んだので、Verilogから始めることをお勧めします。コード例は見つかりませんでしたが、データシートでさえ初心者にはわかりません。 今、プログラミング、シミュレーション、合成について少し手をやりたいのですが、これが私がやりたいことです 奇数の周波数、たとえばFPGAから54Mhz(100Mhzクロックで動作)を生成し、ピンの1つにルーティングします。これにはおそらくDCMまたはPLLを使用する必要がありますが、ここから開始する方法がわかりませんか? FPGAからある種のI2C読み取り書き込みを実装します。 私が探しているのはリファレンスです。DCM、スライス、clbなど、FPGA内で使用可能な各ハードウェアコンポーネントのコード例と説明が記載されたオンラインの書籍または本です。 これで、FPGAの世界を始めることができると思います。
11 fpga  xilinx  spartan 

2
2つのIC間で発振器を共有する
同じボードにマイクロコントローラーとFPGAを搭載しています。両方が同じクロック速度で実行する場合、1つの発振器を使用して両方にクロックを供給できますか?ここで気をつけなければならないことがあるようですが、トレースを短くしておけばすぐに問題とは思いません。誰かがこれを以前にやったことがありますか?これを行う際のいくつかの一般的な落とし穴は何でしょうか?

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 

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 

1
外部メモリへのFPGAリンク
私が使用しようとしています携帯ラムを上Nexys 4 FPGA開発ボード。ザイリンクスVivadoを使用していて、Microblazeソフトコアプロセッサで読み取りと書き込みを実行できるようにしたいと考えています。これまでのところ、ブロックデザインでプロセッサを作成しました。 インターネットを何度も探した結果、有望と思われる外部メモリコントローラーまたはEMCが見つかりました。Ramを接続するにはどうすればよいですか?HDLラッパーを作成し、EMCのポートをRAMのピンに接続してみましたが、必要以上のポートがあります。Nexys 4の例やVivado EMCの例は見つかりません。 また、Nexys 2にはオンボードメモリコントローラーの例があることがわかりました。RAMのパーツ番号が同じであることがわかります。これは使用できますか?また、Mircoblazeと組み合わせてどのように使用しますか?
10 fpga  memory  ram 

3
FPGAでのプロセスタイミング
私はfpgasを使い始めたばかりですが、理解できないタイミングの微妙な点があります。すべての同期プロセスが同じエッジでトリガーされる場合、入力は1つの立ち上がりエッジで「キャプチャ」され、出力は同じエッジで変化しますか?次の立ち上がりエッジ? 2つのモジュールがあり、1つの出力が次の入力に流れ込む場合、私のモジュールへの入力(前のモジュールの出力)がキャプチャされると同時に変化する状況が発生する可能性があります。 205nsのマーカーは、私が話していることを示しています。opとdata_writeが私の入力です。このテストケースではすべてが「正常に機能」しているように見えますが、シミュレーションでは、いつ何がキャプチャされているのかが明確ではありません。data_write = "0001 ..."は205nsまたは(205ns + 1クロックサイクル)でキャプチャされていますか?ISimでセットアップおよびホールドタイムを示すより詳細な波形を取得する方法はありますか? ありがとう。

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 


4
クロックの両端を使用する
私はVerilogとQuartus IIを使用してアルテラのCyclone IVをプログラミングしています。私のデザインでは、クロックの両方のエッジを使用して、50%のデューティサイクルで奇数の係数でクロックを分周できるようにしたいと考えています。これが私のコードのスニペットです: always @(posedge low_jitter_clock_i or negedge low_jitter_clock_i or posedge reset_i) begin if(reset_i) begin fixed_clock <= 1'b0; divider_dummy <= 'b0; end else begin fixed_clock <= fixed_clock_next; divider_dummy <= divider_dummy_next; end end これをコンパイルすると、Quartus IIは次のエラーをスローします。 Verilog HDLは常にadc_clocking.v(83)でエラーを構成します:イベント制御は変数 "low_jitter_clock_i"のポジティブエッジとネガティブエッジの両方をテストできません デザインで特定のクロックのポジティブエッジとネガティブエッジの両方を使用するにはどうすればよいですか。

3
クロックスキューとは何ですか。なぜマイナスになるのですか。
私のHDLコンパイラ(Quartus II)はタイミングレポートを生成します。その中で、ノードには「クロックスキュー」列があります。私が見つけたクロックスキューの唯一の定義は、TimeQuestのドキュメント(7-24ページを参照)にあります。 クロック間の転送でクロックの不確実性またはスキューを手動で指定するには、set_clock_uncertaintyコマンドを使用します。 それで、スキューが「不確実性」である場合、クロックスキューのいくつかが負になるのはなぜですか(例:-0.048)?正確にはクロックスキューとは何ですか?

2
スキャナーからの廃棄されたCCDセンサーをどのように利用しますか?
電源アダプターのない古いスキャナーを入手しました。互換性のあるアダプターを使って何かに配線しましたが、この特定のスキャナーは電源に非常に関連しているようです(通常の12V DCであると想定されていますが)。彼らが公式の電源を使用するまでそれが機能しなかったというオンラインでの多くの報告がありました。Windowsでスキャナーをまったく動作させることができず、Linuxではノイズしか表示されませんでした。 だから、私はそれをばらばらにしました。内部では、スキャン機能用のCCDセンサーと思われるものが見つかりました。このセンサーには、いかなる種類の部品番号もありません。CCDに関するいくつかの情報をウィキペディアで調べ、オンラインで調べました。しかし、それらをどのように使用するかについての実際のドキュメントは見つかりませんでした。非常に大雑把なカメラプロジェクトを想像しています。ArduinoまたはFPGAのいずれかを使用して、これからどのようにして画像を取得できますか? 写真:(クリックして拡大) また、最後の写真では、4つのSMDチップは74ACT04ヘキサインバーターです。
10 arduino  fpga  camera  ccd 

1
FPGAベースのAmbilightクローンを作成するにはどうすればよいですか?
いくつかの簡単な背景: Ambilightは一部のPhilips TVのシステムで、画面上の色情報を分析し、ディスプレイの背面にあるLEDをいくつか設定して、画面の色を壁に投影します。それはかなり気の利いた効果です。PCを使用してビデオを処理し、LEDを制御するこのシステムのクローンが世に出ています。私はこれは少しやり過ぎであることがわかりました-いくつかのLEDを踊るためにマシン全体を使用して... 私は変更したいbunnieのNETVを処理するために、暗号化されていないがHDMIビデオフィードといくつかのLEDの駆動。NeTVが他の目的のために設計されていることは知っていますが、目標を達成するために変更できると思います。基盤となるLinuxサブシステム、I2Cスプーフィング、ビデオオーバーレイなどは気にしません。現時点では、HDCP暗号化ストリームの操作については関係ありません。 NeTV回路図 NeTVソースコード FPGAブロック図 これは、バニーのプレゼンテーションスライドの1つからのブロック図です。スライドセット の残りの部分はこちらです。 このスライドは、ビデオピクセルが実際にはデコードされている(必ずしも解読されているわけではない)ことを示唆しているようです。 最後に...私の考えと質問のいくつか: これは私の希望するハードウェアで実行できますか?「はい」の場合、続行してください!「いいえ」の場合は、さらに何が必要かを教えてください。 外部メモリがなくてもビデオ情報を処理できますか?私が知る限り、FPGAが直接アクセスできるメモリはありません。これはおそらく、ビデオデータの処理に使用するアルゴリズムに依存します-できるだけ少ないFPGAブロックRAMを使用するには、全体を格納するのではなく、入ってくるピクセルのある種の「反復加算」を使用したいと思います画像データのフレームと色の平均化。このアルゴリズムの実装に関するヒントはありますか?これを始める方法は私の最大のハードルです。 私はビデオデータのどこに「タップ」する必要があるかについてソースコードを調査しました。これは適切な場所のように見えます。 私は知っています。この画像は長いです-読みやすくするために私ができる最高のことです。ザイリンクスのツールを非難してください! これは、TMDSデータを取り込み、各色について8ビットを出力するようです。 LEDドライバー用のある種のステートマシンが必要です。クロックサイクルごとに、ビデオデータを処理するために作成したモジュールからピクセル情報を取得します。 これが冗長または長い場合は申し訳ありません-私は徹底的にしようとしています...これで地面から降りるのに少し助けが必要です。これは、FPGAプロジェクトでの最初の試みです。初心者には難しすぎると言う人もいますが、どこかで始めなければならないと思います。
10 fpga  hdmi 

3
FPGAの電源がオンで、未構成のままになっているとどうなりますか?
FPGAをプログラムされていない状態で長時間放置するとどうなるかについて、一般的な理解を得ようとしています。 FPGAがあり、それを長期間(電源投入後数分から数時間)プログラムしないままにしておく、つまり、ビットストリームがない場合、これはデバイスに悪影響を及ぼしますか?電源が入っているFPGAに常にビットストリームを置くことをお勧めしますか?これに関する一般的な意見は何ですか? 結果はデバイスやメーカーによって異なりますか(ザイリンクスとアルテラ、その他)。 追加情報: ザイリンクスVirtex-6 FPGAを使用するカスタムSoCボードがあります。また、参考のために使用するザイリンクスML605も持っています。 カスタムボード:ボードの電源を入れます。XMD(ザイリンクスマイクロプロセッサーデバッガー)を使用してプログラムするための時間が短いことに気づきました。20〜30秒の時間枠を失った場合、ボードをオフにしてからオンに切り替えてから、再試行します。これはML605では発生しません。 XMDを介してカスタムボードをプログラムしようとすると、次のような結果になります。 Error: Device Reset by JPROGRAM command, failed. INIT_COMPLETE did not go high. どう考えているか教えてください。

5
FPGA上の組み込みLinux
この投稿を改善してみませんか?この質問に対する詳細な回答を提供します。これには、引用と、回答が正しい理由の説明が含まれます。詳細が不十分な回答は編集または削除される場合があります。 FPGAの使用経験は非常に限られています(Altera-ビジュアルデザインツールのみを使用)。 FPGAが必要な新しいプロジェクトを計画しています。同じボードで実行されている実際のLinux(主にTCP通信と一部のDSP)から多くの恩恵を受けることができます。 私の質問は、サポートされている組み込みLinuxが用意されている推奨FPGAはありますか?派手なドライバーはありません(ただのイーサネット、wifiはプラスかもしれません...)。私は、FPGAに組み込まれたマイクロコントローラーがあると想像します(これは、FPGAを大量に消費し、より大きなFPGAが必要になることを意味します)。
10 fpga  embedded  linux 

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