from FFT.controller import controller as FFT_controller dut = FFT() dut2 = FFT() dut.model = 'py' dut2.model = 'sv' #dut2.interactive_verilog=True len = 16 * 64 phres = 64 fsig = 25e6 indata=2**10*np.exp(1j*2*np.pi/phres*(np.arange(len)*np.round(fsig/dut.Rs*phres)))\ .reshape(-1,64) controller = FFT_controller() controller.reset() dut.io_in.Data = indata dut2.io_in.Data = indata dut.control_write = controller.control_write dut2.control_write = controller.control_write dut.run() dut2.run() f0 = plt.figure(0) plt.plot(np.abs(dut._io_out.Data[10, :])) plt.suptitle("Python model") plt.xlabel("Freq") plt.ylabel("Abs(FFT)") plt.show(block=False) f0.savefig('fft_python.eps', format='eps', dpi=300) f1 = plt.figure(1) plt.plot(np.abs(dut2._io_out.Data[10, :])) plt.suptitle("Verilog model") plt.xlabel("Freq") plt.ylabel("Abs(FFT)")