URL
https://opencores.org/ocsvn/eco32/eco32/trunk
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 218 |
Rev 231 |
Line 1... |
Line 1... |
//
|
//
|
// fms.v -- FM synthesizer
|
// fms.v -- FM synthesizer
|
//
|
//
|
// NOTE: this is a fake module for now
|
// NOTE: This is a fake module for now.
|
|
// It allows writing directly to the DAC.
|
//
|
//
|
|
|
|
|
module fms(clk, reset,
|
module fms(clk, reset,
|
en, wr, addr,
|
en, wr, addr,
|
Line 23... |
Line 24... |
input next;
|
input next;
|
output [15:0] sample_l;
|
output [15:0] sample_l;
|
output [15:0] sample_r;
|
output [15:0] sample_r;
|
|
|
reg [31:0] value;
|
reg [31:0] value;
|
|
reg value_needed;
|
|
|
always @(posedge clk) begin
|
always @(posedge clk) begin
|
if (reset) begin
|
if (reset) begin
|
value[31:0] <= 32'h0;
|
value[31:0] <= 32'h0;
|
|
value_needed <= 0;
|
end else begin
|
end else begin
|
if (en & wr & ~|addr[11:2]) begin
|
if (en & wr & ~|addr[11:2]) begin
|
value[31:0] <= data_in[31:0];
|
value[31:0] <= data_in[31:0];
|
|
value_needed <= 0;
|
|
end else begin
|
|
if (next) begin
|
|
value_needed <= 1;
|
|
end
|
end
|
end
|
end
|
end
|
end
|
end
|
|
|
assign data_out[31:0] = value[31:0];
|
assign data_out[31:0] = { 31'h0, value_needed };
|
assign wt = 0;
|
assign wt = 0;
|
|
|
assign sample_l[15:0] = value[31:16];
|
assign sample_l[15:0] = value[31:16];
|
assign sample_r[15:0] = value[15:0];
|
assign sample_r[15:0] = value[15:0];
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.