Skip to content

tai-calg/QU-making-processor-tai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

B4 processor設計開発ディレクトリ

1. 概要

macにおいてコンパイル、シミュレーションの環境は以下のサイトを参考に構築しています。 コンパイルはiverilogを使用, 実行ファイルの実行はvvpを使用, シミュレーションは open **.vcdで行います。 https://miyanetdev.com/archives/240

$ iverilog -o main.vvp main.v AND_gate.v
$ vvp main.vvp
VCD info: dumpfile dump.vcd opened for output.
$ open dump.vcd

testディレクトリの.vファイルがシミュレーションファイルです。

  • how to use make command

makeコマンドで.vvpが出力されます、vvpコマンドで.vvpファイルをコンパイルするとdump.vcdが出力されます。

  • open *.vcdでGUIでシミュレーションが確認できます。

ファイルを書き換えたあとは一度make cleanするのを推奨。top_test.v以外を変更した場合はmakeコマンドを使用しても反映されません。 それらをまとめたのがcompile.shです。

  • makefileの文法

https://tex2e.github.io/blog/makefile/automatic-variables

  • 論理合成

dc_shell-t -f first_test.tcl | tee log

で実行できます。| tee によってlogファイルに結果が記録されます。

  • クリティカルパスの探索決定方法

.tclファイルの

create_clock -period 7.90 clk

を調整してslack(MET) が負にならない最小値を探っていきます。data arrival time がクリティカルパスにかかる時間です。

ncverilog pipeline/test/top_test.sv pipeline/top.v

のようにしてコンパイルと実行を行います。プロジェクトのトップディレクトリで行ってください。そうしなければreadmesh("path")が正しくファイルをReadできません。

実行の最後にprintされる ”2178681750 PS + 0” がスクリプトの実行にかかった時間です。

議論

  • ゼロフラグとItype19命令などを原因にALUを魔改造してる。

Itype19命令をalu_op=11として新たに分離させた。そうしないとaddiがSUB演算をしてしまうため。

top.vに

assign DDT = WRITE ? rd2 : 32'hz; 

を設置。プロセッサ設計における注意点2020pdfを参照した。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published