📄 nco_tb.v
字号:
// Copyright (C) 1988-2007 Altera Corporation// Any megafunction design, and related net list (encrypted or decrypted),// support information, device programming or simulation file, and any other// associated documentation or information provided by Altera or a partner// under Altera's Megafunction Partnership Program may be used only to// program PLD devices (but not masked PLD devices) from Altera. Any other// use of such megafunction design, net list, support information, device// programming or simulation file, or any other related documentation or// information is prohibited for any other purpose, including, but not// limited to modification, reverse engineering, de-compiling, or use with// any other silicon devices, unless such use is explicitly licensed under// a separate agreement with Altera or a megafunction partner. Title to// the intellectual property, including patents, copyrights, trademarks,// trade secrets, or maskworks, embodied in any such megafunction design,// net list, support information, device programming or simulation file, or// any other related documentation or information provided by Altera or a// megafunction partner, remains with Altera, the megafunction partner, or// their respective licensors. No other licenses, including any licenses// needed under any third party's intellectual property, are provided herein.// NCO ver 8.1 VERILOG HDL TESTBENCH`timescale 1ps / 1psmodule NCO_tb;wire [9:0] sin_val;reg [31:0] phi;reg [15:0] fmod;reg [9:0] pmod;wire out_valid;reg reset_n;wire reset; assign reset = !reset_n;reg clken;reg clk;initial begin $dumpvars; #0 clk = 1'b0; #0 reset_n = 1'b0; #0 clken = 1'b1; #0 phi = 32'b00000010100011110101110000101001; #0 fmod = 16'b0001000000000000; #0 pmod = 64; #69999 reset_n = 1'b1; endalways begin #5000 clk = 1; #5000 clk = 0; endinteger sin_ch, sin_print;initial begin sin_ch = $fopen ("fsin_o_ver_NCO.txt"); endalways @(posedge clk) begin if(reset_n==1'b1 & out_valid==1'b1) begin if (sin_val[9:0] < (1<<9)) sin_print = sin_val[9:0]; else sin_print = sin_val[9:0] - (1<<10); $fdisplay (sin_ch, "%d", sin_print); endendNCO i_NCO ( .out_valid(out_valid), .fsin_o(sin_val[9:0]), .phi_inc_i(phi[31:0]), .freq_mod_i(fmod), .phase_mod_i(pmod), .reset_n(reset_n), .clken(clken), .clk(clk) );endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -