あなたが今まで疑問に思ったことがあるなら の 違う プロセッサ • 思い出 PCに搭載されているものが設計されている場合は、規模や専門分野に関係なく、このセクターのすべての企業が現在使用しているプロセスを直接かつ迅速に説明するため、これは興味深いことです。 これを行うために、私たちは話します ベリログ • VHDL 、 二つ ハードウェアの説明 言語とそれを作成するプロセス、デザインテーブルからPCまで。
PC内のプロセッサとメモリは、非常に小さなスペースに数億、さらには数十億のトランジスタで構成されているため、 上部構造 非常に複雑な他の構造で構成されています。
このようなレベルの複雑さとプロセッサの微細なサイズにより、エンジニアがこのようなシステムを迅速かつ効率的に作成できるように、プロセッサを設計する際に一連のツールが必要になります。ここで、プロセスの記述言語が登場します。ハードウェア。
ハードウェア記述言語:VerilogおよびVHDL
最もよく使われる言語 ハードウェアについて説明する VHDL • ベリログ 、Cプログラミングと同様の構文を持っていますが、プログラムを実行する代わりに、に基づいてプログラムのさまざまな部分の編成を記述します。 相互接続されたモジュール ; 各モジュールの説明は次のとおりです。
- 入力:モジュールが持つデータ入力です。
- このモジュールがこれらの入力パラメーターを使用して作成するメインコード。
- モジュールの出力データである出力。
たとえば、Verilogでは、ロジックANDゲートを記述するためのコードは次のようになります。
モジュールAND_2(出力Y、入力A、B); および(Y、A、B); エンドモジュール;
代わりに、VHDLではモジュールは呼び出されます エンティティ:
エンティティ アンドゲート is ポート (A:std_logic内; B:std_logic内; Y:std_logic外); end アンドゲート; 建築 と論理 of アンドゲート is 始まる Y <= A AND B; end と論理;
どちらの場合も、XNUMXつの入力(A、B)とXNUMXつのAND出力を備えたANDゲートについて説明します。
これらのハードウェア記述言語のおかげで、エンジニアは、論理ゲートなどのさまざまな基本要素を表すモジュールをプログラムでき、組み合わせ回路と順序回路を通過し、非常に複雑なシステムになります。すべて記述されたコードを使用して、繰り返される部品も非常に迅速にリサイクルできます。 。
ハードウェア作成の段階
VerilogまたはVHDLコードが記述されると、での動作がテストされます。 シミュレータ 、エンジニアがあらゆる段階を監視するために使用するソフトウェア。 この段階では、ハードウェア記述コードが正しく記述されていることを検証することを目的としているため、ハードウェアは非常に低速でシミュレーションされます。
次のステップは エミュレータ 、設計プロセスのすべてのハードウェア部分がこの段階を通過するのではなく、プログラムを実行するものだけが通過します。 エミュレーターの概念は、PCで古いシステムやコンソールをエミュレートするために使用するものと同じですが、この場合、それらは非常に低速で動作し、一般的なソフトウェアの小さな抜粋をテストして、アーキテクチャとパワー。 それを最適化します。
XNUMX番目のステップは、VerilogまたはVHDLコードをXNUMXつ以上の相互接続されたコードに転送することです。 FPGA ここで、ハードウェアは物理レベルでテストされます。これは、将来のプロセッサと、メモリおよび接続先の外部周辺機器との通信をテストするために行われます。 、エンジニアがエネルギー消費仕様が期待の範囲内にあるかどうかを知ることができます。
これらのXNUMXつのステップは、完全に機能する設計が達成されるまで再帰的に実行され、その後、VerilogまたはVHDLファイルがファウンドリに送信されてチップが作成されます。 ウェーハに印刷 、その時点で、大量生産の前に品質と検証のテストが行われます。
当初、ハードウェア記述言語はありませんでした
初期のPCプロセッサの設計者は、今日のツールを欠いていたため、紙にハードウェアを描画して使用するなどの作業を行う必要がありました。 ブレッドボード 、回路基板上のより単純な電子回路を統合する技術。 ケーブルを介して(文字通り)。
ブレッドボードでより複雑なチップを作成するために使用したこれらのより単純な電子回路は、論理ゲート、組み合わせシステム、シーケンシャルシステム、ALUなどのプロセッサ設計の基本要素を内部に備えたTTLまたはCMOSチップでした。当時、FPGAはVerilogまたはVHDLを介してプログラミングした後にハードウェアをテストできる存在ではなかったため、作成したチップの大規模バージョンを作成する必要がありました。
しかし、トランジスタの密度が高くなるにつれて、少数の人がプロセッサを設計することが不可能になり、PAL、PLA、CPLDなどの新しいプロセッサの設計にハードウェア記述言語とプログラマブルロジックが少しずつ採用されました。最も複雑な部分はFPGAです。