SystemCでDE0-CVの回路を作る 環境構築編

SystemCを使ってDE0-CVの回路を作りたいと思ったのでやってみた。 part2
前回はこちら
SystemCでDE0-CVの回路を作る 構想編 - m-keishiの日記

今回はVisualStudio2015でSystemCコーディングする環境を整える。
ツールとしてはVivado HLSとQuartusも使っているけど、ダウンロードしてインストールするだけなので説明しない。

  • VisualStudio2015インストール
  • SystemCの入手
  • SystemCをVisualStudioで使う準備
  • SystemCをVisualStudioで使う設定
  • 設定をテンプレートとして保存する。
続きを読む

CPUの創りかたのTD4を少し変更した


CPUの創りかたのTD4をDE0-CVに実装した

TD4は命令フェッチ~実行までのすべてのステップを1クロックでやっている。
これは結構無茶な作りで、1ステップ1クロックでやるのが普通(のはず)。

TD4は周波数も遅いしIC10個でやるという制約もあるしで1クロックでぜんぶ処理する
作りになっていると思われるが、TD4をベースに色々と手を加えることを考えると
現実的なCPUの作りに近づけたほうが良いと思った。

あと、前の記事で作ったやつは74シリーズのロジックICをHDLにして回路図に近い形で
結線していたけれど、後の拡張とメンテナンスを考えると得策でないのでこれも
変更したかった。

ということでTD4の機能はそのままで色々と手を加えた。

続きを読む

(DE0-CV) FPGAマガジンのRISC-VをDE0-CVに実装する

FPGAマガジン No.18でRISC-Vを実装していたので自分もやってみる。

FPGAマガジンだとVerilogで記述しているけど、自分はVHDLで記述する。
なおかつ実装するのはDE0-CV。

続きを読む

FPGAで、VHDLで書いたinteger信号の範囲は守られるのだろうか

例えばVHDLで下記のようなintegerの信号を定義したとする。

signal sCountVal : integer range 0 to 9;

この信号は0~9の値を取る、と宣言している。
これはFPGAでどのように論理合成されるのだろうか。

続きを読む