tdraudio: remove pulse/noise waves, add sample buffer and irq
This commit is contained in:
parent
5db9631592
commit
7cc9ee807d
4 changed files with 98 additions and 107 deletions
|
|
@ -228,19 +228,12 @@ module top(
|
|||
assign uart_tx_data = mem_write_data[7:0];
|
||||
assign uart_rd_data = { {WIDTH-10{1'b1}}, uart_rx_avail, uart_tx_busy, uart_rx_data };
|
||||
|
||||
// interrupt controller
|
||||
reg timer_tick;
|
||||
reg[23:0] tick_count;
|
||||
wire [1:0] irq_in = { timer_tick, uart_rx_avail };
|
||||
wire [1:0] irqc_rd_data0;
|
||||
wire [WIDTH-1:0] irqc_rd_data = { tick_count, 6'b0, irqc_rd_data0 };
|
||||
wire irqc_seten = mem_write_data[7];
|
||||
wire irqc_cs = io_enable && (io_slot == 3);
|
||||
|
||||
wire audio_irq;
|
||||
`ifdef ENABLE_TDRAUDIO
|
||||
wire [WIDTH-1:0] tdraudio_wr_data;
|
||||
wire [WIDTH-1:0] tdraudio_rd_data;
|
||||
wire tdraudio_rd_en, tdraudio_wr_en;
|
||||
wire tdraudio_irq;
|
||||
|
||||
wire tdraudio_cs_en = io_enable && (io_slot == 4);
|
||||
assign tdraudio_rd_en = tdraudio_cs_en && mem_read_enable;
|
||||
|
|
@ -253,9 +246,20 @@ module top(
|
|||
tdraudio_wr_data,
|
||||
tdraudio_rd_en,
|
||||
tdraudio_wr_en,
|
||||
tdraudio_irq,
|
||||
amp2_ain, amp2_gain, amp2_shutdown_n);
|
||||
assign audio_irq = tdraudio_irq;
|
||||
`endif
|
||||
|
||||
// interrupt controller
|
||||
reg timer_tick;
|
||||
reg[23:0] tick_count;
|
||||
wire [2:0] irq_in = { audio_irq, timer_tick, uart_rx_avail };
|
||||
wire [2:0] irqc_rd_data0;
|
||||
wire [WIDTH-1:0] irqc_rd_data = { tick_count, 5'b0, irqc_rd_data0 };
|
||||
wire irqc_seten = mem_write_data[7];
|
||||
wire irqc_cs = io_enable && (io_slot == 3);
|
||||
|
||||
assign io_rd_data = (io_slot == 0) ? uart_rd_data :
|
||||
`ifdef ENABLE_MICROSD
|
||||
(io_slot == 1) ? spi_rd_data :
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue