1

VHDL で 16 ビット CPU を実装することを考えています。シンプルなCPU。ADD、MULS、NEG、BitShift、JUMP、相対ジャンプ、BREQ、相対 BREQ、これらの線に沿った何かはわかりません> おそらくすべて 16 ビット オペランドでのみ動作します。それを削減して、単一のオペランドとアキュムレータのみを使用することさえあります。一部のステータス レジスタ、キャリー、ゼロ、ネガ (アキュムレータを使用しない場合)、

私は論理ゲートからすべての部品を設計する方法を知っており、それらを最初の原理から構築する予定です。したがって、私の ALU では、ADDer、おそらくキャリー ルック アヘッド、グループ加算器、この加算器を「構築」する必要があります。いくつかのパーツで構成されており、それ自体がいくつかのパーツで構成されています。

とにかく、私の問題はCPUの設計でもVHDLでもありません(多かれ少なかれ言語を知っています)。それは私が物事を整理しておく方法です。パッケージの使用方法、プロセスとポート マップの名前の付け方 (ポートマップまたはプロセスに名前を付ける利点を見たことがありません)

4

2 に答える 2

2

何をするにしても、構造化された VHDL 設計手法に関する Jiri Gaisler のマスターワークを必ず読んでください。

http://www.gaisler.com/doc/vhdl2proc.pdf http://www.gaisler.com/doc/structdes.pdf

あなたはとてもうれしく思います。

于 2010-12-14T18:31:14.220 に答える
0

いくつかの既存のを見ても害はありません。あなたが話しているレベル (命名規則など) では、ハードウェア設計でソフトウェアと大きく異なることをしたことはありません。

余談ですが、宿題などで必要な場合を除き、自分で加算器などを作成することはお勧めしません。FPGA と (程度はやや劣るが) ASIC では、デバイスにハードウェアの既存の「ライブラリ」があるため、A <= B + c通常、FPGA やハンドの場合、デバイスに既に組み込まれている加算回路を使用するようなものがあります。 - ASIC の場合の最適化されたハード マクロ。

独自のものを作成すると、かなりの余分な作業が必要になり、ほとんどの場合、悪い結果が生じます。ASIC の場合は、少し悪くなります。FPGA の場合、通常はかなり悪化します。

編集: また、単純な CPU は、少なくとも IMO では大規模な設計とは見なされないことにも注意してください。ソフトウェアのバックグラウンドが原因かもしれませんが、私は常に CPU の設計がかなり単純であることに気付きました。ほんの一例ですが、DRAM コントローラを作成したときは、もっと多くの作業が必要に思えました。ソースコードの行数などは覚えていませんが、メモリに基づいて、(おそらく 2 倍程度) 大きかったと思います。もちろん、決定したCPUがどれほど単純かにもよります...

于 2010-05-23T05:47:55.967 に答える