Updated PWMDAC test bench

This commit is contained in:
Niels Moseley 2017-10-10 00:54:20 +02:00
parent 8e3de97977
commit 1d624a482a
3 changed files with 19 additions and 2 deletions

View File

@ -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,

View File

@ -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;

View File

@ -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 ..