From 77f76421acd9f9da4d1b62bbf5a9717c3b9a4012 Mon Sep 17 00:00:00 2001 From: Julio Nunes Avelar Date: Tue, 26 Nov 2024 19:17:25 -0300 Subject: [PATCH] =?UTF-8?q?Realizando=20liga=C3=A7=C3=A3o=20do=20procesado?= =?UTF-8?q?r=20AUK-V?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rtl/AUK-V-Aethia.v | 74 +++++++++++++++++++++++++++++++--------------- 1 file changed, 50 insertions(+), 24 deletions(-) diff --git a/rtl/AUK-V-Aethia.v b/rtl/AUK-V-Aethia.v index 8ead0dd..8661a61 100644 --- a/rtl/AUK-V-Aethia.v +++ b/rtl/AUK-V-Aethia.v @@ -26,11 +26,21 @@ module processorci_top ( `endif ); -wire clk_core, reset_core, reset_o, - memory_read, memory_write; +wire clk_core, reset_core, reset_o; + +wire o_data_mem_en; // Sinal de habilitação de leitura da memória de dados +wire o_data_mem_we; // Sinal de habilitação de escrita da memória de dados +wire [31:0] o_data_mem_addr; // Endereço da memória de dados +wire [31:0] o_data_mem_data; // Dados a serem escritos na memória de dados +wire [31:0] i_data_mem_data; // Dados lidos da memória de dados +wire i_data_mem_valid; // Sinal indicando que a memória de dados está pronta + + +wire o_code_mem_en; // Sinal de habilitação de leitura da memória de instruções +wire [31:0] o_code_mem_addr; // Endereço da memória de instruções +wire [31:0] i_code_mem_data; // Dados lidos da memória de instruções +wire i_code_mem_valid; // Sinal indicando que a memória de instruções está pronta -wire [31:0] core_read_data, core_write_data, address, - data_address, data_read, data_write; Controller #( @@ -68,33 +78,49 @@ Controller #( .clk_core (clk_core), .reset_core(reset_core), - // main memory - instruction memory - .core_memory_response (), - .core_read_memory (memory_read), - .core_write_memory (1'b0), - .core_address_memory (address), - .core_write_data_memory(32'h00000000), - .core_read_data_memory (), - - //sync main memory bus + // Código de interligação entre Controller e aukv + .core_memory_response (i_code_mem_valid), // Resposta de memória de instruções + .core_read_memory (o_code_mem_en), // Habilitação de leitura de instruções + .core_write_memory (1'b0), // Nenhuma escrita de instruções (fixo) + .core_address_memory (o_code_mem_addr), // Endereço de memória de instruções + .core_write_data_memory(32'h00000000), // Sem escrita + .core_read_data_memory (i_code_mem_data), // Dados lidos da memória de instruções + + //sync memory bus (não utilizado) .core_read_data_memory_sync (), .core_memory_read_response_sync (), .core_memory_write_response_sync(), // Data memory - .core_memory_response_data (), - .core_read_memory_data (memory_read), - .core_write_memory_data (memory_write), - .core_address_memory_data (data_address), - .core_write_data_memory_data(data_write), - .core_read_data_memory_data (data_read) + .core_memory_response_data (i_data_mem_valid), // Resposta de dados de memória + .core_read_memory_data (o_data_mem_en), // Habilitação de leitura de memória de dados + .core_write_memory_data (o_data_mem_we), // Habilitação de escrita de memória de dados + .core_address_memory_data (o_data_mem_addr), // Endereço de memória de dados + .core_write_data_memory_data(o_data_mem_data), // Dados a serem escritos + .core_read_data_memory_data (i_data_mem_data) // Dados lidos da memória de dados ); - -// Core space - - - +aukv aukv_inst( + .i_clk (clk_core), + .i_rstn (~reset_core), // Reset ativo baixo + .i_irq (1'b0), // IRQ fixo como inativo + .o_ack (), // Sem interligação de ACK + + // Sinais de memória de dados + .o_data_mem_en (o_data_mem_en), + .o_data_mem_we (o_data_mem_we), + .o_data_mem_addr (o_data_mem_addr), + .o_data_mem_data (o_data_mem_data), + .o_data_mem_strobe (), // Sem strobe + .i_data_mem_valid (i_data_mem_valid), + .i_data_mem_data (i_data_mem_data), + + // Sinais de memória de instruções + .o_code_mem_en (o_code_mem_en), + .o_code_mem_addr (o_code_mem_addr), + .i_code_mem_data (i_code_mem_data), + .i_code_mem_valid (i_code_mem_valid) +); // Clock inflaestructure