mirror of
https://github.com/trcwm/Speech256.git
synced 2025-06-07 16:48:32 +02:00
Updated PWMDAC test bench
This commit is contained in:
parent
8e3de97977
commit
1d624a482a
@ -5,6 +5,9 @@
|
|||||||
// Niels Moseley - Moseley Instruments 2017
|
// Niels Moseley - Moseley Instruments 2017
|
||||||
// http://www.moseleyinstruments.com
|
// http://www.moseleyinstruments.com
|
||||||
//
|
//
|
||||||
|
//
|
||||||
|
// For a 10 kHz output rate, the clock rate should be 2.560 MHz
|
||||||
|
//
|
||||||
|
|
||||||
module PWMDAC (
|
module PWMDAC (
|
||||||
clk,
|
clk,
|
||||||
|
@ -10,6 +10,8 @@ module PWMDAC_TB;
|
|||||||
reg signed [0:7] din;
|
reg signed [0:7] din;
|
||||||
wire dacout, din_ack;
|
wire dacout, din_ack;
|
||||||
|
|
||||||
|
real accu;
|
||||||
|
|
||||||
PWMDAC u_pwmdac (
|
PWMDAC u_pwmdac (
|
||||||
.clk (clk),
|
.clk (clk),
|
||||||
.rst_an (rst_an),
|
.rst_an (rst_an),
|
||||||
@ -25,12 +27,24 @@ module PWMDAC_TB;
|
|||||||
clk = 0;
|
clk = 0;
|
||||||
rst_an = 0;
|
rst_an = 0;
|
||||||
din = 0;
|
din = 0;
|
||||||
|
accu = 0;
|
||||||
#3
|
#3
|
||||||
rst_an = 1;
|
rst_an = 1;
|
||||||
#10240
|
#655360
|
||||||
$finish;
|
$finish;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
always @(posedge clk)
|
||||||
|
begin
|
||||||
|
if (din_ack)
|
||||||
|
begin
|
||||||
|
accu = accu + 1.0/256.0;
|
||||||
|
if (accu > 1.0)
|
||||||
|
accu = -1.0;
|
||||||
|
din = $rtoi($sin(2.0*3.1415927*accu)*127.0);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
always
|
always
|
||||||
#5 clk = !clk;
|
#5 clk = !clk;
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
mkdir bin
|
mkdir bin
|
||||||
C:\iverilog\bin\iverilog -o bin\pwmdac.vvp -g2005 -s PWMDAC_TB pwmdac.v pwmdac_tb.v
|
C:\iverilog\bin\iverilog -o bin\pwmdac.vvp -m va_math -g2005 -s PWMDAC_TB pwmdac.v pwmdac_tb.v
|
||||||
cd bin
|
cd bin
|
||||||
C:\iverilog\bin\vvp pwmdac.vvp
|
C:\iverilog\bin\vvp pwmdac.vvp
|
||||||
cd ..
|
cd ..
|
||||||
|
Loading…
x
Reference in New Issue
Block a user