VHDLまたはVerilogでのCPUの読みやすく教育的な実装を推奨できますか?できれば十分に文書化されたもの。
PS私は私が見ることができることを知っていますopencores
が、私は特に人々が実際に見て、面白いと思うものに興味があります。
PS2。不機嫌なタグについては申し訳ありませんが、新しいユーザーとして新しいタグを作成することはできません
VHDLまたはVerilogでのCPUの読みやすく教育的な実装を推奨できますか?できれば十分に文書化されたもの。
PS私は私が見ることができることを知っていますopencores
が、私は特に人々が実際に見て、面白いと思うものに興味があります。
PS2。不機嫌なタグについては申し訳ありませんが、新しいユーザーとして新しいタグを作成することはできません
回答:
Circuit Cellar誌の「FPGAでRISCシステムを構築する」で私がこの記事で書いた記事シリーズをお楽しみ いただけます。
ハッピーハッキング!
コードを勉強する目的は何に大きく依存しますか?言い換えれば、あなたにとって面白いとはどういう意味ですか?
CPUがどれだけ複雑になるかを確認するためにこれを行っている場合は、OpenSPARCアーキテクチャのソースを調べることに興味があるかもしれません。飛び込むのに長い時間がかかりますが、複雑なマイクロプロセッサの全体像を理解することはできます。
次に、特定のコンピューターのマイクロアーキテクチャー機能を調べる場合は、小さくて高速なマルチスレッド 32ビットRISCプロセッサー(恥知らずなプラグ)であるAEMBのような簡単なRISCマシンを調べます。
そして、もしあなたが良いコーディングスタイルと慣習を学びたいなら、LEON2デザインは良いVHDLコーディングスタイルを学ぶのに良い場所です。
ただし、プロセッサを研究する目的が自分で設計する方法を学ぶことである場合は、シンプルな8ビットマシンの1つから始めることをお勧めします(ネット上には多くのAVR、8051、PICの例があります)。
Forth CPUの設計を調べてみてください。Forthは、2つのスタックスタック(データ用とリターンアドレス用)によって仕様と実装が定義されている単純なプログラミング言語です。
いくつかの小さなVHDL / Verilogプロセッサが無料で利用できます。
いくつかのリンクがここにあります:
PS。Forthはかなり古くて曖昧な言語であるにもかかわらず、多くの最新のスタックベースのVM(Java、高速JavaScript VM)には同様の低レベル設計があるため、学習することは有益です。
PicoBlazeは便利ですが、ベンダーに依存しないVHDLでは使用できません。
その他の選択肢は次のとおりです。
また、CPU用のコンパイラを探している場合、16ビットCPU用のコンパイラを入手する可能性が最も高くなります。かつて、Cに似た言語からPicoblazeへのPodericoのコンパイラがありましたが、Webから削除されました。
遅すぎますが、小さな答えを提供します。
エルサレム大学のNand2Tetrisという名前のコースがあります。このコースはもちろんコースラにもあります。私は彼らがそのコースで作成したコンピュータを構築しました。コンピューターがどのように機能するかを最も詳細に確認できるように、この言語をスキームに実装しました。そして、私が成功したのは、彼らがJavaで作成したシミュレーターが、私が見たいと思ったすべてを実行できないことです。