Skip to content

Commit d74b96b

Browse files
committed
Concertando acesso aos perifericos
Concertando resposta a cache quando um periferico e acessado. Concertando shift aritmetico da ALU. Iniciando a criação de testes unitarios.
1 parent adb0361 commit d74b96b

28 files changed

+811
-663
lines changed

.github/workflows/alu.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: ALU Test
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
test:
7+
runs-on: ubuntu-latest
8+
9+
steps:
10+
- name: Checkout do código
11+
uses: actions/checkout@v4
12+
13+
- name: Instalar Icarus Verilog (iverilog)
14+
run: sudo apt update && sudo apt install -y iverilog gtkwave
15+
16+
- name: Criar diretório de build
17+
run: mkdir -p build
18+
19+
- name: Compilar o testbench
20+
run: iverilog -o build/alu_tb -s alu_tb -g2005-sv -Irtl/core testbenchs/alu_tb.sv rtl/core/alu.sv
21+
22+
- name: Executar o testbench
23+
run: vvp build/alu_tb
24+
25+
- name: Salvar VCD como artefato
26+
uses: actions/upload-artifact@v4
27+
with:
28+
name: mdu_waveform
29+
path: build/alu_tb.vcd

.github/workflows/fifo.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: FIFO Test
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
test:
7+
runs-on: ubuntu-latest
8+
9+
steps:
10+
- name: Checkout do código
11+
uses: actions/checkout@v4
12+
13+
- name: Instalar Icarus Verilog (iverilog)
14+
run: sudo apt update && sudo apt install -y iverilog gtkwave
15+
16+
- name: Criar diretório de build
17+
run: mkdir -p build
18+
19+
- name: Compilar o testbench
20+
run: iverilog -o build/fifo_tb -s fifo_tb -g2005-sv -Irtl/core testbenchs/fifo_tb.sv rtl/peripheral/fifo.sv
21+
22+
- name: Executar o testbench
23+
run: vvp build/fifo_tb
24+
25+
- name: Salvar VCD como artefato
26+
uses: actions/upload-artifact@v4
27+
with:
28+
name: mdu_waveform
29+
path: build/fifo_tb.vcd

.github/workflows/mdu.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: MDU Test
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
test:
7+
runs-on: ubuntu-latest
8+
9+
steps:
10+
- name: Checkout do código
11+
uses: actions/checkout@v4
12+
13+
- name: Instalar Icarus Verilog (iverilog)
14+
run: sudo apt update && sudo apt install -y iverilog gtkwave
15+
16+
- name: Criar diretório de build
17+
run: mkdir -p build
18+
19+
- name: Compilar o testbench
20+
run: iverilog -o build/mdu_tb -s mdu_tb -g2005-sv -Irtl/core testbenchs/mdu_tb.sv rtl/core/mdu.sv
21+
22+
- name: Executar o testbench
23+
run: vvp build/mdu_tb
24+
25+
- name: Salvar VCD como artefato
26+
uses: actions/upload-artifact@v4
27+
with:
28+
name: mdu_waveform
29+
path: build/mdu_tb.vcd

fpga/colorlight_i9/Makefile

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ buildFolder:
1717

1818
clean:
1919
rm -rf build
20+
rm -rf slpp_all
2021

2122
load:
2223
openFPGALoader -b colorlight-i9 ./build/out.bit

fpga/nexys4_ddr/main.sv

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Grande_Risco_5_SOC #(
2121
.CLOCK_FREQ (50000000),
2222
.BAUD_RATE (115200),
2323
.MEMORY_SIZE (16384),
24-
.MEMORY_FILE ("../../verification_tests/memory/led_test2.hex"),
24+
.MEMORY_FILE ("../../verification_tests/memory/teste_uart_tx.hex"),
2525
.GPIO_WIDTH (6),
2626
.UART_BUFFER_SIZE (32),
2727
.I_CACHE_SIZE (2048),

fpga/nexys4_ddr/reports/clock_utilization.rpt

+43-43
Large diffs are not rendered by default.

fpga/nexys4_ddr/reports/control_sets.rpt

+131-111
Large diffs are not rendered by default.

fpga/nexys4_ddr/reports/drc.rpt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
22
---------------------------------------------------------------------------------------------------------------------------------------------
33
| Tool Version : Vivado v.2024.2 (lin64) Build 5239630 Fri Nov 08 22:34:34 MST 2024
4-
| Date : Fri Mar 14 22:23:07 2025
4+
| Date : Sat Mar 15 01:45:49 2025
55
| Host : vader running 64-bit Arch Linux
66
| Command : report_drc -file reports/drc.rpt
77
| Design : top
@@ -82,7 +82,7 @@ Related violations: <none>
8282

8383
PDRC-138#1 Warning
8484
SLICE_PairEqSame_D6D5_WARN
85-
Luts D6LUT and D5LUT in use in site SLICE_X69Y106 with different equations without A6 pin connected to Global Logic High.
85+
Luts D6LUT and D5LUT in use in site SLICE_X36Y106 with different equations without A6 pin connected to Global Logic High.
8686
Related violations: <none>
8787

8888
RPBF-3#1 Warning

fpga/nexys4_ddr/reports/io.rpt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
22
----------------------------------------------------------------------------------------------------------------------------------------------------------
33
| Tool Version : Vivado v.2024.2 (lin64) Build 5239630 Fri Nov 08 22:34:34 MST 2024
4-
| Date : Fri Mar 14 22:22:49 2025
4+
| Date : Sat Mar 15 01:45:31 2025
55
| Host : vader running 64-bit Arch Linux
66
| Command : report_io -file reports/io.rpt
77
| Design : top
@@ -92,7 +92,7 @@ Table of Contents
9292
| D1 | | | GND | GND | | | | | | | 0.0 | | | | | | | | |
9393
| D2 | | High Range | IO_L14N_T2_SRCC_35 | User IO | | 35 | | | | | | | | | | | | | |
9494
| D3 | | High Range | IO_L12N_T1_MRCC_35 | User IO | | 35 | | | | | | | | | | | | | |
95-
| D4 | tx | High Range | IO_L11N_T1_SRCC_35 | TRISTATE | LVCMOS33 | 35 | 12 | SLOW | | FP_VTT_50 | | FIXED | | | | NONE | | | |
95+
| D4 | tx | High Range | IO_L11N_T1_SRCC_35 | OUTPUT | LVCMOS33 | 35 | 12 | SLOW | | FP_VTT_50 | | FIXED | | | | NONE | | | |
9696
| D5 | | High Range | IO_L11P_T1_SRCC_35 | User IO | | 35 | | | | | | | | | | | | | |
9797
| D6 | | High Range | VCCO_35 | VCCO | | 35 | | | | | 3.30 | | | | | | | | |
9898
| D7 | VGA_B[2] | High Range | IO_L6N_T0_VREF_35 | OUTPUT | LVCMOS33 | 35 | 12 | SLOW | | FP_VTT_50 | | FIXED | | | | NONE | | | |

fpga/nexys4_ddr/reports/power.rpt

+24-26
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
22
-------------------------------------------------------------------------------------------------------------------------------------------------
33
| Tool Version : Vivado v.2024.2 (lin64) Build 5239630 Fri Nov 08 22:34:34 MST 2024
4-
| Date : Fri Mar 14 22:23:09 2025
4+
| Date : Sat Mar 15 01:45:51 2025
55
| Host : vader running 64-bit Arch Linux
66
| Command : report_power -file reports/power.rpt
77
| Design : top
@@ -30,10 +30,10 @@ Table of Contents
3030
----------
3131

3232
+--------------------------+--------------+
33-
| Total On-Chip Power (W) | 0.215 |
33+
| Total On-Chip Power (W) | 0.214 |
3434
| Design Power Budget (W) | Unspecified* |
3535
| Power Budget Margin (W) | NA |
36-
| Dynamic (W) | 0.118 |
36+
| Dynamic (W) | 0.117 |
3737
| Device Static (W) | 0.097 |
3838
| Effective TJA (C/W) | 4.6 |
3939
| Max Ambient (C) | 84.0 |
@@ -53,19 +53,19 @@ Table of Contents
5353
| On-Chip | Power (W) | Used | Available | Utilization (%) |
5454
+--------------------------+-----------+----------+-----------+-----------------+
5555
| Clocks | <0.001 | 3 | --- | --- |
56-
| Slice Logic | 0.042 | 20484 | --- | --- |
57-
| LUT as Logic | 0.033 | 7624 | 63400 | 12.03 |
58-
| LUT as Distributed RAM | 0.008 | 3744 | 19000 | 19.71 |
59-
| F7/F8 Muxes | <0.001 | 2920 | 63400 | 4.61 |
60-
| CARRY4 | <0.001 | 228 | 15850 | 1.44 |
61-
| Register | <0.001 | 4572 | 126800 | 3.61 |
56+
| Slice Logic | 0.043 | 20922 | --- | --- |
57+
| LUT as Logic | 0.033 | 7844 | 63400 | 12.37 |
58+
| LUT as Distributed RAM | 0.008 | 3756 | 19000 | 19.77 |
59+
| F7/F8 Muxes | <0.001 | 2924 | 63400 | 4.61 |
60+
| CARRY4 | <0.001 | 236 | 15850 | 1.49 |
61+
| Register | <0.001 | 4763 | 126800 | 3.76 |
6262
| BUFG | <0.001 | 1 | 32 | 3.13 |
63-
| Others | 0.000 | 33 | --- | --- |
64-
| Signals | 0.068 | 11941 | --- | --- |
63+
| Others | 0.000 | 42 | --- | --- |
64+
| Signals | 0.069 | 12232 | --- | --- |
6565
| DSPs | 0.002 | 4 | 240 | 1.67 |
66-
| I/O | 0.005 | 41 | 210 | 19.52 |
66+
| I/O | 0.003 | 42 | 210 | 20.00 |
6767
| Static Power | 0.097 | | | |
68-
| Total | 0.215 | | | |
68+
| Total | 0.214 | | | |
6969
+--------------------------+-----------+----------+-----------+-----------------+
7070

7171

@@ -75,7 +75,7 @@ Table of Contents
7575
+-----------+-------------+-----------+-------------+------------+-------------+-------------+------------+
7676
| Source | Voltage (V) | Total (A) | Dynamic (A) | Static (A) | Powerup (A) | Budget (A) | Margin (A) |
7777
+-----------+-------------+-----------+-------------+------------+-------------+-------------+------------+
78-
| Vccint | 1.000 | 0.128 | 0.113 | 0.015 | NA | Unspecified | NA |
78+
| Vccint | 1.000 | 0.129 | 0.114 | 0.015 | NA | Unspecified | NA |
7979
| Vccaux | 1.800 | 0.018 | 0.000 | 0.018 | NA | Unspecified | NA |
8080
| Vcco33 | 3.300 | 0.005 | 0.001 | 0.004 | NA | Unspecified | NA |
8181
| Vcco25 | 2.500 | 0.000 | 0.000 | 0.000 | NA | Unspecified | NA |
@@ -141,17 +141,15 @@ Table of Contents
141141
3.1 By Hierarchy
142142
----------------
143143

144-
+--------------------+-----------+
145-
| Name | Power (W) |
146-
+--------------------+-----------+
147-
| top | 0.118 |
148-
| JA_IOBUF[0]_inst | 0.001 |
149-
| JA_IOBUF[1]_inst | 0.001 |
150-
| SOC | 0.109 |
151-
| Memory | 0.001 |
152-
| Processor | 0.107 |
153-
| DCache | 0.002 |
154-
| N1 | 0.104 |
155-
+--------------------+-----------+
144+
+---------------+-----------+
145+
| Name | Power (W) |
146+
+---------------+-----------+
147+
| top | 0.117 |
148+
| SOC | 0.110 |
149+
| Memory | 0.002 |
150+
| Processor | 0.106 |
151+
| DCache | 0.002 |
152+
| N1 | 0.103 |
153+
+---------------+-----------+
156154

157155

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
Design Route Status
22
: # nets :
33
------------------------------------------- : ----------- :
4-
# of logical nets.......................... : 21444 :
5-
# of nets not needing routing.......... : 9499 :
6-
# of internally routed nets........ : 9211 :
7-
# of nets with no loads............ : 288 :
8-
# of routable nets..................... : 11945 :
9-
# of fully routed nets............. : 11945 :
4+
# of logical nets.......................... : 21903 :
5+
# of nets not needing routing.......... : 9667 :
6+
# of internally routed nets........ : 9371 :
7+
# of nets with no loads............ : 296 :
8+
# of routable nets..................... : 12236 :
9+
# of fully routed nets............. : 12236 :
1010
# of nets with routing errors.......... : 0 :
1111
------------------------------------------- : ----------- :
1212

0 commit comments

Comments
 (0)