OSECPU_FPGA
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* OSECPU-VMをFPGAに移植しよう
by [[hikalium]], 2017-04-17
** 関連ページ
- 仕様まとめ
-- https://github.com/osecpu/spec/blob/master/f0/index.md
- 開発ブログ
-- http://hikalium.hatenablog.jp/
** 日次ログ
** 2017-05-22
レビューありがとうございました。
*** 現在の状況
形式的記述を現在追加中。
ブロックダイアグラムを追加した。
https://github.com/osecpu/spec/blob/master/f0/index.md
メモリアクセス時の各テーブル・レジスタファイル間のデータ...
データのロード・ストアについて
先週までは書き込みも各データ型に合わせた幅で行う予定だっ...
ということで結局、実際のメモリへの読み書きは32bit単位での...
32bit未満のデータに関しては、ローダで32bit幅に拡張する。...
ただし、読み込みに関しては、ローダでの変換を支援するため...
LMEMCNVという命令を新設し、この目的に使用する。この命令は...
この回路自体は前回までにすでに設計済みなので問題はない。
*** 次回までの目標
まずは形式的記述を完全にする。そして実装にとりかかる。
実装の流れとしては、最初は単純な32bitCPUを構成して、それ...
次回までに各コンポーネントをVerilogで記述してFPGA上に書き...
ALUの遅延がどうなるのかわかっていないので(特に除算命令が...
こういう場合は各演算の種類に合わせてウェイトを可変にする...
** 2017-05-15
*** GW前の進捗:命令セットをまとめたページを作成した。
- https://github.com/osecpu/spec/blob/master/f0/opcode.md
*** GW期間中の進捗:RTLレベル設計(途中)
- RTLレベルの設計を進めている。これを通して、いくつか命令...
-- 整数レジスタ:64bit -> 32bit
--- メモリ(外部・内部とも)のデータ幅を32bitにしたかった。
--- もし64bitのデータ取得を許してしまうと、2回フェッチし...
-- 同様の理由で、ポインタのデータ型も32の約数のbit数に制...
-- -> これらの処理を行うデータデコーダの設計は終わってい...
-- https://github.com/osecpu/spec/raw/master/f0/schem/dat...
- 各コンポーネントの仕様も固まってきたが、
- 転送表の作成で時間がかかっている。SoCの授業で習ったよう...
- まだ初心者でわからないところも多いので、並行してVerilog...
- IOの件
メモリマップドIOにしようとしている。ただ、メモリマップドI...
*** 報告事項
- セキュリティ・キャンプで使うFPGAボードが決定した
-- Cyclone IV EP4CE
-- https://www.aliexpress.com/item/FPGA-development-board...
-- ボードのドキュメントが中国語のため、載っているデバイス...
** 2017-05-10
- 命令セットの設計を多少見直した。RTLレベルの設計に差し掛...
-- レジスタ幅を32bitにした。メモリ幅と揃えたかったため。
** 2017-04-24
*** ここまでの進捗
- CPU向け命令セットの設計はほとんどできた。
-- ラベルのある場所にしか飛べず、ポインタの型チェックと範...
--- 範囲チェックはハードウエア的に行う予定。
-- CPUの実行が開始すると、ROMに書かれたローダプログラムが...
--- 読み込んだラベルに相当するメモリ領域を作成するバイナ...
--- その後、プログラム本体とデータ領域を、CPU向けに変換し...
-- 直接メモリ番地を操作できる命令は、ローダしか実行できな...
-- プログラムの終端は、終端命令をバックエンドに追加してそ...
-- 変換が終了したら、変換後のバイナリにジャンプする。
- 開発環境の構築も終わった
-- Quartus Prime Liteを使う(旧Quartus II WebPack)
-- 自分のコンピューターは非力なので、コンパイルサーバーを...
- ブロック図を書き始めた。
*** これからすること
- ブロック図を完成させる。
- 外部RAMをFPGAから操作する方法を調査・試してみる。
- シリアル通信は絶対に実装するので、FPGAからどのように操...
- ラベルテーブルの容量をどうするか、FPGAの内部メモリ容量...
-- 現在は4096エントリ分の予定。
** 2017-04-17
このページを作成
CPUの仕様をどのようにするか考えているところ。
終了行:
* OSECPU-VMをFPGAに移植しよう
by [[hikalium]], 2017-04-17
** 関連ページ
- 仕様まとめ
-- https://github.com/osecpu/spec/blob/master/f0/index.md
- 開発ブログ
-- http://hikalium.hatenablog.jp/
** 日次ログ
** 2017-05-22
レビューありがとうございました。
*** 現在の状況
形式的記述を現在追加中。
ブロックダイアグラムを追加した。
https://github.com/osecpu/spec/blob/master/f0/index.md
メモリアクセス時の各テーブル・レジスタファイル間のデータ...
データのロード・ストアについて
先週までは書き込みも各データ型に合わせた幅で行う予定だっ...
ということで結局、実際のメモリへの読み書きは32bit単位での...
32bit未満のデータに関しては、ローダで32bit幅に拡張する。...
ただし、読み込みに関しては、ローダでの変換を支援するため...
LMEMCNVという命令を新設し、この目的に使用する。この命令は...
この回路自体は前回までにすでに設計済みなので問題はない。
*** 次回までの目標
まずは形式的記述を完全にする。そして実装にとりかかる。
実装の流れとしては、最初は単純な32bitCPUを構成して、それ...
次回までに各コンポーネントをVerilogで記述してFPGA上に書き...
ALUの遅延がどうなるのかわかっていないので(特に除算命令が...
こういう場合は各演算の種類に合わせてウェイトを可変にする...
** 2017-05-15
*** GW前の進捗:命令セットをまとめたページを作成した。
- https://github.com/osecpu/spec/blob/master/f0/opcode.md
*** GW期間中の進捗:RTLレベル設計(途中)
- RTLレベルの設計を進めている。これを通して、いくつか命令...
-- 整数レジスタ:64bit -> 32bit
--- メモリ(外部・内部とも)のデータ幅を32bitにしたかった。
--- もし64bitのデータ取得を許してしまうと、2回フェッチし...
-- 同様の理由で、ポインタのデータ型も32の約数のbit数に制...
-- -> これらの処理を行うデータデコーダの設計は終わってい...
-- https://github.com/osecpu/spec/raw/master/f0/schem/dat...
- 各コンポーネントの仕様も固まってきたが、
- 転送表の作成で時間がかかっている。SoCの授業で習ったよう...
- まだ初心者でわからないところも多いので、並行してVerilog...
- IOの件
メモリマップドIOにしようとしている。ただ、メモリマップドI...
*** 報告事項
- セキュリティ・キャンプで使うFPGAボードが決定した
-- Cyclone IV EP4CE
-- https://www.aliexpress.com/item/FPGA-development-board...
-- ボードのドキュメントが中国語のため、載っているデバイス...
** 2017-05-10
- 命令セットの設計を多少見直した。RTLレベルの設計に差し掛...
-- レジスタ幅を32bitにした。メモリ幅と揃えたかったため。
** 2017-04-24
*** ここまでの進捗
- CPU向け命令セットの設計はほとんどできた。
-- ラベルのある場所にしか飛べず、ポインタの型チェックと範...
--- 範囲チェックはハードウエア的に行う予定。
-- CPUの実行が開始すると、ROMに書かれたローダプログラムが...
--- 読み込んだラベルに相当するメモリ領域を作成するバイナ...
--- その後、プログラム本体とデータ領域を、CPU向けに変換し...
-- 直接メモリ番地を操作できる命令は、ローダしか実行できな...
-- プログラムの終端は、終端命令をバックエンドに追加してそ...
-- 変換が終了したら、変換後のバイナリにジャンプする。
- 開発環境の構築も終わった
-- Quartus Prime Liteを使う(旧Quartus II WebPack)
-- 自分のコンピューターは非力なので、コンパイルサーバーを...
- ブロック図を書き始めた。
*** これからすること
- ブロック図を完成させる。
- 外部RAMをFPGAから操作する方法を調査・試してみる。
- シリアル通信は絶対に実装するので、FPGAからどのように操...
- ラベルテーブルの容量をどうするか、FPGAの内部メモリ容量...
-- 現在は4096エントリ分の予定。
** 2017-04-17
このページを作成
CPUの仕様をどのようにするか考えているところ。
ページ名: