アプリ版:「スタンプのみでお礼する」機能のリリースについて

h8マイコン等を搭載するpicとfpgaやcpldのような石を使う制御の違いがわかっていません。後者は高い周波数の演算が得意なのかなと思うのですが、ラフで良いので教えてくださいませんか?

A 回答 (3件)

ワンチップマイコンはCPU/ROM/RAM/PIO/SIO等が集積されたもので、いわば「PCと入出力ポートをワンチップにしたようなもの」です。

プログラムを書いてそれを実行することで入出力を制御します。

プログラムによる制御ですので、制御の速度(反応時間)はプログラムの実行速度で制限されます。プログラムの実行速度はクロックの関数になります。そのかわり、外部にインテリジェントなコントローラ(例えばUSBコントローラやNIC)を接続して制御するのはとても楽です。


FPGAやCPLDは「ブレッドボード上に汎用ロジックICや演算器やメモリや入出力ロジックを載せたもの」をブレッドボードごとワンチップにしたようなものです。

ロジックセルや演算器を直接接続するので、制御の速度(反応時間)はロジックセルや演算器や「接続」(スイッチネットワーク)の遅延時間で制限され、必ずしもクロックの関数とはなりません。(通常、入力と出力はクロックで同期を取りますが、内部を全面的に同期回路設計する必要はありません。自信があれば非同期設計も可能。)

そのかわり、外部にインテリジェントなコントローラを接続して制御するのはちょっと大変です。そのためだけに、FPGA/CPLD内に「小型CPU」を作成して制御を分担させることもあるくらいです。


例えばPCIバス(クロックが33MHz)に接続する拡張カードを作成するため、PCIバスの制御を必要としているとします。

ワンチップマイコンでこれを制御しようとするとどれだけのクロックが必要でしょうか。PCIバス1クロック分の制御にプログラム10ステップを要し、1ステップの実行にマイコンの1クロックを要するとすれば(かなり控えめな見積もりですが)、マイコンのクロックはPCIバスクロックの10倍、すなわち330MHzが必要ということになります。これは非現実的です。

FPGAやCPLDであれば、大規模な演算を要する制御手順(たとえばパリティの計算)を除けば、PCIバス1クロック分の制御は「PCIバス1クロック分の時間」があれば十分足ります。パリティの計算でも2~3クロックあれば足りるでしょう(高速品種やパリティ生成器を搭載した品種であれば1クロックでもOK)。


同じワンチップソリューションでも、PCIバス程度の速度の場合ワンチップマイコンは非現実的、FPGA/CPLDは現実的ということになります。

実際のところ、いわゆるPIC程度の速度では反応時間が1ミリ秒前後より短くなると苦しくなり、ワンチップマイコン全般でも10マイクロ秒以下だと一部の高速品種や専用回路を持つ品種でないと無理ということになるようです。
    • good
    • 0
この回答へのお礼

素人にとてもわかり易く教えていただいてありがとうございます。演算周期の速度に依存することがよくわかりました。どうもありがとうございました。

お礼日時:2005/08/03 08:18

http://www.xilinx.co.jp/

http://www.microchip.co.jp/contest/contest_2002. …
参考になるかわかりませんがみてください。
    • good
    • 0

PICは、MICROCHIP社の製品で、


http://www.microchip.com/stellent/idcplg?IdcServ …
H8は日立が、現在は、Renesas
http://japan.renesas.com/fmwk.jsp?cnt=corpotate_ …
の製品です。
これらは、プログラムで動きます。

一方、fpgaやcpldはプログラミングで回路を作りこむ形だと思います。

http://e-words.jp/w/FPGA.html
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
具体的な用途の違いを教えていただけると良いのですが・・・。

お礼日時:2005/08/02 11:21

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