Skip to content
This repository has been archived by the owner on Oct 13, 2020. It is now read-only.

Commit

Permalink
Milestone-2
Browse files Browse the repository at this point in the history
  • Loading branch information
CSpyridakis committed Nov 12, 2018
1 parent e820d3b commit feb0a6c
Show file tree
Hide file tree
Showing 10 changed files with 24 additions and 17 deletions.
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,13 @@ Implementation of Tomasulo's Algorithm with following specifications:
* Common Data Bus

* Issue Unit
Acceptable operations
- add/addi
- sub/subi
- sll
- and/andi
- or/ori
- not

# Import and Run

Expand Down
Binary file modified doc/Milestone-2.pdf
Binary file not shown.
Binary file modified doc/schematics/Top Module.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion doc/schematics/Top Module.xml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<mxfile userAgent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:63.0) Gecko/20100101 Firefox/63.0" version="9.4.1" editor="www.draw.io" type="device"><diagram id="bf43f861-ff44-cf97-bc7e-3b2af97eccd7" name="Page-1">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</diagram></mxfile>
<mxfile userAgent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:63.0) Gecko/20100101 Firefox/63.0" version="9.4.1" editor="www.draw.io" type="device"><diagram id="bf43f861-ff44-cf97-bc7e-3b2af97eccd7" name="Page-1">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</diagram></mxfile>
Binary file modified doc/sim/TEST_Tomasulo_CDB.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/sim/TEST_Tomasulo_FU_L.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/sim/TEST_Tomasulo_RF_Q.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/sim/TEST_Tomasulo_RF_V.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/sim/TEST_Tomasulo_RS_A1_and_L1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
32 changes: 16 additions & 16 deletions test/TEST_Tomasulo.vhd
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ BEGIN
V_immed <="00000000000000000000000000001010";
wait for CLK_period*1;

----------------------------------------------------------------CC:2 addi $1, $0, 1
----------------------------------------------------------------CC:3 addi $1, $0, 1
RST <='0';
Issue_I <='1';
Fu_type <="01";
Expand All @@ -146,7 +146,7 @@ BEGIN
wait for CLK_period*1;


---------------------------------------------------------------CC:2 subi $11, $0, -5
---------------------------------------------------------------CC:4 subi $11, $0, -5
RST <='0';
Issue_I <='1';
Fu_type <="01";
Expand All @@ -158,7 +158,7 @@ BEGIN
V_immed <="11111111111111111111111111111011";
wait for CLK_period*1;

----------------------------------------------------------------CC:3 Nop x 5 CC
----------------------------------------------------------------CC:5 Nop x 5 CC
RST <='0';
Issue_I <='0';
Fu_type <="00";
Expand All @@ -170,7 +170,7 @@ BEGIN
V_immed <="00000000000000000000000000000000";
wait for CLK_period*5;

----------------------------------------------------------------CC:8 add $2, $1, $1
----------------------------------------------------------------CC:10 add $2, $1, $1
RST <='0';
Issue_I <='1';
Fu_type <="01";
Expand All @@ -182,7 +182,7 @@ BEGIN
V_immed <="00000000000000000000000000000000";
wait for CLK_period*1;

----------------------------------------------------------------CC:9 or $3,$2,$1
----------------------------------------------------------------CC:11 or $3,$2,$1
RST <='0';
Issue_I <='1';
Fu_type <="00";
Expand All @@ -195,7 +195,7 @@ BEGIN
wait for CLK_period*1;


----------------------------------------------------------------CC:10 sub $4,$1,$1
----------------------------------------------------------------CC:12 sub $4,$1,$1
RST <='0';
Issue_I <='1';
Fu_type <="01";
Expand All @@ -208,7 +208,7 @@ BEGIN
wait for CLK_period*1;


----------------------------------------------------------------CC:11 not $5,$1,$1
----------------------------------------------------------------CC:13 not $5,$1,$1
RST <='0';
Issue_I <='1';
Fu_type <="00";
Expand All @@ -221,7 +221,7 @@ BEGIN
wait for CLK_period*1;


----------------------------------------------------------------CC:12 sll $6,$3,$1
----------------------------------------------------------------CC:14 sll $6,$3,$1
RST <='0';
Issue_I <='1';
Fu_type <="01";
Expand All @@ -234,7 +234,7 @@ BEGIN
wait for CLK_period*1;


----------------------------------------------------------------CC:13 and $7,$4,$1
----------------------------------------------------------------CC:15 and $7,$4,$1
RST <='0';
Issue_I <='1';
Fu_type <="00";
Expand All @@ -246,7 +246,7 @@ BEGIN
V_immed <="00000000000000000000000000000000";
wait for CLK_period*1;

----------------------------------------------------------------CC:14 and $7,$4,$1
----------------------------------------------------------------CC:16 and $7,$4,$1
RST <='0';
Issue_I <='1';
Fu_type <="00";
Expand All @@ -258,7 +258,7 @@ BEGIN
V_immed <="00000000000000000000000000000000";
wait for CLK_period*1;

----------------------------------------------------------------CC:15 and $7,$4,$1
----------------------------------------------------------------CC:17 and $7,$4,$1
RST <='0';
Issue_I <='1';
Fu_type <="00";
Expand All @@ -271,20 +271,20 @@ BEGIN
wait for CLK_period*1;


----------------------------------------------------------------CC:16 sub $8,$2,$1
----------------------------------------------------------------CC:18 sub $8,$3,$1
RST <='0';
Issue_I <='1';
Fu_type <="01";
FOP <="01";
Ri <="01000";
Rj <="00010";
Rj <="00011";
Rk <="00001";
Immed <='0';
V_immed <="00000000000000000000000000000000";
wait for CLK_period*1;


----------------------------------------------------------------CC:17 and $9,$3,$5
----------------------------------------------------------------CC:19 and $9,$3,$5
RST <='0';
Issue_I <='1';
Fu_type <="00";
Expand All @@ -297,7 +297,7 @@ BEGIN
wait for CLK_period*1;


----------------------------------------------------------------CC:18 sll $9,$2,$1
----------------------------------------------------------------CC:20 sll $9,$2,$1
RST <='0';
Issue_I <='1';
Fu_type <="01";
Expand All @@ -310,7 +310,7 @@ BEGIN
wait for CLK_period*1;


----------------------------------------------------------------CC:19 Nop
----------------------------------------------------------------CC:21 Nop
RST <='0';
Issue_I <='0';
Fu_type <="00";
Expand Down

0 comments on commit feb0a6c

Please sign in to comment.