mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 17:20:10 +00:00
ЛР11. Добавление тестбенча
This commit is contained in:
@@ -19,6 +19,6 @@
|
||||
|
||||
1. Интегрируйте модули `csr_controller` и `irq_controller` в модуль `riscv_core`.
|
||||
1. Обратите внимание, что что в модуле `riscv_core` появились новые входные и выходные сигналы: `irq_req_i` и `irq_ret_o`. Эти сигналы должны быть использованы при подключении `riscv_core` в модуле `riscv_unit`.
|
||||
1. На вход `irq_req_i` пока что необходимо подать `32'd0` (в следующей лабораторной это будет изменено).
|
||||
2. При подключении сигнала `irq_ret_o` можно ничего не указывать (до следующей лабораторной к нему ничего не будет подключено).
|
||||
2. После интеграции модулей, проверьте процессорную систему с помощью программы из ЛР10 с помощью предоставленного тестбенча.
|
||||
1. Ко входу `irq_req_i` должен быть подключен провод `irq_req`, другой конец которого пока не будет ни к чему подключен (в следующей лабораторной это будет изменено).
|
||||
2. К выходу `irq_ret_o` необходимо подключить провод `irq_ret`, который также пока не будет использован.
|
||||
2. После интеграции модулей, проверьте процессорную систему с помощью [программы](irq_program.txt), текст которой был представлен в ЛР10 с помощью предоставленного [тестбенча](tb_irq_unit.sv).
|
||||
|
39
Labs/11. Interrupt integration/irq_program.txt
Normal file
39
Labs/11. Interrupt integration/irq_program.txt
Normal file
@@ -0,0 +1,39 @@
|
||||
00004137
|
||||
FFC10113
|
||||
00000193
|
||||
00100293
|
||||
30429073
|
||||
04400293
|
||||
00028293
|
||||
30529073
|
||||
000022B7
|
||||
FFC28293
|
||||
34029073
|
||||
00100293
|
||||
0051A023
|
||||
00000313
|
||||
00000393
|
||||
00000073
|
||||
00000063
|
||||
340292F3
|
||||
0062A023
|
||||
0072A223
|
||||
34202373
|
||||
100003B7
|
||||
01038393
|
||||
00731A63
|
||||
0001A383
|
||||
00338393
|
||||
0071A023
|
||||
0200006F
|
||||
00200393
|
||||
00731C63
|
||||
34102373
|
||||
00032383
|
||||
00430313
|
||||
34131073
|
||||
0040006F
|
||||
0002A303
|
||||
0042A383
|
||||
340292F3
|
||||
30200073
|
49
Labs/11. Interrupt integration/tb_irq_unit.sv
Normal file
49
Labs/11. Interrupt integration/tb_irq_unit.sv
Normal file
@@ -0,0 +1,49 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// Company: MIET
|
||||
// Engineer: Andrei Solodovnikov
|
||||
//
|
||||
// Create Date:
|
||||
// Design Name:
|
||||
// Module Name: tb_riscv_unit
|
||||
// Project Name: RISCV_practicum
|
||||
// Target Devices: Nexys A7-100T
|
||||
// Tool Versions:
|
||||
// Description: tb for riscv unit with irq support
|
||||
//
|
||||
// Dependencies:
|
||||
//
|
||||
// Revision:
|
||||
// Revision 0.01 - File Created
|
||||
// Additional Comments:
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
module tb_irq_unit();
|
||||
|
||||
reg clk;
|
||||
reg rst;
|
||||
|
||||
riscv_unit unit(
|
||||
.clk_i(clk),
|
||||
.rst_i(rst)
|
||||
);
|
||||
|
||||
initial clk = 0;
|
||||
always #10 clk = ~clk;
|
||||
initial begin
|
||||
$display( "\nStart test: \n\n==========================\nCLICK THE BUTTON 'Run All'\n==========================\n"); $stop();
|
||||
unit.irq_req = 0;
|
||||
rst = 1;
|
||||
#20;
|
||||
rst = 0;
|
||||
repeat(20)@(posedge clk);
|
||||
unit.irq_req = 1;
|
||||
while(unit.irq_ret == 0) begin
|
||||
@(posedge clk);
|
||||
end
|
||||
unit.irq_req = 0;
|
||||
$display("\n The test is over \n See the internal signals of the module on the waveform \n");
|
||||
$finish;
|
||||
end
|
||||
|
||||
endmodule
|
Reference in New Issue
Block a user