diff --git a/design/sd/rom_sd.sv b/design/sd/rom_sd.sv index 6c49a23..cfbb559 100644 --- a/design/sd/rom_sd.sv +++ b/design/sd/rom_sd.sv @@ -5,13 +5,13 @@ module sd( input logic reset, output logic ready, - audio_buffer_interface.driver audio_buffer + audio_buffer_interface.driver buffer ); // First we write 2048B into the memory buffer, then signal to play it and // wait for half signal to avoid overwriting memory logic initializing; -logic [16:0] rom_address; +logic [16:0] rom_addr; logic [7:0] rom_data; logic rom_enable; // Keep track of pipeline delay so we don't write garbage into the buffer @@ -26,7 +26,7 @@ assign ready = '1; always_ff @(posedge clk) begin if (reset) begin delay <= 1; - rom_address <= 0; + rom_addr <= 0; initializing <= 1; audio_buffer.addra <= 0; audio_buffer.ena <= 0; @@ -36,7 +36,7 @@ always_ff @(posedge clk) begin case (delay) 1: delay <= 0; 0: begin - rom_address <= 1; + rom_addr <= 1; delay <= 0; initializing <= 0; end @@ -87,7 +87,7 @@ xpm_memory_sprom #( ) xpm_memory_sprom_inst ( .douta(rom_data), // READ_DATA_WIDTH_A-bit output: Data output for port A read operations. - .addra(rom_address), // ADDR_WIDTH_A-bit input: Address for port A read operations. + .addra(rom_addr), // ADDR_WIDTH_A-bit input: Address for port A read operations. .clka(clk), // 1-bit input: Clock signal for port A. .ena(rom_enable), // 1-bit input: Memory enable signal for port A. Must be high on clock // cycles when read operations are initiated. Pipelined internally. diff --git a/doc/rom_sd.gv b/doc/rom_sd.gv index 72b13fc..e5b867d 100644 --- a/doc/rom_sd.gv +++ b/doc/rom_sd.gv @@ -1,23 +1,23 @@ digraph rom_sd { - Reset [shape = doublecircle, label = "RESET\nbuffer_half = 0\nrom_address = 0\nrom_enable = 1\nbuf.addr=0\nready=0"]; + Reset [shape = doublecircle, label = "RESET\nbuffer_half = 0\nrom_addr = 0\nrom_enable = 1\nbuffer.addra=0\nready=0"]; node [shape = circle]; - Delay [label="DELAY\nrom_address++"]; - WriteBuf [label="WRITEBUF\nbuf.ena=1\nbuf.data=rom_data\nbuf.addr++\nrom_addr++"]; - EndWrite [label="ENDWRITE\nbuf.ena=1\nbuf.data=rom_data\nbuf.addr++\nready=1"]; - Wait [label = "WAIT\nbuf.ena=0"]; + Delay [label="DELAY\nrom_addr++"]; + WriteBuf [label="WRITEBUF\nbuffer.ena=1\nbuffer.dina=rom_data\nbuffer.addra++\nrom_addr++"]; + EndWrite [label="ENDWRITE\nbuffer.ena=1\nbuffer.data=rom_data\nbuffer.addra++\nready=1"]; + Wait [label = "WAIT\nbuffer.ena=0"]; Reset -> Reset [label="reset"]; Reset -> Delay [label="!reset"]; Delay -> WriteBuf; - WriteBuf -> WriteBuf [label="buf.addr < 1023"] - WriteBuf -> EndWrite [label="buf.addr == 1023"] + WriteBuf -> WriteBuf [label="buffer.addra < 1023"] + WriteBuf -> EndWrite [label="buffer.addra == 1023"] EndWrite -> Wait; - Wait -> Wait [label = "buffer_half == buf.address_half"] - Wait -> Delay [label = "buffer_half != buf.address_half"] + Wait -> Wait [label = "buffer_half == buffer.address_half"] + Wait -> Delay [label = "buffer_half != buffer.address_half"] } diff --git a/doc/rom_sd.png b/doc/rom_sd.png index cee6e9b..44cf1ef 100644 Binary files a/doc/rom_sd.png and b/doc/rom_sd.png differ