dポイントプレゼントキャンペーン実施中!

カテゴリ違いなら正しいカテゴリへの誘導お願いします。

私は技術系の学校で学んでいるのですが、将来FPGAやPLDを用いて何らかの処理を行う(通信関係や映像処理など)専用ICの開発を行う企業への就職を考えています。そこで2年次に習ったFPGAやPLDの内容をさらに学びたいと考えていますが、出来るだけ就職に直結させたいため、質問せていただきます。(通信関係か映像処理のIC上のデバイスでを開発しているような企業への就職を考えています)

長文になりますがよろしくお願いします。

1.実際企業でICの開発で使われる言語はverilogとVHDLではどちらが多用されますか?またFPGAとPLDではどちらを使いますか?

2.半年から一年以内で学ぶならどのような技術を学べばよいでしょうか?具体的にいえばどのような機能を持ったものが設計できればよいでしょうか?(企業が欲しい人材はどのような技術を持ったひとか?)

3.よい参考サイトや書籍があればお教えください。

またこれ以外にも知っておくべき内容がありましたら、お教えください。実際に開発している方などの声が聞ければうれしいです。

現在の私のスキルはPLDとFPGAの違いやVHDLやVerilogなどの違いについては知っています。
SRAMに保存された画像を、コントローラの傾きによって、画像の角度を8段階で変えて液晶に表示するCRTCのようなものを、なんとか参考書などを読みながらVHDLで作りました。といってもスケマティックで書かれていたものをVHDLで書き直しセンサの内容をつけたしただけです。

A 回答 (2件)

> これについて学ぶには具体的にはどうすればよいでしょうか?やはりメーカの規格表などを読むという事でしょうか?



履修するチャンスがあれば半導体メーカのセミナに参加するのが手っ取り早いです。
仕様書を容易に読む力があれば全て提供元発行のドキュメントに記載してあります。

っていうのがきっと正しい解答なのでしょうが、稚拙な私の場合、仕様書から手を付ける度によく挫折します。
現在は書籍や特にWEB上でかなり噛み砕いた解説を行っているサイトなど探すことが可能ですので、前提知識をある程度得た上でドキュメントを読み直すことで仕様の把握を短縮することが多いですね。
    • good
    • 0
この回答へのお礼

いろいろとありがとうございます。
早速勉強を始めたいと思います。

お礼日時:2009/05/13 20:40

1. ASIC化が前提であれば私の身の回りではVerilogのプロジェクトが多いと思います。


しかしきちんとした論理回路の設計能力がつけばVHDLで記述するのも大した労力の違いはありません。両方の読み書きはできて当然。

FPGAとCPLDでは両方使うことが多いです。コアはFPGA、周辺はCPLDなど。
出力バイナリを小さくまとめる力は後回しでよいので、比較的サイズに余裕のあるFPGAで機能を実現する力をつけるべきだと思います。

2. 問題解決能力の向上。
客先や上司から与えられたテーマを実現する為にさまざまな技術的な問題に直面します。
仕様を満たす為に問題を解決する力が大きく求められます。
「・・・以上の機能をnサイクルで実現」など。
誰でも実現できて実装も容易であれば、ただのコーダとしてしか用いられません。

半年~1年程の短期間で経験するならば、下記のようなテーマが有用ですし、良いトレーニングになると思います。
■A.PLBやOPB、その他バスブリッジを介した独自モジュール
デバイス内部バスに限らず、周辺I/Fのさまざまなバス仕様を数多く理解しておくことも必要ですし、就業では即戦力として武器となるでしょう。経験者では理解していて当然となります。
■B.PowerPC, MicroBrazeなどのロジックCPUを用いたロジック
ARMやSHのコアをASIC内部に搭載させる案件も多いのでデバイス内部で既存のCPUを動作させる為に必要な条件を把握します。
■C.独自CPUの設計
パイプライン処理、ハーバードアーキテクチャの構築など。
■D.DDRメモリコントローラの実装
比較的高速で動作する環境でのタイミング制約の掛け方
■E.デュアルポートRAMのI/F
Xilinx環境であれば、BRAMを使ってCoreGene一発でできてしまう機能ですが、内部にSRAMを搭載したASIC開発案件においてアービタを組み込むなど、力がつくと思います。

3.「STARC RTL設計スタイルガイド」
あえて1冊上げるとすれば。

その他
開発用のボード設計と並行して論理回路設計が行われるコトがほとんどです。動作させる環境がありませんので、シミュレータ上で機能を実現する・または実現する為に回避しなければならない問題を抽出しなければなりません。テストベンチを書く力、ModelSimなどのシミュレータを使いこなす力が短納期を実現する大きな力となるでしょう。

言語仕様やIDEツール類の利用テクニックは就業後に知人・先輩から教授して貰う・盗むことで容易に習得が可能です。
メカ系の人と違い、目に見えないモノを開発する仕事ですので、内部での組み合わせ回路や同期回路がどう動いているのかイメージする想像力が開発能力に大きく依存する基礎になると思います。

FPGAとCPLDや、VHDLとverilogの選択は共に大事な事は等価なので悩む時間が勿体無いと思います。
就業に向けて効率よく習得する為に、今の私であればVerilog+FPGAを選択します。VHDL+FPGAでも別に良いかな。
でもVHDLの方があいまいさが無く好きだったりします ・w・

就業時のアピール度としては、独自CPUの開発など素人には小難しそうなテーマよりも、多くのバス仕様を理解している方が玄人には信用して貰えると思います。
この不景気で大きなプロジェクトがポシャる話も耳にしますが、幸い(?)残業が減る気配もありません。
正直、就業後に運動する機会が減りますのでタフな身体作りの方が大事だよなぁーとなんとなく思いました。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!
早速紹介していただいた本を調べさせていただきました。
企業における社員教育に使用されているという、非常に実用性の高そうな本なので購入を考えて見ます。

PLBやOPBなどのバスの特性については高速動作を行う回路作成の場合、必ず必要な知識なのですが、これについて学ぶには具体的にはどうすればよいでしょうか?やはりメーカの規格表などを読むという事でしょうか?

CPUコアの内臓については、メーカや個人によって公開されているものなどを参考にして、勉強していきたいと思います。

D.Eなどの内容についても時間に余裕があれば取り組んでいきたいと思います。

当方は学校では主に大規模なアナログ/デジタル混在の回路の設計製作を行っているため、プログラムを主に仕事としてきた方々よりは多少実際の回路を想像する事が出来ます。これは担当お教員の方にもハード屋の強みだと言われました。

シミュレータについては大変お世話になっています。私の所有しているkitのロジック数が少ないため、自宅では回路を分割して動作させたり、シミュレータで確認後、大学の高価でロジック数の大きなデバイスで実行しているため。

これら以外のことについても大変参考になりました。回答本当にありがとうございます。

お礼日時:2009/05/09 23:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!