FPGAの言語はVHDLとVerilog?装置制御に使えるのか?

このQ&Aのポイント
  • 私は機械設計を10年やっており、シーケンサやマイコンの制御にはある程度の理解があります。しかし、FPGAの言語であるVHDLやVerilogについては初めて聞きました。質問者の方はFPGAを使用して装置の制御をしたいということでしたが、VHDLやVerilogはそれに適しているのでしょうか?
  • 装置は直動ステージ(パルスモーター)4軸とサーマルヘッド(プリンタ用)の位置決めを行い、最終的に印刷してサーマルヘッドの良否を判断するものです。以前にはサーマルヘッドの制御のみをFPGAで行ったプロト機があります。今回の装置の制御も同様にFPGAで行いたいと考えていますが、それが可能なのでしょうか?
  • 質問者の方はFPGAについて解説本やネットで情報を調べて知識を得たそうですが、VHDLやVerilogがFPGAのソフト言語であると理解しているようです。しかし、その理解は正しいのでしょうか?装置制御にはVHDLやVerilogがどのように使われるのでしょうか?
回答を見る
  • ベストアンサー

FPGAの言語がVHDLとかVERILOGという…

FPGAの言語がVHDLとかVERILOGというものなのでしょうか 機械設計を10年やっているものです。シーケンサは実地でやっておおよそ理解していました。マイコン(PICなど)も解説本やネットで調べて理解しました。 あるユーザーの方からFPGAを使って、ある装置の制御をおこないたいのですが、知識のある方を知らないでしょうかと質問されました。そこで、解説本やネットで調べて、ある程度の知識は得たのですが、マイコンのソフトがアセンブラやCなどのように、FPGAのソフトがVHDLやVERILOGだと思えばいいのでしょうか。 また、その装置というのが簡単に説明すると直動ステージ(パルスモーター)4軸でサーマルヘッド(プリンタ用)の位置決めを行い、最終的に印刷してサーマルヘッドの良否を決定する装置です。もともとプロト機(サーマルヘッドの制御のみの)があり、その開発をFPGAでやったので、今回の新装置のステージ等の制御も同じようにやっていただき、サーマルヘッドの制御部を後からユーザーが挿入したいということでした。がこのようなことは可能なのでしょうか。 申し訳ないのですが、ご助言よろしくお願いします。

noname#230358
noname#230358

質問者が選んだベストアンサー

  • ベストアンサー
noname#230359
noname#230359
回答No.1

ソフトというか言語です >>サーマルヘッドの制御部を後からユーザーが挿入したいということでした。がこのようなことは可能なのでしょうか。 作り方にもよるけど(まあ普通はそう作ると思う) 普通は汎用性を持たせる

noname#230358
質問者

お礼

大変遅れて申し訳ございませんでした。 評価の仕方が解らず多分、3週間ほど過ぎたような気がします。ログインのカーソルが小さすぎて見つけられませんでした。あれから自分なりに解説本等読んでみて、理解できました。まことに、有難うございました。 今後ともよろしくお願いします。

関連するQ&A

  • HDLのエミュレーターについて

    フリーのシュミュレーターで「Verilog-HDL」や「VHDL」を勉強中なのですが、 「Verilog-HDL」や「VHDL」でパラレルポートなんかを制御させることは可能ですか? 言い換えますと、 PCをパラレルポートなんかを使って 仮想的にFPGAデバイスとして使えるようなソフトはありますか?

  • FPGAにおけるバスの引き回し

    よろしくお願い致します。 現在、アルテラ製「CycloneIII」のFPGA設計を行っております。 使用言語はVHDLです。 FPGAにはマイコンからのアドレスバス(26bit)、データバス(16bit)、 nWR、nRD、nCSが接続されます。 さらにFPGA内部には120個のレジスタが用意され、 マイコンはこのレジスタに対してアクセスを行います。 当初、FPGAは正常に動作していました。 しかし、仕様追加でレジスタを数個追加しただけで 今まで正常に動作していたレジスタが動作しなくなりました。 (書き込みができない、出力データに抜けが生じる等) そこで皆様に質問ですが、 FPGA内部に100を超えるレジスタを用意する場合 一般的にバスや制御信号をどのようにして引き回しているのでしょうか。 (ファンアウトを減らすためにnWR信号を各レジスタごとに用意する等・・・) 何卒よろしくお願い致します。

  • VHDLまたはverilog

    質問場所、ここなのか分かりませんが よろしくお願いします。 FPGAを最近使おうとしているのですが、 VHDLとverilogどちらから始めるかで 悩んでいます。verilogの方が簡単とは いいますけど。。。 世の中の流れとしてはどのような割合で 普及されているのでしょうか? 使用目的はごく趣味的なもので、研究でも 使えたらいいかなと思っている程度です。 (すなわち業務で設計をする立場では ありません。)最初は例えば、Spartan-3E でも買って始めようと思っています。 よろしくお願いします。

  • タッチパネルのミニマムシステム

    皆さんの知識とお知恵を拝借させてください。 ここ78年、シーケンサとは離れていて今の製品群が良くわかりません。 設計中の装置を試験的にあるユーザーにインストールしようと思っておりましたが、以前の装置と比べてタッチパネルが無いのが気になっているようです。 装置の機能としては不要とは思っているのですが、商売上の理由でどうしてもそのユーザーにインストールしなければなりません。 そこで形だけのタッチパネルを装置に付けようと思っていますが、コストを考えて最小のシステムにしたいのです。 装置をコントロールする自前のシステム(マイコン+DSP+FPGA)からシリアル通信でシーケンサと連動しようと思っております。要はグラフィックパネルを細かく制御するプログラムを書きたくないのです。 パネルは形だけなので5インチ程度以上のカラーならSTNでも可。 表示は非常に簡単なグラフィック(絵)と4桁数値表示が4組とスイッチ入力が4個程度の非常に簡単なものです。 それらの情報はすでに装置の送受信信データの中に入っているので、シーケンサのプログラムとパネルの絵を作成しようと考えております。 どのようなシーケンサとタッチパネルが良いと思われますか? お勧めのものがありましたら教えてください。

  • LED点滅の制御装置について

    いつもお世話になっています。 今回、LEDの点滅制御についてお聞きしたいと思います。 LEDを40個使い、1群を10個として4群に分け、それぞれの群ごとに規則的に点滅する装置(タイミングや時間は制御側のソフトで操作したいとのこと)を作りたいのですが、シーケンサのような制御装置は、大きさと言う点でNGとのこと。 たばこの箱の半分以下くらいの大きさにならないかと言われて、困っています。 私自身、マイコンと言われるものを以前は盛んにやっていたのですが(Z80が主流の時代)、最近の情報を一切持っておらず、適した制御装置はどれなのかわからない状態です。 最近ではH8だとかPICだとかFPGAだとか、聞き慣れないものがたくさん出ているようでして、特徴は実績のある方に伺った方が正確で早いと判断した次第です。 上述のような簡単な制御をするためには、どういったものを使うと簡単に小さくできるでしょうか。教示お願いいたします。 ちなみにZ80を使っていたので(30年くらい前ですが・・・)、ある程度ざっくりとした内容でも理解できると思います。(・・・たぶん) よろしくお願いいたします。

  • PCに挿したIOボードを制御するためのプログラム

    IOボード(AD/DAボード)を使ってPCで入出力制御(例えばモーターのフィードバック制御)をしたいと思っているのですが、ボードにアクセスするためのプログラムや、信号を入出力するためのプログラムをどのように書いたら良いかわかりません。おそらくデータシート?に書いていると思うのですが、知識不足で読み解くことができません。(いままでArduino IDEでArduinoの制御をしたことしかありません。普通にC言語でAVRマイコンをプログラムして制御することはできません。C言語の基礎知識はあります。) そこで質問なのですが、PCから(例えばPCIスロットに挿した)IOボード(AD/DAボード)を制御するための知識は、どのようにして習得できますでしょうか?参考になる本やサイトが見つかりません。PICやAVRなどのマイコンであれば本が色々出ているようなのですが、そのようなマイコンを使えるようになれば、PCからIOボードを制御できる基礎知識は付きますでしょうか?

  • VHDLとVerilogの違いについて

    Verilogでの回路設計の経験はあるのですが、VHDLでの経験がありません。 今度の仕事はVHDLで回路設計をしなくてはいけなそうなのですが、ちょっと心配です。 Verilogとの違いは何なんでしょうか? またVerilogを知っていればすぐに理解ができるものなのでしょうか?

  • CPUの構造を理解する意味は?

    CPUの構造を理解する意味は? よくプログラムの勉強をするときにCPUの内部構造である制御装置、演算装置、レジスタなどの解説があって、さらにそれらがどういう繋がりがあって、どうお互いを利用しているか、ということを説明する本に出会います。 しかし実際アセンブリ言語で開発しようという人間以外に、誰がこの知識を必要とするのか全くわかりません。 C言語以上の高級言語を使用するのであればこれらの知識は不要ですよね?? ※C言語の勉強でメモリーの構造を理解する必要があるのはわかります。

  • dsPICを理解したいができない

    大学の卒業研究でdsPICを用いた電子回路を扱うことになったのですが、 はっきり言ってまるで分かりません。 同じ研究室の人の勧めで、 「電子制御・信号処理のためのdsPIC活用ガイドブック」という本を購入したのですが、 専門用語が多すぎて理解できず、それらをネットで調べようとしてもいま一つ明解な答えに行きつくことができない場合が多いです。 そこで思ったのですが、掛け算を知らない子供が面積計算をできるわけがないように、 自分にはデジタル回路作成のために必要な最低限の知識がないから理解できないのではないでしょうか? 今までアナログ含めいずれの回路もまともに組んだことがなく、 電子工作といえばキットなどの回路をマニュアル通りに組んだだけで、回路設計を理解できているとはとても言い難いです。 C言語は学習しましたが、パソコン上で動かすプログラムとマイコンに書き込むプログラムの違いがありすぎて今までの知識があまり役に立っていません。 やはり一から体系的に学ばないと駄目なのではないでしょうか? そこで、全くの素人がdsPICを使った回路を作成し、 LEDやモーターなどの出力装置を制御できるようになるための、 初歩中の初歩から、専門用語の一つ一つまで、 できる限り丁寧にdsPIC(もしくはそれに通ずるマイコン)の構造やプログラミングの仕方を解説している専門書などありませんでしょうか? 我ながら大変厚かましい質問とは思いますが、 ここ1カ月ほどほとんど進歩がなく、非常に困っています。 どうぞよろしくお願いします。

  • 【FPGA】VHDLのprocessとevent

    こんにちは。VHDLのprocessとeventで質問です。 process (CLOCK,RESET) begin if(RESET = '1') then     ...(処理) elsif(CLOCK'event and CLOCK = '1') then -- ☆     ...(処理) end if; end process; で書くのは黄金パターンのようですが、 ☆の行を以下のようにevent文を取り払うと、何が違うのでしょうか? elsif(CLOCK = '1') then 諸々の解説を見ると、processは()内の状態が変わったときにendまでのものが同時に処理されるという解説があり、eventはその指定された信号が変わったときにtrueなわけですよね。それでは何故processとeventを併用する必要性があるのでしょうか? シミュレーションをやった感じでは何にも変わり映えしないのですが…厳密に何が起きているか知りたいのです。