最もタメになる「初心者用言語」はVerilog HDL!
# VHDLに置き換えてもほぼ同じ
・Verilogでコンピュータの基礎を身につける
コンピュータがどのように動くのか。CPUやメモリのスペックに出てくる○○MHzの意味が本当にわかるのはVerilogだけ。キャッシュ、パイプライン、スーパースカラーのようななじみの深いテクノロジーだけでなく、VLIW、SIMDといった尖ったテクノロジーまで全部OK。
・意外に身近
プロセッサ、チップセットだけでなく、携帯、テレビ、ゲーム機まで、身の回りの物はほとんどVerilogで動いています。見えないところでは、各種検査装置、電力制御、エレベータの制御など、ありとあらゆる所でVerilogで記述された回路が動いています。
・アナログ回路も記述できる
Verilog-AMSを使うことで、0、1のデジタルな世界から飛び出し、アナログ回路の動きも記述できます。ものづくりの力が衰えてきたと言われる昨今、もういちど電気回路の基礎であるアナログ回路を見直してみてはどうでしょうか。
・オブジェクト指向
SystemVerilogは普通にオブジェクト指向です。C++よりも簡単で、Javaに近い感覚で簡単にオブジェクト指向のプログラミングが学べます。
・標準化
Verilogは、IEEE 1364-1995、IEEE 1364-2001で標準化されています。標準化されている言語は、C/C++、Common Lispだけじゃない。
> 正式な言語仕様の無い、実装=仕様みたいな言語と混同するのは勘弁して欲しいです
practical-schemeから
・C言語との連携
VPIとして普通に標準化されています。処理系毎に呼び出し方が違うのは初心者向きじゃないですよね。
・真の並列化言語
マルチスレッドのような擬似的な並列化ではなく、完全な並列化された動作が記述可能です。並列化の粒度にかんしては、他の言語の追随を許しません。
・自由がある
Verilogは何でも自由です。レジスタの大きさを100bitにしたければ、reg [99:0] r;で宣言しましょう。足すも引くも反転も何もかも自由に出来ます。CPUの命令セットに縛られている言語では出来ることも限られます。Verilogだけが、真の自由なプログラミングを可能にしています。
The comments to this entry are closed.
Comments
つまらないことですが、言語としては、Verilog HDLです。
Verilogはケイデンスの登録商標です。念のために!
Posted by: 原山みや | 2008.02.04 09:07 PM
原山みや さん、こんにちは。
タイトルだけは正確に書いてみました(^^;
Posted by: なつたん | 2008.02.04 09:54 PM
初めて書き込ませていただきます.大学生のMiyamotoyaと申します.FPGA好き好きなので,HDLの話などはわくわくしながら読んでいます.
その昔,初めてHDLを学んだときの教官が,「手続き型のプログラミング言語とハードウェア記述言語をごっちゃに考えるな.」と言っていたのを思い出しました.
ハードウェア記述言語は「実物」をIC上に配置する感覚で設計し,プログラミング言語は「方法」を上から下に記述する感覚で設計するような感じで,プログラミング言語としてHDLを取り扱うのはちょっとナンセンスな気がしないこともないのですが,なつたんさんはその当たりをどのようにとらえていらっしゃるでしょうか.
Posted by: Miyamotoya | 2008.02.05 01:14 AM
Miyamotoyaさん、こんにちは。
> 「手続き型のプログラミング言語とハードウェア記述言語をごっちゃに考えるな.」
というのは先生のおっしゃる通りです。
いまのHDLではRTLの記述が主体になり、
従来のプログラミング言語とは別の物
と考えた方が良いでしょう。ただ、今
ちょうどパラダイムシフトの真っ最中で
して、ここ数年でHDLを取り巻く環境も
がらっと変わると想像しています。
具体的なところでは、FPGAの世界ではCで
書かれた手続き型のプログラムからループ
を抜き出し、ハードウェアに展開すると
いったツールがプロダクトレベルでありま
す。また、従来のプログラミングでも並列化
を意識した言語が注目を浴びています。
CやC++がどこかでアセンブラの知識を必要
とするように、パラダイムシフトが起きて
もRTLの知識はずっと必要になると思います。
Posted by: なつたん | 2008.02.05 07:23 AM
> プログラミング言語としてHDLを取り扱う
...とは、なつたんさんもおっしゃってない。
でも...
> ちょっとナンセンスな
のが、HW 設計の最先端 ? だったりしますから
世の中ややこしいでんなあ ^_^;
Posted by: noboshemon | 2008.02.05 11:45 AM