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
|
||||
// http://www.moseleyinstruments.com
|
||||
//
|
||||
//
|
||||
// For a 10 kHz output rate, the clock rate should be 2.560 MHz
|
||||
//
|
||||
|
||||
module PWMDAC (
|
||||
clk,
|
||||
|
@ -10,6 +10,8 @@ module PWMDAC_TB;
|
||||
reg signed [0:7] din;
|
||||
wire dacout, din_ack;
|
||||
|
||||
real accu;
|
||||
|
||||
PWMDAC u_pwmdac (
|
||||
.clk (clk),
|
||||
.rst_an (rst_an),
|
||||
@ -25,12 +27,24 @@ module PWMDAC_TB;
|
||||
clk = 0;
|
||||
rst_an = 0;
|
||||
din = 0;
|
||||
accu = 0;
|
||||
#3
|
||||
rst_an = 1;
|
||||
#10240
|
||||
#655360
|
||||
$finish;
|
||||
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
|
||||
#5 clk = !clk;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
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
|
||||
C:\iverilog\bin\vvp pwmdac.vvp
|
||||
cd ..
|
||||
|
Loading…
x
Reference in New Issue
Block a user