Achieve timing closure: DSP48E1 pipelines, 4-stage NCO, 28-bit CIC, ASYNC_REG

Phase 0+ timing optimization (attempts #13-22 + implementation):

NCO (nco_400m_enhanced.v):
- 4-stage pipeline: DSP48E1 accumulate -> LUT read -> negate -> quadrant MUX
- DSP48E1 phase accumulator in P=P+C mode (eliminates 8-stage CARRY4 chain)
- Registered phase_inc_dithered to break cascaded 32-bit add path

DDC (ddc_400m.v):
- Direct DSP48E1 instantiation for I/Q mixers (AREG=1, BREG=1, MREG=1, PREG=1)
- CEP=1, RSTP=!reset_n for proper pipeline control
- 3-stage dsp_valid_pipe for PREG=1 latency
- Behavioral sim model under ifdef SIMULATION for Icarus compatibility

CIC (cic_decimator_4x_enhanced.v):
- 28-bit accumulators (was 36) per CIC width formula: 18 + 5*log2(4) = 28
- Removed integrator/comb saturation (CIC uses wrapping arithmetic by design)
- Pipelined output saturation comparison

CDC/ASYNC_REG:
- ASYNC_REG attribute on all CDC synchronizer registers (cdc_modules.v,
  radar_system_top.v, usb_data_interface.v)
- Sync reset in generate blocks (cdc_modules.v)

Results: Vivado post-implementation WNS=+1.196ns, 0 failing endpoints,
850 LUTs (1.34%), 466 FFs (0.37%), 2 DSP48E1 (0.83%) on xc7a100t.
All testbenches pass: 241/244 (3 known stub failures).
This commit is contained in:
Jason
2026-03-16 01:02:07 +02:00
parent 1e51b739a7
commit c983a3c705
15 changed files with 5883 additions and 5466 deletions
+20 -21
View File
@@ -2,6 +2,9 @@
// ============================================================================
// CDC FOR MULTI-BIT DATA (ADVANCED)
// Uses Gray-code encoding with synchronous reset on sync chain to avoid
// latch inference. ASYNC_REG attributes ensure Vivado places synchronizer
// FFs in the same slice for optimal MTBF.
// ============================================================================
module cdc_adc_to_processing #(
parameter WIDTH = 8,
@@ -38,15 +41,16 @@ module cdc_adc_to_processing #(
// Source domain registers
reg [WIDTH-1:0] src_data_reg;
reg [1:0] src_toggle = 2'b00;
reg src_toggle_sync = 0;
// Destination domain registers
reg [WIDTH-1:0] dst_data_gray [0:STAGES-1];
reg [1:0] dst_toggle_sync [0:STAGES-1];
// Destination domain synchronizer registers
// ASYNC_REG on memory arrays applies to all elements
(* ASYNC_REG = "TRUE" *) reg [WIDTH-1:0] dst_data_gray [0:STAGES-1];
(* ASYNC_REG = "TRUE" *) reg [1:0] dst_toggle_sync [0:STAGES-1];
reg [WIDTH-1:0] dst_data_reg;
reg dst_valid_reg = 0;
reg [1:0] prev_dst_toggle = 2'b00;
// Source domain: capture data and toggle
always @(posedge src_clk or negedge reset_n) begin
if (!reset_n) begin
src_data_reg <= 0;
@@ -57,17 +61,16 @@ module cdc_adc_to_processing #(
end
end
// CDC synchronization chain for data
// CDC synchronization chain for data SYNCHRONOUS RESET
// Using synchronous reset avoids latch inference in Vivado.
// For CDC synchronizers, synchronous reset is preferred because
// the reset value is sampled safely within the clock domain.
genvar i;
generate
for (i = 0; i < STAGES; i = i + 1) begin : data_sync_chain
always @(posedge dst_clk or negedge reset_n) begin
always @(posedge dst_clk) begin
if (!reset_n) begin
if (i == 0) begin
dst_data_gray[i] <= 0;
end else begin
dst_data_gray[i] <= dst_data_gray[i-1];
end
dst_data_gray[i] <= 0;
end else begin
if (i == 0) begin
// Convert to gray code at domain crossing
@@ -80,13 +83,9 @@ module cdc_adc_to_processing #(
end
for (i = 0; i < STAGES; i = i + 1) begin : toggle_sync_chain
always @(posedge dst_clk or negedge reset_n) begin
always @(posedge dst_clk) begin
if (!reset_n) begin
if (i == 0) begin
dst_toggle_sync[i] <= 2'b00;
end else begin
dst_toggle_sync[i] <= dst_toggle_sync[i-1];
end
dst_toggle_sync[i] <= 2'b00;
end else begin
if (i == 0) begin
dst_toggle_sync[i] <= src_toggle;
@@ -136,7 +135,7 @@ module cdc_single_bit #(
output wire dst_signal
);
reg [STAGES-1:0] sync_chain;
(* ASYNC_REG = "TRUE" *) reg [STAGES-1:0] sync_chain;
always @(posedge dst_clk or negedge reset_n) begin
if (!reset_n) begin
@@ -171,13 +170,13 @@ module cdc_handshake #(
reg [WIDTH-1:0] src_data_reg;
reg src_busy = 0;
reg src_ack_sync = 0;
reg [1:0] src_ack_sync_chain = 2'b00;
(* ASYNC_REG = "TRUE" *) reg [1:0] src_ack_sync_chain = 2'b00;
// Destination domain
reg [WIDTH-1:0] dst_data_reg;
reg dst_valid_reg = 0;
reg dst_req_sync = 0;
reg [1:0] dst_req_sync_chain = 2'b00;
(* ASYNC_REG = "TRUE" *) reg [1:0] dst_req_sync_chain = 2'b00;
reg dst_ack = 0;
// Source clock domain
@@ -234,4 +233,4 @@ module cdc_handshake #(
assign dst_data = dst_data_reg;
assign dst_valid = dst_valid_reg;
endmodule
endmodule
+65 -91
View File
@@ -15,20 +15,23 @@ parameter STAGES = 5;
parameter DECIMATION = 4;
parameter COMB_DELAY = 1;
// Increased bit width for 18-bit input with headroom
reg signed [35:0] integrator [0:STAGES-1]; // 36-bit for better dynamic range
reg signed [35:0] comb [0:STAGES-1];
reg signed [35:0] comb_delay [0:STAGES-1][0:COMB_DELAY-1];
// Enhanced control and monitoring
reg [1:0] decimation_counter;
reg data_valid_delayed;
reg data_valid_comb;
reg [7:0] output_counter;
reg [35:0] max_integrator_value;
reg overflow_detected;
reg overflow_latched; // Latched overflow indicator
// Accumulator width: input_width + N*log2(R) = 18 + 5*2 = 28 bits
// (36-bit was over-provisioned; 28 bits is mathematically exact for R=4, N=5)
localparam ACC_WIDTH = 28;
reg signed [ACC_WIDTH-1:0] integrator [0:STAGES-1];
reg signed [ACC_WIDTH-1:0] comb [0:STAGES-1];
reg signed [ACC_WIDTH-1:0] comb_delay [0:STAGES-1][0:COMB_DELAY-1];
// Enhanced control and monitoring
reg [1:0] decimation_counter;
reg data_valid_delayed;
reg data_valid_comb;
reg [7:0] output_counter;
reg [ACC_WIDTH-1:0] max_integrator_value;
reg overflow_detected;
reg overflow_latched; // Latched overflow indicator
// Diagnostic registers
reg [7:0] saturation_event_count;
reg [31:0] sample_count;
@@ -36,12 +39,18 @@ reg [31:0] sample_count;
// Comb-stage saturation flags (separate from integrator block to avoid multi-driven nets)
reg comb_overflow_latched;
reg comb_saturation_detected;
reg [7:0] comb_saturation_event_count;
// Temporary signals for calculations
reg signed [35:0] abs_integrator_value;
reg signed [35:0] temp_scaled_output;
reg [7:0] comb_saturation_event_count;
// Temporary signals for calculations
reg signed [ACC_WIDTH-1:0] abs_integrator_value;
reg signed [ACC_WIDTH-1:0] temp_scaled_output;
reg signed [17:0] temp_output; // Temporary output for proper range checking
// Pipeline stage for saturation comparison — breaks CARRY4 chain from timing path
reg sat_pos; // temp_scaled_output > 131071 (registered)
reg sat_neg; // temp_scaled_output < -131072 (registered)
reg signed [17:0] temp_output_pipe; // Registered passthrough value
reg data_out_valid_pipe; // Delayed valid for pipelined output
integer i, j;
@@ -70,6 +79,10 @@ initial begin
abs_integrator_value = 0;
temp_scaled_output = 0;
temp_output = 0;
sat_pos = 0;
sat_neg = 0;
temp_output_pipe = 0;
data_out_valid_pipe = 0;
comb_overflow_latched = 0;
comb_saturation_detected = 0;
comb_saturation_event_count = 0;
@@ -106,54 +119,23 @@ always @(posedge clk or negedge reset_n) begin
if (data_valid) begin
sample_count <= sample_count + 1;
// First integrator stage with enhanced saturation detection
if (integrator[0] + $signed({{18{data_in[17]}}, data_in}) > (2**35 - 1)) begin
integrator[0] <= (2**35 - 1);
overflow_detected <= 1'b1;
overflow_latched <= 1'b1;
saturation_detected <= 1'b1;
saturation_event_count <= saturation_event_count + 1;
`ifdef SIMULATION
$display("CIC_SATURATION: Positive overflow at sample %0d", sample_count);
`endif
end else if (integrator[0] + $signed({{18{data_in[17]}}, data_in}) < -(2**35)) begin
integrator[0] <= -(2**35);
overflow_detected <= 1'b1;
overflow_latched <= 1'b1;
saturation_detected <= 1'b1;
saturation_event_count <= saturation_event_count + 1;
`ifdef SIMULATION
$display("CIC_SATURATION: Negative overflow at sample %0d", sample_count);
`endif
end else begin
integrator[0] <= integrator[0] + $signed({{18{data_in[17]}}, data_in});
overflow_detected <= 1'b0; // Only clear immediate detection, not latched
end
// Integrator stages — standard CIC uses wrapping (modular) arithmetic.
// Saturation clamping is removed because CIC math relies on wrap-around;
// the comb stages difference successive integrator values, canceling wraps.
integrator[0] <= integrator[0] + {{(ACC_WIDTH-18){data_in[17]}}, data_in};
// Calculate absolute value for monitoring
abs_integrator_value <= (integrator[0][35]) ? -integrator[0] : integrator[0];
abs_integrator_value <= (integrator[0][ACC_WIDTH-1]) ? -integrator[0] : integrator[0];
// Track maximum integrator value for gain monitoring (absolute value)
if (abs_integrator_value > max_integrator_value) begin
max_integrator_value <= abs_integrator_value;
max_value_monitor <= abs_integrator_value[31:24];
max_value_monitor <= abs_integrator_value[ACC_WIDTH-5:ACC_WIDTH-12];
end
// Remaining integrator stages with saturation protection
// Remaining integrator stages — pure accumulation, no saturation
for (i = 1; i < STAGES; i = i + 1) begin
if (integrator[i] + integrator[i-1] > (2**35 - 1)) begin
integrator[i] <= (2**35 - 1);
overflow_detected <= 1'b1;
overflow_latched <= 1'b1;
saturation_detected <= 1'b1;
end else if (integrator[i] + integrator[i-1] < -(2**35)) begin
integrator[i] <= -(2**35);
overflow_detected <= 1'b1;
overflow_latched <= 1'b1;
saturation_detected <= 1'b1;
end else begin
integrator[i] <= integrator[i] + integrator[i-1];
end
integrator[i] <= integrator[i] + integrator[i-1];
end
// Enhanced decimation control
@@ -194,6 +176,10 @@ always @(posedge clk or negedge reset_n) begin
data_out_valid <= 0;
temp_scaled_output <= 0;
temp_output <= 0;
sat_pos <= 0;
sat_neg <= 0;
temp_output_pipe <= 0;
data_out_valid_pipe <= 0;
comb_overflow_latched <= 0;
comb_saturation_detected <= 0;
comb_saturation_event_count <= 0;
@@ -207,21 +193,11 @@ always @(posedge clk or negedge reset_n) begin
end
if (data_valid_comb) begin
// Enhanced comb processing with saturation check
// Comb processing raw subtraction only (no saturation check needed;
// comb is a differencing stage, cannot overflow if integrators are bounded)
for (i = 0; i < STAGES; i = i + 1) begin
if (i == 0) begin
// Check for comb stage saturation
if (integrator[STAGES-1] - comb_delay[0][COMB_DELAY-1] > (2**35 - 1)) begin
comb[0] <= (2**35 - 1);
comb_overflow_latched <= 1'b1;
comb_saturation_detected <= 1'b1;
end else if (integrator[STAGES-1] - comb_delay[0][COMB_DELAY-1] < -(2**35)) begin
comb[0] <= -(2**35);
comb_overflow_latched <= 1'b1;
comb_saturation_detected <= 1'b1;
end else begin
comb[0] <= integrator[STAGES-1] - comb_delay[0][COMB_DELAY-1];
end
comb[0] <= integrator[STAGES-1] - comb_delay[0][COMB_DELAY-1];
// Update delay line for first stage
for (j = COMB_DELAY-1; j > 0; j = j - 1) begin
@@ -229,18 +205,7 @@ always @(posedge clk or negedge reset_n) begin
end
comb_delay[0][0] <= integrator[STAGES-1];
end else begin
// Check for comb stage saturation
if (comb[i-1] - comb_delay[i][COMB_DELAY-1] > (2**35 - 1)) begin
comb[i] <= (2**35 - 1);
comb_overflow_latched <= 1'b1;
comb_saturation_detected <= 1'b1;
end else if (comb[i-1] - comb_delay[i][COMB_DELAY-1] < -(2**35)) begin
comb[i] <= -(2**35);
comb_overflow_latched <= 1'b1;
comb_saturation_detected <= 1'b1;
end else begin
comb[i] <= comb[i-1] - comb_delay[i][COMB_DELAY-1];
end
comb[i] <= comb[i-1] - comb_delay[i][COMB_DELAY-1];
// Update delay line
for (j = COMB_DELAY-1; j > 0; j = j - 1) begin
@@ -257,27 +222,36 @@ always @(posedge clk or negedge reset_n) begin
// FIXED: Extract 18-bit output properly
temp_output <= temp_scaled_output[17:0];
// FIXED: Proper saturation detection for 18-bit signed range
if (temp_scaled_output > 131071) begin // 2^17 - 1
// Pipeline Stage 2: Register saturation comparison flags
// This breaks the CARRY4 chain out of the data_out critical path
sat_pos <= (temp_scaled_output > 131071);
sat_neg <= (temp_scaled_output < -131072);
temp_output_pipe <= temp_scaled_output[17:0];
data_out_valid_pipe <= 1;
end else begin
data_out_valid_pipe <= 0;
end
// Pipeline Stage 3: MUX from registered comparison flags
if (data_out_valid_pipe) begin
if (sat_pos) begin
data_out <= 131071;
comb_overflow_latched <= 1'b1;
comb_saturation_detected <= 1'b1;
comb_saturation_event_count <= comb_saturation_event_count + 1;
`ifdef SIMULATION
$display("CIC_OUTPUT_SAT: TRUE Positive saturation, raw=%h, scaled=%h, temp_out=%d, final_out=%d",
comb[STAGES-1], temp_scaled_output, temp_output, 131071);
$display("CIC_OUTPUT_SAT: TRUE Positive saturation, final_out=%d", 131071);
`endif
end else if (temp_scaled_output < -131072) begin // -2^17
end else if (sat_neg) begin
data_out <= -131072;
comb_overflow_latched <= 1'b1;
comb_saturation_detected <= 1'b1;
comb_saturation_event_count <= comb_saturation_event_count + 1;
`ifdef SIMULATION
$display("CIC_OUTPUT_SAT: TRUE Negative saturation, raw=%h, scaled=%h, temp_out=%d, final_out=%d",
comb[STAGES-1], temp_scaled_output, temp_output, -131072);
$display("CIC_OUTPUT_SAT: TRUE Negative saturation, final_out=%d", -131072);
`endif
end else begin
data_out <= temp_output;
data_out <= temp_output_pipe;
comb_overflow_latched <= 1'b0;
comb_saturation_detected <= 1'b0;
end
+349 -92
View File
@@ -54,36 +54,41 @@ reg [2:0] saturation_count;
reg overflow_detected;
reg [7:0] error_counter;
// CDC synchronization for control signals
reg mixers_enable_sync;
reg bypass_mode_sync;
// Debug monitoring signals
reg [31:0] sample_counter;
wire signed [17:0] debug_mixed_i_trunc;
wire signed [17:0] debug_mixed_q_trunc;
// Real-time status monitoring
// CDC synchronization for control signals (2-stage synchronizers)
(* ASYNC_REG = "TRUE" *) reg [1:0] mixers_enable_sync_chain;
(* ASYNC_REG = "TRUE" *) reg [1:0] bypass_mode_sync_chain;
(* ASYNC_REG = "TRUE" *) reg [1:0] force_saturation_sync_chain;
wire mixers_enable_sync;
wire bypass_mode_sync;
wire force_saturation_sync;
// Debug monitoring signals
reg [31:0] sample_counter;
wire signed [17:0] debug_mixed_i_trunc;
wire signed [17:0] debug_mixed_q_trunc;
// Real-time status monitoring
reg [7:0] signal_power_i, signal_power_q;
// Enhanced saturation injection for testing
reg force_saturation_sync;
// Internal mixing signals
reg signed [MIXER_WIDTH-1:0] adc_signed;
reg signed [MIXER_WIDTH + NCO_WIDTH -1:0] mixed_i, mixed_q;
reg mixed_valid;
reg mixer_overflow_i, mixer_overflow_q;
// Internal mixing signals
// DSP48E1 with AREG=1, BREG=1, MREG=1, PREG=1 handles all internal pipelining
// Latency: 3 cycles (1 for AREG/BREG, 1 for MREG, 1 for PREG)
wire signed [MIXER_WIDTH-1:0] adc_signed_w;
reg signed [MIXER_WIDTH + NCO_WIDTH -1:0] mixed_i, mixed_q;
reg mixed_valid;
reg mixer_overflow_i, mixer_overflow_q;
// Pipeline valid tracking: 3-stage shift register to match DSP48E1 AREG+MREG+PREG latency
reg [2:0] dsp_valid_pipe;
// Output stage registers
reg signed [17:0] baseband_i_reg, baseband_q_reg;
reg baseband_valid_reg;
// ============================================================================
// Phase Dithering Signals
// ============================================================================
wire [7:0] phase_dither_bits;
wire [31:0] phase_inc_dithered;
// Phase Dithering Signals
// ============================================================================
wire [7:0] phase_dither_bits;
reg [31:0] phase_inc_dithered;
@@ -97,27 +102,30 @@ assign debug_mixed_i_trunc = mixed_i[25:8];
assign debug_mixed_q_trunc = mixed_q[25:8];
// ============================================================================
// Clock Domain Crossing for Control Signals
// ============================================================================
always @(posedge clk_400m or negedge reset_n) begin
if (!reset_n) begin
mixers_enable_sync <= 1'b0;
bypass_mode_sync <= 1'b0;
force_saturation_sync <= 1'b0;
end else begin
mixers_enable_sync <= mixers_enable;
bypass_mode_sync <= bypass_mode;
force_saturation_sync <= force_saturation;
end
// Clock Domain Crossing for Control Signals (2-stage synchronizers)
// ============================================================================
assign mixers_enable_sync = mixers_enable_sync_chain[1];
assign bypass_mode_sync = bypass_mode_sync_chain[1];
assign force_saturation_sync = force_saturation_sync_chain[1];
always @(posedge clk_400m or negedge reset_n) begin
if (!reset_n) begin
mixers_enable_sync_chain <= 2'b00;
bypass_mode_sync_chain <= 2'b00;
force_saturation_sync_chain <= 2'b00;
end else begin
mixers_enable_sync_chain <= {mixers_enable_sync_chain[0], mixers_enable};
bypass_mode_sync_chain <= {bypass_mode_sync_chain[0], bypass_mode};
force_saturation_sync_chain <= {force_saturation_sync_chain[0], force_saturation};
end
end
// ============================================================================
// Sample Counter and Debug Monitoring
// ============================================================================
always @(posedge clk_400m or negedge reset_n) begin
if (!reset_n || reset_monitors) begin
sample_counter <= 0;
saturation_count <= 0;
if (!reset_n || reset_monitors) begin
sample_counter <= 0;
error_counter <= 0;
end else if (adc_data_valid_i && adc_data_valid_q ) begin
sample_counter <= sample_counter + 1;
@@ -143,8 +151,13 @@ lfsr_dither_enhanced #(
// Calculate phase increment for 120MHz IF at 400MHz sampling
localparam PHASE_INC_120MHZ = 32'h4CCCCCCD;
// Apply dithering to reduce spurious tones
assign phase_inc_dithered = PHASE_INC_120MHZ + {24'b0, phase_dither_bits};
// Apply dithering to reduce spurious tones (registered for 400 MHz timing)
always @(posedge clk_400m or negedge reset_n) begin
if (!reset_n)
phase_inc_dithered <= PHASE_INC_120MHZ;
else
phase_inc_dithered <= PHASE_INC_120MHZ + {24'b0, phase_dither_bits};
end
// ============================================================================
// Enhanced NCO with Diagnostics
@@ -160,59 +173,303 @@ nco_400m_enhanced nco_core (
.dds_ready(nco_ready)
);
// ============================================================================
// Enhanced Mixing Stage with AGC
// ============================================================================
always @(posedge clk_400m or negedge reset_n) begin
if (!reset_n) begin
adc_signed <= 0;
mixed_i <= 0;
mixed_q <= 0;
mixed_valid <= 0;
mixer_overflow_i <= 0;
mixer_overflow_q <= 0;
saturation_count <= 0;
overflow_detected <= 0;
end else if (nco_ready && adc_data_valid_i && adc_data_valid_q) begin
// Convert ADC data to signed with extended precision
adc_signed <= {1'b0, adc_data, {(MIXER_WIDTH-ADC_WIDTH-1){1'b0}}} -
{1'b0, {ADC_WIDTH{1'b1}}, {(MIXER_WIDTH-ADC_WIDTH-1){1'b0}}} / 2;
// Force saturation for testing
if (force_saturation_sync) begin
mixed_i <= 34'h1FFFFFFFF; // Force positive saturation
mixed_q <= 34'h200000000; // Force negative saturation
mixer_overflow_i <= 1'b1;
mixer_overflow_q <= 1'b1;
end else begin
// Normal mixing
mixed_i <= $signed(adc_signed) * $signed(cos_out);
mixed_q <= $signed(adc_signed) * $signed(sin_out);
// Enhanced overflow detection with counting
mixer_overflow_i <= (mixed_i > (2**(MIXER_WIDTH+NCO_WIDTH-2)-1)) ||
(mixed_i < -(2**(MIXER_WIDTH+NCO_WIDTH-2)));
mixer_overflow_q <= (mixed_q > (2**(MIXER_WIDTH+NCO_WIDTH-2)-1)) ||
(mixed_q < -(2**(MIXER_WIDTH+NCO_WIDTH-2)));
end
mixed_valid <= 1;
if (mixer_overflow_i || mixer_overflow_q) begin
saturation_count <= saturation_count + 1;
overflow_detected <= 1'b1;
end else begin
overflow_detected <= 1'b0;
end
end else begin
mixed_valid <= 0;
mixer_overflow_i <= 0;
mixer_overflow_q <= 0;
overflow_detected <= 1'b0;
end
// ============================================================================
// Enhanced Mixing Stage DSP48E1 direct instantiation for 400 MHz timing
//
// Architecture:
// ADC data sign-extend to 18b DSP48E1 A-port (AREG=1 pipelines it)
// NCO cos/sin sign-extend to 18b DSP48E1 B-port (BREG=1 pipelines it)
// Multiply result captured by MREG=1, then output registered by PREG=1
// force_saturation override applied AFTER DSP48E1 output (not on input path)
//
// Latency: 3 clock cycles (AREG/BREG + MREG + PREG)
// PREG=1 absorbs DSP48E1 CLKP delay internally, preventing fabric timing violations
// In simulation (Icarus), uses behavioral equivalent since DSP48E1 is Xilinx-only
// ============================================================================
// Combinational ADC sign conversion (no register DSP48E1 AREG handles it)
assign adc_signed_w = {1'b0, adc_data, {(MIXER_WIDTH-ADC_WIDTH-1){1'b0}}} -
{1'b0, {ADC_WIDTH{1'b1}}, {(MIXER_WIDTH-ADC_WIDTH-1){1'b0}}} / 2;
// Valid pipeline: 3-stage shift register matching DSP48E1 AREG+MREG+PREG latency
always @(posedge clk_400m or negedge reset_n) begin
if (!reset_n) begin
dsp_valid_pipe <= 3'b000;
end else begin
dsp_valid_pipe <= {dsp_valid_pipe[1:0], (nco_ready && adc_data_valid_i && adc_data_valid_q)};
end
end
`ifdef SIMULATION
// ---- Behavioral model for Icarus Verilog simulation ----
// Mimics DSP48E1 with AREG=1, BREG=1, MREG=1, PREG=1 (3-cycle latency)
reg signed [MIXER_WIDTH-1:0] adc_signed_reg; // Models AREG
reg signed [15:0] cos_pipe_reg, sin_pipe_reg; // Models BREG
reg signed [MIXER_WIDTH+NCO_WIDTH-1:0] mult_i_internal, mult_q_internal; // Models MREG
reg signed [MIXER_WIDTH+NCO_WIDTH-1:0] mult_i_reg, mult_q_reg; // Models PREG
// Stage 1: AREG/BREG equivalent
always @(posedge clk_400m or negedge reset_n) begin
if (!reset_n) begin
adc_signed_reg <= 0;
cos_pipe_reg <= 0;
sin_pipe_reg <= 0;
end else begin
adc_signed_reg <= adc_signed_w;
cos_pipe_reg <= cos_out;
sin_pipe_reg <= sin_out;
end
end
// Stage 2: MREG equivalent
always @(posedge clk_400m or negedge reset_n) begin
if (!reset_n) begin
mult_i_internal <= 0;
mult_q_internal <= 0;
end else begin
mult_i_internal <= $signed(adc_signed_reg) * $signed(cos_pipe_reg);
mult_q_internal <= $signed(adc_signed_reg) * $signed(sin_pipe_reg);
end
end
// Stage 3: PREG equivalent
always @(posedge clk_400m or negedge reset_n) begin
if (!reset_n) begin
mult_i_reg <= 0;
mult_q_reg <= 0;
end else begin
mult_i_reg <= mult_i_internal;
mult_q_reg <= mult_q_internal;
end
end
`else
// ---- Direct DSP48E1 instantiation for Vivado synthesis ----
// This guarantees AREG/BREG/MREG are used, achieving timing closure at 400 MHz
wire [47:0] dsp_p_i, dsp_p_q;
// DSP48E1 for I-channel mixer (adc_signed * cos_out)
DSP48E1 #(
// Feature control attributes
.A_INPUT("DIRECT"),
.B_INPUT("DIRECT"),
.USE_DPORT("FALSE"),
.USE_MULT("MULTIPLY"),
.USE_SIMD("ONE48"),
// Pipeline register attributes all enabled for max timing
.AREG(1),
.BREG(1),
.MREG(1),
.PREG(1), // P register enabled absorbs CLKP delay for timing closure
.ADREG(0),
.ACASCREG(1),
.BCASCREG(1),
.ALUMODEREG(0),
.CARRYINREG(0),
.CARRYINSELREG(0),
.CREG(0),
.DREG(0),
.INMODEREG(0),
.OPMODEREG(0),
// Pattern detector (unused)
.AUTORESET_PATDET("NO_RESET"),
.MASK(48'h3fffffffffff),
.PATTERN(48'h000000000000),
.SEL_MASK("MASK"),
.SEL_PATTERN("PATTERN"),
.USE_PATTERN_DETECT("NO_PATDET")
) dsp_mixer_i (
// Clock and reset
.CLK(clk_400m),
.RSTA(!reset_n),
.RSTB(!reset_n),
.RSTM(!reset_n),
.RSTP(!reset_n),
.RSTALLCARRYIN(1'b0),
.RSTALUMODE(1'b0),
.RSTCTRL(1'b0),
.RSTC(1'b0),
.RSTD(1'b0),
.RSTINMODE(1'b0),
// Clock enables
.CEA1(1'b0), // AREG=1 uses CEA2
.CEA2(1'b1),
.CEB1(1'b0), // BREG=1 uses CEB2
.CEB2(1'b1),
.CEM(1'b1),
.CEP(1'b1), // P register clock enable (PREG=1)
.CEAD(1'b0),
.CEALUMODE(1'b0),
.CECARRYIN(1'b0),
.CECTRL(1'b0),
.CEC(1'b0),
.CED(1'b0),
.CEINMODE(1'b0),
// Data ports
.A({{12{adc_signed_w[MIXER_WIDTH-1]}}, adc_signed_w}), // Sign-extend 18b to 30b
.B({{2{cos_out[15]}}, cos_out}), // Sign-extend 16b to 18b
.C(48'b0),
.D(25'b0),
.CARRYIN(1'b0),
// Control ports
.OPMODE(7'b0000101), // P = M (multiply only, no accumulate)
.ALUMODE(4'b0000), // Z + X + Y + CIN
.INMODE(5'b00000), // A2 * B2 (direct)
.CARRYINSEL(3'b000),
// Output ports
.P(dsp_p_i),
.PATTERNDETECT(),
.PATTERNBDETECT(),
.OVERFLOW(),
.UNDERFLOW(),
.CARRYOUT(),
// Cascade ports (unused)
.ACIN(30'b0),
.BCIN(18'b0),
.CARRYCASCIN(1'b0),
.MULTSIGNIN(1'b0),
.PCIN(48'b0),
.ACOUT(),
.BCOUT(),
.CARRYCASCOUT(),
.MULTSIGNOUT(),
.PCOUT()
);
// DSP48E1 for Q-channel mixer (adc_signed * sin_out)
DSP48E1 #(
.A_INPUT("DIRECT"),
.B_INPUT("DIRECT"),
.USE_DPORT("FALSE"),
.USE_MULT("MULTIPLY"),
.USE_SIMD("ONE48"),
.AREG(1),
.BREG(1),
.MREG(1),
.PREG(1),
.ADREG(0),
.ACASCREG(1),
.BCASCREG(1),
.ALUMODEREG(0),
.CARRYINREG(0),
.CARRYINSELREG(0),
.CREG(0),
.DREG(0),
.INMODEREG(0),
.OPMODEREG(0),
.AUTORESET_PATDET("NO_RESET"),
.MASK(48'h3fffffffffff),
.PATTERN(48'h000000000000),
.SEL_MASK("MASK"),
.SEL_PATTERN("PATTERN"),
.USE_PATTERN_DETECT("NO_PATDET")
) dsp_mixer_q (
.CLK(clk_400m),
.RSTA(!reset_n),
.RSTB(!reset_n),
.RSTM(!reset_n),
.RSTP(!reset_n),
.RSTALLCARRYIN(1'b0),
.RSTALUMODE(1'b0),
.RSTCTRL(1'b0),
.RSTC(1'b0),
.RSTD(1'b0),
.RSTINMODE(1'b0),
.CEA1(1'b0),
.CEA2(1'b1),
.CEB1(1'b0),
.CEB2(1'b1),
.CEM(1'b1),
.CEP(1'b1), // P register clock enable (PREG=1)
.CEAD(1'b0),
.CEALUMODE(1'b0),
.CECARRYIN(1'b0),
.CECTRL(1'b0),
.CEC(1'b0),
.CED(1'b0),
.CEINMODE(1'b0),
.A({{12{adc_signed_w[MIXER_WIDTH-1]}}, adc_signed_w}),
.B({{2{sin_out[15]}}, sin_out}),
.C(48'b0),
.D(25'b0),
.CARRYIN(1'b0),
.OPMODE(7'b0000101),
.ALUMODE(4'b0000),
.INMODE(5'b00000),
.CARRYINSEL(3'b000),
.P(dsp_p_q),
.PATTERNDETECT(),
.PATTERNBDETECT(),
.OVERFLOW(),
.UNDERFLOW(),
.CARRYOUT(),
.ACIN(30'b0),
.BCIN(18'b0),
.CARRYCASCIN(1'b0),
.MULTSIGNIN(1'b0),
.PCIN(48'b0),
.ACOUT(),
.BCOUT(),
.CARRYCASCOUT(),
.MULTSIGNOUT(),
.PCOUT()
);
// Extract the multiply result from DSP48E1 P output
// adc_signed is 18 bits, NCO is 16 bits product is 34 bits (bits [33:0] of P)
wire signed [MIXER_WIDTH+NCO_WIDTH-1:0] mult_i_reg = dsp_p_i[MIXER_WIDTH+NCO_WIDTH-1:0];
wire signed [MIXER_WIDTH+NCO_WIDTH-1:0] mult_q_reg = dsp_p_q[MIXER_WIDTH+NCO_WIDTH-1:0];
`endif
// ============================================================================
// Post-DSP48E1 output stage: force_saturation override + overflow detection
// force_saturation mux is intentionally AFTER the DSP48E1 output to avoid
// polluting the critical input path with extra logic
// ============================================================================
always @(posedge clk_400m or negedge reset_n) begin
if (!reset_n) begin
mixed_i <= 0;
mixed_q <= 0;
mixed_valid <= 0;
mixer_overflow_i <= 0;
mixer_overflow_q <= 0;
saturation_count <= 0;
overflow_detected <= 0;
end else if (dsp_valid_pipe[2]) begin
// Force saturation for testing (applied after DSP output, not on input path)
if (force_saturation_sync) begin
mixed_i <= 34'h1FFFFFFFF;
mixed_q <= 34'h200000000;
mixer_overflow_i <= 1'b1;
mixer_overflow_q <= 1'b1;
end else begin
// Normal path: take DSP48E1 multiply result
mixed_i <= mult_i_reg;
mixed_q <= mult_q_reg;
// Overflow detection on current cycle's multiply result
mixer_overflow_i <= (mult_i_reg > (2**(MIXER_WIDTH+NCO_WIDTH-2)-1)) ||
(mult_i_reg < -(2**(MIXER_WIDTH+NCO_WIDTH-2)));
mixer_overflow_q <= (mult_q_reg > (2**(MIXER_WIDTH+NCO_WIDTH-2)-1)) ||
(mult_q_reg < -(2**(MIXER_WIDTH+NCO_WIDTH-2)));
end
mixed_valid <= 1;
if (mixer_overflow_i || mixer_overflow_q) begin
saturation_count <= saturation_count + 1;
overflow_detected <= 1'b1;
end else begin
overflow_detected <= 1'b0;
end
end else begin
mixed_valid <= 0;
mixer_overflow_i <= 0;
mixer_overflow_q <= 0;
overflow_detected <= 1'b0;
end
end
// ============================================================================
+245 -50
View File
@@ -11,11 +11,38 @@ module nco_400m_enhanced (
output reg dds_ready
);
// Phase accumulator with registered outputs for better timing
reg [31:0] phase_accumulator;
reg [31:0] phase_accumulator_reg;
// ============================================================================
// 4-stage pipelined NCO for 400 MHz timing closure
//
// Stage 1: Phase accumulator update (DSP48E1 in P=P+C mode) + offset addition
// DSP48E1 does: P_reg <= P_reg + C_port (frequency_tuning_word)
// The P register output IS the phase accumulator no CARRY4 chain.
// phase_with_offset = P_output + {phase_offset, 16'b0} (registered)
// Stage 2: LUT address decode + LUT read register abs values + quadrant
// Stage 3: Compute negations from registered abs values register neg values
// (CARRY4 x4 chain has registered inputs, fits in 2.5ns easily)
// Stage 4: Quadrant sign application sin_out, cos_out (pure MUX, no arith)
//
// Total latency: 4 cycles from phase_valid to sin/cos output
// Max logic levels per stage: Stage 1=DSP48E1(internal), Stage 2=2(LUT3+LUT6),
// Stage 3=4(CARRY4 chain), Stage 4=1(MUX)
// ============================================================================
// Phase accumulator DSP48E1 P output provides the accumulated phase
// In simulation: behavioral reg. In synthesis: DSP48E1 P[31:0].
reg [31:0] phase_with_offset;
reg phase_valid_delayed;
// Stage 2 pipeline registers: LUT output + quadrant
reg [15:0] sin_abs_reg, cos_abs_reg;
reg [1:0] quadrant_reg;
// Stage 3 pipeline registers: pre-computed negations + abs copies + quadrant
reg signed [15:0] sin_neg_reg, cos_neg_reg;
reg [15:0] sin_abs_reg2, cos_abs_reg2; // Pass-through for Stage 4 MUX
reg [1:0] quadrant_reg2; // Pass-through for Stage 4 MUX
// Valid pipeline: tracks 4-stage latency
reg [3:0] valid_pipe;
// Use only the top 8 bits for LUT addressing (256-entry LUT equivalent)
wire [7:0] lut_address = phase_with_offset[31:24];
@@ -51,61 +78,229 @@ initial begin
sin_lut[60] = 16'h7F61; sin_lut[61] = 16'h7FA6; sin_lut[62] = 16'h7FD8; sin_lut[63] = 16'h7FF5;
end
// Quadrant determination
wire [1:0] quadrant = lut_address[7:6]; // 00: Q1, 01: Q2, 10: Q3, 11: Q4
wire [5:0] lut_index = (quadrant[1] ? ~lut_address[5:0] : lut_address[5:0]); // Mirror for Q2/Q3
// Combinational: quadrant determination and LUT index (feeds Stage 2 registers)
wire [1:0] quadrant_w = lut_address[7:6];
wire [5:0] lut_index = (quadrant_w[0] ^ quadrant_w[1]) ? ~lut_address[5:0] : lut_address[5:0];
// Sine and cosine calculation with quadrant mapping
wire [15:0] sin_abs = sin_lut[lut_index];
wire [15:0] cos_abs = sin_lut[63 - lut_index]; // Cosine is phase-shifted sine
// Combinational LUT read (will be registered in Stage 2)
wire [15:0] sin_abs_w = sin_lut[lut_index];
wire [15:0] cos_abs_w = sin_lut[63 - lut_index];
// ============================================================================
// Stage 1: Phase accumulator (DSP48E1) + offset addition (fabric register)
//
// The phase accumulator is the critical path bottleneck: a 32-bit addition
// requires 8 CARRY4 stages in fabric (2.826 ns > 2.5 ns budget at 400 MHz).
// Solution: Use DSP48E1 in P = P + C accumulate mode.
// - C-port carries frequency_tuning_word (zero-extended to 48 bits)
// - CREG=1 registers the tuning word inside the DSP
// - PREG=1 registers the accumulator output (P = P + C each cycle)
// - The DSP48E1 48-bit ALU performs the add internally at full speed
// - Only P[31:0] is used (32-bit phase accumulator)
//
// phase_with_offset is computed in fabric: DSP48E1 P output + {phase_offset, 16'b0}
// This is OK because both operands are registered (P is PREG output, phase_offset
// is a stable input), and the result feeds Stage 2 LUT which is also registered.
// ============================================================================
`ifdef SIMULATION
// ---- Behavioral model for Icarus Verilog simulation ----
// Mimics DSP48E1 accumulator: P <= P + C, with CREG=1, PREG=1
reg [31:0] phase_accumulator;
// Pipeline stage for better timing
always @(posedge clk_400m or negedge reset_n) begin
if (!reset_n) begin
phase_accumulator <= 32'h00000000;
phase_accumulator_reg <= 32'h00000000;
phase_with_offset <= 32'h00000000;
phase_valid_delayed <= 1'b0;
dds_ready <= 1'b0;
end else if (phase_valid) begin
phase_accumulator <= phase_accumulator + frequency_tuning_word;
phase_with_offset <= phase_accumulator + {phase_offset, 16'b0};
end
end
`else
// ---- DSP48E1 phase accumulator for Vivado synthesis ----
// P = P + C mode: accumulates frequency_tuning_word each clock cycle
// Uses 1 DSP48E1 (total design: 5 of 240 available = 2.08%)
wire [47:0] phase_accum_p; // DSP48E1 P output (48 bits, use [31:0])
DSP48E1 #(
// Feature control
.A_INPUT("DIRECT"),
.B_INPUT("DIRECT"),
.USE_DPORT("FALSE"),
.USE_MULT("NONE"), // No multiplier pure ALU accumulate
.USE_SIMD("ONE48"),
// Pipeline registers
.AREG(0), // A-port unused for accumulate
.BREG(0), // B-port unused for accumulate
.CREG(1), // Register frequency_tuning_word on C-port
.MREG(0), // No multiplier
.PREG(1), // P register IS the phase accumulator
.ADREG(0),
.ACASCREG(0),
.BCASCREG(0),
.ALUMODEREG(0),
.CARRYINREG(0),
.CARRYINSELREG(0),
.DREG(0),
.INMODEREG(0),
.OPMODEREG(0),
// Pattern detector (unused)
.AUTORESET_PATDET("NO_RESET"),
.MASK(48'h3fffffffffff),
.PATTERN(48'h000000000000),
.SEL_MASK("MASK"),
.SEL_PATTERN("PATTERN"),
.USE_PATTERN_DETECT("NO_PATDET")
) dsp_phase_accum (
// Clock and reset
.CLK(clk_400m),
.RSTA(1'b0),
.RSTB(1'b0),
.RSTM(1'b0),
.RSTP(!reset_n), // Reset P register (phase accumulator) on !reset_n
.RSTC(!reset_n), // Reset C register (tuning word) on !reset_n
.RSTALLCARRYIN(1'b0),
.RSTALUMODE(1'b0),
.RSTCTRL(1'b0),
.RSTD(1'b0),
.RSTINMODE(1'b0),
// Clock enables
.CEA1(1'b0),
.CEA2(1'b0),
.CEB1(1'b0),
.CEB2(1'b0),
.CEC(1'b1), // Always register C (tuning word updates)
.CEM(1'b0),
.CEP(phase_valid), // Only accumulate when phase_valid is asserted
.CEAD(1'b0),
.CEALUMODE(1'b0),
.CECARRYIN(1'b0),
.CECTRL(1'b0),
.CED(1'b0),
.CEINMODE(1'b0),
// Data ports
.A(30'b0), // Unused for P = P + C
.B(18'b0), // Unused for P = P + C
.C({16'b0, frequency_tuning_word}), // Zero-extend 32-bit FTW to 48 bits
.D(25'b0),
.CARRYIN(1'b0),
// Control ports
.OPMODE(7'b0010011), // Z=P (010), Y=0 (00), X=C_reg (11) P = P + C
.ALUMODE(4'b0000), // Z + X + Y + CIN (standard add)
.INMODE(5'b00000),
.CARRYINSEL(3'b000),
// Output ports
.P(phase_accum_p),
.PATTERNDETECT(),
.PATTERNBDETECT(),
.OVERFLOW(),
.UNDERFLOW(),
.CARRYOUT(),
// Cascade ports (unused)
.ACIN(30'b0),
.BCIN(18'b0),
.CARRYCASCIN(1'b0),
.MULTSIGNIN(1'b0),
.PCIN(48'b0),
.ACOUT(),
.BCOUT(),
.CARRYCASCOUT(),
.MULTSIGNOUT(),
.PCOUT()
);
// phase_with_offset: add phase_offset to the DSP48E1 accumulator output
// Both operands are registered (phase_accum_p from PREG, phase_offset is stable input)
// This fabric add feeds Stage 2 LUT which is also registered timing is fine
always @(posedge clk_400m or negedge reset_n) begin
if (!reset_n) begin
phase_with_offset <= 32'h00000000;
end else if (phase_valid) begin
phase_with_offset <= phase_accum_p[31:0] + {phase_offset, 16'b0};
end
end
`endif
// ============================================================================
// Stage 2: LUT read + register absolute values and quadrant
// Only LUT decode here negation is deferred to Stage 3
// ============================================================================
always @(posedge clk_400m or negedge reset_n) begin
if (!reset_n) begin
sin_abs_reg <= 16'h0000;
cos_abs_reg <= 16'h7FFF;
quadrant_reg <= 2'b00;
end else if (valid_pipe[0]) begin
sin_abs_reg <= sin_abs_w;
cos_abs_reg <= cos_abs_w;
quadrant_reg <= quadrant_w;
end
end
// ============================================================================
// Stage 3: Compute negations from registered abs values
// CARRY4 x4 chain has registered inputs — easily fits in 2.5ns
// Also pass through abs values and quadrant for Stage 4
// ============================================================================
always @(posedge clk_400m or negedge reset_n) begin
if (!reset_n) begin
sin_neg_reg <= 16'h0000;
cos_neg_reg <= -16'h7FFF;
sin_abs_reg2 <= 16'h0000;
cos_abs_reg2 <= 16'h7FFF;
quadrant_reg2 <= 2'b00;
end else if (valid_pipe[1]) begin
sin_neg_reg <= -sin_abs_reg;
cos_neg_reg <= -cos_abs_reg;
sin_abs_reg2 <= sin_abs_reg;
cos_abs_reg2 <= cos_abs_reg;
quadrant_reg2 <= quadrant_reg;
end
end
// ============================================================================
// Stage 4: Quadrant sign application final sin/cos output
// Uses pre-computed negated values from Stage 3 pure MUX, no arithmetic
// ============================================================================
always @(posedge clk_400m or negedge reset_n) begin
if (!reset_n) begin
sin_out <= 16'h0000;
cos_out <= 16'h7FFF;
end else if (valid_pipe[2]) begin
case (quadrant_reg2)
2'b00: begin // Quadrant I: sin+, cos+
sin_out <= sin_abs_reg2;
cos_out <= cos_abs_reg2;
end
2'b01: begin // Quadrant II: sin+, cos-
sin_out <= sin_abs_reg2;
cos_out <= cos_neg_reg;
end
2'b10: begin // Quadrant III: sin-, cos-
sin_out <= sin_neg_reg;
cos_out <= cos_neg_reg;
end
2'b11: begin // Quadrant IV: sin-, cos+
sin_out <= sin_neg_reg;
cos_out <= cos_abs_reg2;
end
endcase
end
end
// ============================================================================
// Valid pipeline and dds_ready (4-stage latency)
// ============================================================================
always @(posedge clk_400m or negedge reset_n) begin
if (!reset_n) begin
valid_pipe <= 4'b0000;
dds_ready <= 1'b0;
end else begin
phase_valid_delayed <= phase_valid;
if (phase_valid) begin
// Update phase accumulator with dithered frequency tuning word
phase_accumulator <= phase_accumulator + frequency_tuning_word;
phase_accumulator_reg <= phase_accumulator;
// Apply phase offset
phase_with_offset <= phase_accumulator + {phase_offset, 16'b0};
dds_ready <= 1'b1;
end else begin
dds_ready <= 1'b0;
end
// Generate outputs with one cycle delay for pipelining
if (phase_valid_delayed) begin
// Calculate sine and cosine with proper quadrant signs
case (quadrant)
2'b00: begin // Quadrant I: sin+, cos+
sin_out <= sin_abs;
cos_out <= cos_abs;
end
2'b01: begin // Quadrant II: sin+, cos-
sin_out <= sin_abs;
cos_out <= -cos_abs;
end
2'b10: begin // Quadrant III: sin-, cos-
sin_out <= -sin_abs;
cos_out <= -cos_abs;
end
2'b11: begin // Quadrant IV: sin-, cos+
sin_out <= -sin_abs;
cos_out <= cos_abs;
end
endcase
end
valid_pipe <= {valid_pipe[2:0], phase_valid};
dds_ready <= valid_pipe[3];
end
end
+2 -2
View File
@@ -191,7 +191,7 @@ BUFG bufg_ft601 (
);
// Reset synchronization (clk_100m domain)
reg [1:0] reset_sync;
(* ASYNC_REG = "TRUE" *) reg [1:0] reset_sync;
always @(posedge clk_100m_buf or negedge reset_n) begin
if (!reset_n) begin
reset_sync <= 2'b00;
@@ -204,7 +204,7 @@ assign sys_reset_n = reset_sync[1];
// Reset synchronization (clk_120m_dac domain)
// Ensures reset deassertion is synchronous to the DAC clock,
// preventing recovery/removal timing violations on 120 MHz FFs.
reg [1:0] reset_sync_120m;
(* ASYNC_REG = "TRUE" *) reg [1:0] reset_sync_120m;
always @(posedge clk_120m_dac_buf or negedge reset_n) begin
if (!reset_n) begin
reset_sync_120m <= 2'b00;
+49 -49
View File
@@ -1,50 +1,50 @@
input_sample,output_sample,data_out,data_out_valid
5,0,0,1
9,1,0,1
13,2,0,1
17,3,0,1
21,4,0,1
25,5,0,1
29,6,0,1
33,7,0,1
37,8,118,1
41,9,651,1
45,10,979,1
49,11,1000,1
53,12,1000,1
57,13,1000,1
61,14,1000,1
65,15,1000,1
69,16,1000,1
73,17,1000,1
77,18,1000,1
81,19,1000,1
85,20,1000,1
89,21,1000,1
93,22,1000,1
97,23,1000,1
101,24,1000,1
105,25,1000,1
109,26,1000,1
113,27,1000,1
117,28,1000,1
121,29,1000,1
125,30,1000,1
129,31,1000,1
133,32,1000,1
137,33,1000,1
141,34,1000,1
145,35,1000,1
149,36,1000,1
153,37,1000,1
157,38,1000,1
161,39,1000,1
165,40,1000,1
169,41,1000,1
173,42,1000,1
177,43,1000,1
181,44,1000,1
185,45,1000,1
189,46,1000,1
193,47,1000,1
197,48,1000,1
6,0,0,1
10,1,0,1
14,2,0,1
18,3,0,1
22,4,0,1
26,5,0,1
30,6,0,1
34,7,118,1
38,8,651,1
42,9,979,1
46,10,1000,1
50,11,1000,1
54,12,1000,1
58,13,1000,1
62,14,1000,1
66,15,1000,1
70,16,1000,1
74,17,1000,1
78,18,1000,1
82,19,1000,1
86,20,1000,1
90,21,1000,1
94,22,1000,1
98,23,1000,1
102,24,1000,1
106,25,1000,1
110,26,1000,1
114,27,1000,1
118,28,1000,1
122,29,1000,1
126,30,1000,1
130,31,1000,1
134,32,1000,1
138,33,1000,1
142,34,1000,1
146,35,1000,1
150,36,1000,1
154,37,1000,1
158,38,1000,1
162,39,1000,1
166,40,1000,1
170,41,1000,1
174,42,1000,1
178,43,1000,1
182,44,1000,1
186,45,1000,1
190,46,1000,1
194,47,1000,1
198,48,1000,1
1 input_sample output_sample data_out data_out_valid
2 5 6 0 0 1
3 9 10 1 0 1
4 13 14 2 0 1
5 17 18 3 0 1
6 21 22 4 0 1
7 25 26 5 0 1
8 29 30 6 0 1
9 33 34 7 0 118 1
10 37 38 8 118 651 1
11 41 42 9 651 979 1
12 45 46 10 979 1000 1
13 49 50 11 1000 1
14 53 54 12 1000 1
15 57 58 13 1000 1
16 61 62 14 1000 1
17 65 66 15 1000 1
18 69 70 16 1000 1
19 73 74 17 1000 1
20 77 78 18 1000 1
21 81 82 19 1000 1
22 85 86 20 1000 1
23 89 90 21 1000 1
24 93 94 22 1000 1
25 97 98 23 1000 1
26 101 102 24 1000 1
27 105 106 25 1000 1
28 109 110 26 1000 1
29 113 114 27 1000 1
30 117 118 28 1000 1
31 121 122 29 1000 1
32 125 126 30 1000 1
33 129 130 31 1000 1
34 133 134 32 1000 1
35 137 138 33 1000 1
36 141 142 34 1000 1
37 145 146 35 1000 1
38 149 150 36 1000 1
39 153 154 37 1000 1
40 157 158 38 1000 1
41 161 162 39 1000 1
42 165 166 40 1000 1
43 169 170 41 1000 1
44 173 174 42 1000 1
45 177 178 43 1000 1
46 181 182 44 1000 1
47 185 186 45 1000 1
48 189 190 46 1000 1
49 193 194 47 1000 1
50 197 198 48 1000 1
@@ -5,11 +5,11 @@ sample,data_out
3,0
4,0
5,0
6,0
7,9
8,634
9,1513
10,341
6,9
7,634
8,1513
9,341
10,0
11,0
12,0
13,0
1 sample data_out
5 3 0
6 4 0
7 5 0
8 6 0 9
9 7 9 634
10 8 634 1513
11 9 1513 341
12 10 341 0
13 11 0
14 12 0
15 13 0
+399 -399
View File
@@ -1,400 +1,400 @@
input_n,data_in,output_n,data_out
5,392,0,0
9,704,1,0
13,1013,2,0
17,1319,3,0
21,1619,4,0
25,1913,5,0
29,2199,6,0
33,2477,7,0
37,2745,8,6
41,3002,9,99
45,3247,10,354
49,3479,11,664
53,3698,12,974
57,3902,13,1279
61,4090,14,1580
65,4263,15,1875
69,4418,16,2161
73,4557,17,2440
77,4677,18,2709
81,4778,19,2967
85,4861,20,3214
89,4925,21,3448
93,4969,22,3668
97,4994,23,3874
101,4999,24,4064
105,4984,25,4238
109,4950,26,4396
113,4896,27,4536
117,4822,28,4659
121,4730,29,4763
125,4619,30,4848
129,4490,31,4914
133,4343,32,4960
137,4179,33,4988
141,3998,34,4995
145,3802,35,4983
149,3590,36,4951
153,3365,37,4899
157,3126,38,4828
161,2875,39,4738
165,2612,40,4630
169,2339,41,4503
173,2057,42,4358
177,1767,43,4196
181,1470,44,4018
185,1167,45,3824
189,859,46,3614
193,548,47,3390
197,235,48,3154
201,-78,49,2904
205,-392,50,2643
209,-704,51,2371
213,-1013,52,2091
217,-1319,53,1802
221,-1619,54,1506
225,-1913,55,1203
229,-2199,56,896
233,-2477,57,586
237,-2745,58,274
241,-3002,59,-40
245,-3247,60,-353
249,-3479,61,-665
253,-3698,62,-975
257,-3902,63,-1280
261,-4090,64,-1581
265,-4263,65,-1876
269,-4418,66,-2162
273,-4557,67,-2441
277,-4677,68,-2710
281,-4778,69,-2968
285,-4861,70,-3215
289,-4925,71,-3449
293,-4969,72,-3669
297,-4994,73,-3875
301,-4999,74,-4065
305,-4984,75,-4239
309,-4950,76,-4397
313,-4896,77,-4537
317,-4822,78,-4660
321,-4730,79,-4764
325,-4619,80,-4849
329,-4490,81,-4915
333,-4343,82,-4961
337,-4179,83,-4989
341,-3998,84,-4996
345,-3802,85,-4984
349,-3590,86,-4952
353,-3365,87,-4900
357,-3126,88,-4829
361,-2875,89,-4739
365,-2612,90,-4631
369,-2339,91,-4504
373,-2057,92,-4359
377,-1767,93,-4197
381,-1470,94,-4019
385,-1167,95,-3825
389,-859,96,-3615
393,-548,97,-3391
397,-235,98,-3155
401,78,99,-2905
405,392,100,-2644
409,704,101,-2372
413,1013,102,-2091
417,1319,103,-1803
421,1619,104,-1507
425,1913,105,-1204
429,2199,106,-897
433,2477,107,-587
437,2745,108,-275
441,3002,109,39
445,3247,110,352
449,3479,111,664
453,3698,112,974
457,3902,113,1279
461,4090,114,1580
465,4263,115,1875
469,4418,116,2161
473,4557,117,2440
477,4677,118,2709
481,4778,119,2967
485,4861,120,3214
489,4925,121,3448
493,4969,122,3668
497,4994,123,3874
501,4999,124,4064
505,4984,125,4238
509,4950,126,4396
513,4896,127,4536
517,4822,128,4659
521,4730,129,4763
525,4619,130,4848
529,4490,131,4914
533,4343,132,4960
537,4179,133,4988
541,3998,134,4995
545,3802,135,4983
549,3590,136,4951
553,3365,137,4899
557,3126,138,4828
561,2875,139,4738
565,2612,140,4630
569,2339,141,4503
573,2057,142,4358
577,1767,143,4196
581,1470,144,4018
585,1167,145,3824
589,859,146,3614
593,548,147,3390
597,235,148,3154
601,-78,149,2904
605,-392,150,2643
609,-704,151,2371
613,-1013,152,2091
617,-1319,153,1802
621,-1619,154,1506
625,-1913,155,1203
629,-2199,156,896
633,-2477,157,586
637,-2745,158,274
641,-3002,159,-40
645,-3247,160,-353
649,-3479,161,-665
653,-3698,162,-975
657,-3902,163,-1280
661,-4090,164,-1581
665,-4263,165,-1876
669,-4418,166,-2162
673,-4557,167,-2441
677,-4677,168,-2710
681,-4778,169,-2968
685,-4861,170,-3215
689,-4925,171,-3449
693,-4969,172,-3669
697,-4994,173,-3875
701,-4999,174,-4065
705,-4984,175,-4239
709,-4950,176,-4397
713,-4896,177,-4537
717,-4822,178,-4660
721,-4730,179,-4764
725,-4619,180,-4849
729,-4490,181,-4915
733,-4343,182,-4961
737,-4179,183,-4989
741,-3998,184,-4996
745,-3802,185,-4984
749,-3590,186,-4952
753,-3365,187,-4900
757,-3126,188,-4829
761,-2875,189,-4739
765,-2612,190,-4631
769,-2339,191,-4504
773,-2057,192,-4359
777,-1767,193,-4197
781,-1470,194,-4019
785,-1167,195,-3825
789,-859,196,-3615
793,-548,197,-3391
797,-235,198,-3155
801,78,199,-2905
805,392,200,-2644
809,704,201,-2372
813,1013,202,-2091
817,1319,203,-1803
821,1619,204,-1507
825,1913,205,-1204
829,2199,206,-897
833,2477,207,-587
837,2745,208,-275
841,3002,209,39
845,3247,210,352
849,3479,211,664
853,3698,212,974
857,3902,213,1279
861,4090,214,1580
865,4263,215,1875
869,4418,216,2161
873,4557,217,2440
877,4677,218,2709
881,4778,219,2967
885,4861,220,3214
889,4925,221,3448
893,4969,222,3668
897,4994,223,3874
901,4999,224,4064
905,4984,225,4238
909,4950,226,4396
913,4896,227,4536
917,4822,228,4659
921,4730,229,4763
925,4619,230,4848
929,4490,231,4914
933,4343,232,4960
937,4179,233,4988
941,3998,234,4995
945,3802,235,4983
949,3590,236,4951
953,3365,237,4899
957,3126,238,4828
961,2875,239,4738
965,2612,240,4630
969,2339,241,4503
973,2057,242,4358
977,1767,243,4196
981,1470,244,4018
985,1167,245,3824
989,859,246,3614
993,548,247,3390
997,235,248,3154
1001,-78,249,2904
1005,-392,250,2643
1009,-704,251,2371
1013,-1013,252,2091
1017,-1319,253,1802
1021,-1619,254,1506
1025,-1913,255,1203
1029,-2199,256,896
1033,-2477,257,586
1037,-2745,258,274
1041,-3002,259,-40
1045,-3247,260,-353
1049,-3479,261,-665
1053,-3698,262,-975
1057,-3902,263,-1280
1061,-4090,264,-1581
1065,-4263,265,-1876
1069,-4418,266,-2162
1073,-4557,267,-2441
1077,-4677,268,-2710
1081,-4778,269,-2968
1085,-4861,270,-3215
1089,-4925,271,-3449
1093,-4969,272,-3669
1097,-4994,273,-3875
1101,-4999,274,-4065
1105,-4984,275,-4239
1109,-4950,276,-4397
1113,-4896,277,-4537
1117,-4822,278,-4660
1121,-4730,279,-4764
1125,-4619,280,-4849
1129,-4490,281,-4915
1133,-4343,282,-4961
1137,-4179,283,-4989
1141,-3998,284,-4996
1145,-3802,285,-4984
1149,-3590,286,-4952
1153,-3365,287,-4900
1157,-3126,288,-4829
1161,-2875,289,-4739
1165,-2612,290,-4631
1169,-2339,291,-4504
1173,-2057,292,-4359
1177,-1767,293,-4197
1181,-1470,294,-4019
1185,-1167,295,-3825
1189,-859,296,-3615
1193,-548,297,-3391
1197,-235,298,-3155
1201,78,299,-2905
1205,392,300,-2644
1209,704,301,-2372
1213,1013,302,-2091
1217,1319,303,-1803
1221,1619,304,-1507
1225,1913,305,-1204
1229,2199,306,-897
1233,2477,307,-587
1237,2745,308,-275
1241,3002,309,39
1245,3247,310,352
1249,3479,311,664
1253,3698,312,974
1257,3902,313,1279
1261,4090,314,1580
1265,4263,315,1875
1269,4418,316,2161
1273,4557,317,2440
1277,4677,318,2709
1281,4778,319,2967
1285,4861,320,3214
1289,4925,321,3448
1293,4969,322,3668
1297,4994,323,3874
1301,4999,324,4064
1305,4984,325,4238
1309,4950,326,4396
1313,4896,327,4536
1317,4822,328,4659
1321,4730,329,4763
1325,4619,330,4848
1329,4490,331,4914
1333,4343,332,4960
1337,4179,333,4988
1341,3998,334,4995
1345,3802,335,4983
1349,3590,336,4951
1353,3365,337,4899
1357,3126,338,4828
1361,2875,339,4738
1365,2612,340,4630
1369,2339,341,4503
1373,2057,342,4358
1377,1767,343,4196
1381,1470,344,4018
1385,1167,345,3824
1389,859,346,3614
1393,548,347,3390
1397,235,348,3154
1401,-78,349,2904
1405,-392,350,2643
1409,-704,351,2371
1413,-1013,352,2091
1417,-1319,353,1802
1421,-1619,354,1506
1425,-1913,355,1203
1429,-2199,356,896
1433,-2477,357,586
1437,-2745,358,274
1441,-3002,359,-40
1445,-3247,360,-353
1449,-3479,361,-665
1453,-3698,362,-975
1457,-3902,363,-1280
1461,-4090,364,-1581
1465,-4263,365,-1876
1469,-4418,366,-2162
1473,-4557,367,-2441
1477,-4677,368,-2710
1481,-4778,369,-2968
1485,-4861,370,-3215
1489,-4925,371,-3449
1493,-4969,372,-3669
1497,-4994,373,-3875
1501,-4999,374,-4065
1505,-4984,375,-4239
1509,-4950,376,-4397
1513,-4896,377,-4537
1517,-4822,378,-4660
1521,-4730,379,-4764
1525,-4619,380,-4849
1529,-4490,381,-4915
1533,-4343,382,-4961
1537,-4179,383,-4989
1541,-3998,384,-4996
1545,-3802,385,-4984
1549,-3590,386,-4952
1553,-3365,387,-4900
1557,-3126,388,-4829
1561,-2875,389,-4739
1565,-2612,390,-4631
1569,-2339,391,-4504
1573,-2057,392,-4359
1577,-1767,393,-4197
1581,-1470,394,-4019
1585,-1167,395,-3825
1589,-859,396,-3615
1593,-548,397,-3391
1597,-235,398,-3155
6,470,0,0
10,782,1,0
14,1090,2,0
18,1394,3,0
22,1693,4,0
26,1985,5,0
30,2269,6,0
34,2545,7,6
38,2810,8,99
42,3064,9,354
46,3306,10,664
50,3535,11,974
54,3750,12,1279
58,3950,13,1580
62,4135,14,1875
66,4303,15,2161
70,4455,16,2440
74,4588,17,2709
78,4704,18,2967
82,4801,19,3214
86,4879,20,3448
90,4938,21,3668
94,4977,22,3874
98,4997,23,4064
102,4997,24,4238
106,4977,25,4396
110,4938,26,4536
114,4879,27,4659
118,4801,28,4763
122,4704,29,4848
126,4588,30,4914
130,4455,31,4960
134,4303,32,4988
138,4135,33,4995
142,3950,34,4983
146,3750,35,4951
150,3535,36,4899
154,3306,37,4828
158,3064,38,4738
162,2810,39,4630
166,2545,40,4503
170,2269,41,4358
174,1985,42,4196
178,1693,43,4018
182,1394,44,3824
186,1090,45,3614
190,782,46,3390
194,470,47,3154
198,157,48,2904
202,-157,49,2643
206,-470,50,2371
210,-782,51,2091
214,-1090,52,1802
218,-1394,53,1506
222,-1693,54,1203
226,-1985,55,896
230,-2269,56,586
234,-2545,57,274
238,-2810,58,-40
242,-3064,59,-353
246,-3306,60,-665
250,-3535,61,-975
254,-3750,62,-1280
258,-3950,63,-1581
262,-4135,64,-1876
266,-4303,65,-2162
270,-4455,66,-2441
274,-4588,67,-2710
278,-4704,68,-2968
282,-4801,69,-3215
286,-4879,70,-3449
290,-4938,71,-3669
294,-4977,72,-3875
298,-4997,73,-4065
302,-4997,74,-4239
306,-4977,75,-4397
310,-4938,76,-4537
314,-4879,77,-4660
318,-4801,78,-4764
322,-4704,79,-4849
326,-4588,80,-4915
330,-4455,81,-4961
334,-4303,82,-4989
338,-4135,83,-4996
342,-3950,84,-4984
346,-3750,85,-4952
350,-3535,86,-4900
354,-3306,87,-4829
358,-3064,88,-4739
362,-2810,89,-4631
366,-2545,90,-4504
370,-2269,91,-4359
374,-1985,92,-4197
378,-1693,93,-4019
382,-1394,94,-3825
386,-1090,95,-3615
390,-782,96,-3391
394,-470,97,-3155
398,-157,98,-2905
402,157,99,-2644
406,470,100,-2372
410,782,101,-2091
414,1090,102,-1803
418,1394,103,-1507
422,1693,104,-1204
426,1985,105,-897
430,2269,106,-587
434,2545,107,-275
438,2810,108,39
442,3064,109,352
446,3306,110,664
450,3535,111,974
454,3750,112,1279
458,3950,113,1580
462,4135,114,1875
466,4303,115,2161
470,4455,116,2440
474,4588,117,2709
478,4704,118,2967
482,4801,119,3214
486,4879,120,3448
490,4938,121,3668
494,4977,122,3874
498,4997,123,4064
502,4997,124,4238
506,4977,125,4396
510,4938,126,4536
514,4879,127,4659
518,4801,128,4763
522,4704,129,4848
526,4588,130,4914
530,4455,131,4960
534,4303,132,4988
538,4135,133,4995
542,3950,134,4983
546,3750,135,4951
550,3535,136,4899
554,3306,137,4828
558,3064,138,4738
562,2810,139,4630
566,2545,140,4503
570,2269,141,4358
574,1985,142,4196
578,1693,143,4018
582,1394,144,3824
586,1090,145,3614
590,782,146,3390
594,470,147,3154
598,157,148,2904
602,-157,149,2643
606,-470,150,2371
610,-782,151,2091
614,-1090,152,1802
618,-1394,153,1506
622,-1693,154,1203
626,-1985,155,896
630,-2269,156,586
634,-2545,157,274
638,-2810,158,-40
642,-3064,159,-353
646,-3306,160,-665
650,-3535,161,-975
654,-3750,162,-1280
658,-3950,163,-1581
662,-4135,164,-1876
666,-4303,165,-2162
670,-4455,166,-2441
674,-4588,167,-2710
678,-4704,168,-2968
682,-4801,169,-3215
686,-4879,170,-3449
690,-4938,171,-3669
694,-4977,172,-3875
698,-4997,173,-4065
702,-4997,174,-4239
706,-4977,175,-4397
710,-4938,176,-4537
714,-4879,177,-4660
718,-4801,178,-4764
722,-4704,179,-4849
726,-4588,180,-4915
730,-4455,181,-4961
734,-4303,182,-4989
738,-4135,183,-4996
742,-3950,184,-4984
746,-3750,185,-4952
750,-3535,186,-4900
754,-3306,187,-4829
758,-3064,188,-4739
762,-2810,189,-4631
766,-2545,190,-4504
770,-2269,191,-4359
774,-1985,192,-4197
778,-1693,193,-4019
782,-1394,194,-3825
786,-1090,195,-3615
790,-782,196,-3391
794,-470,197,-3155
798,-157,198,-2905
802,157,199,-2644
806,470,200,-2372
810,782,201,-2091
814,1090,202,-1803
818,1394,203,-1507
822,1693,204,-1204
826,1985,205,-897
830,2269,206,-587
834,2545,207,-275
838,2810,208,39
842,3064,209,352
846,3306,210,664
850,3535,211,974
854,3750,212,1279
858,3950,213,1580
862,4135,214,1875
866,4303,215,2161
870,4455,216,2440
874,4588,217,2709
878,4704,218,2967
882,4801,219,3214
886,4879,220,3448
890,4938,221,3668
894,4977,222,3874
898,4997,223,4064
902,4997,224,4238
906,4977,225,4396
910,4938,226,4536
914,4879,227,4659
918,4801,228,4763
922,4704,229,4848
926,4588,230,4914
930,4455,231,4960
934,4303,232,4988
938,4135,233,4995
942,3950,234,4983
946,3750,235,4951
950,3535,236,4899
954,3306,237,4828
958,3064,238,4738
962,2810,239,4630
966,2545,240,4503
970,2269,241,4358
974,1985,242,4196
978,1693,243,4018
982,1394,244,3824
986,1090,245,3614
990,782,246,3390
994,470,247,3154
998,157,248,2904
1002,-157,249,2643
1006,-470,250,2371
1010,-782,251,2091
1014,-1090,252,1802
1018,-1394,253,1506
1022,-1693,254,1203
1026,-1985,255,896
1030,-2269,256,586
1034,-2545,257,274
1038,-2810,258,-40
1042,-3064,259,-353
1046,-3306,260,-665
1050,-3535,261,-975
1054,-3750,262,-1280
1058,-3950,263,-1581
1062,-4135,264,-1876
1066,-4303,265,-2162
1070,-4455,266,-2441
1074,-4588,267,-2710
1078,-4704,268,-2968
1082,-4801,269,-3215
1086,-4879,270,-3449
1090,-4938,271,-3669
1094,-4977,272,-3875
1098,-4997,273,-4065
1102,-4997,274,-4239
1106,-4977,275,-4397
1110,-4938,276,-4537
1114,-4879,277,-4660
1118,-4801,278,-4764
1122,-4704,279,-4849
1126,-4588,280,-4915
1130,-4455,281,-4961
1134,-4303,282,-4989
1138,-4135,283,-4996
1142,-3950,284,-4984
1146,-3750,285,-4952
1150,-3535,286,-4900
1154,-3306,287,-4829
1158,-3064,288,-4739
1162,-2810,289,-4631
1166,-2545,290,-4504
1170,-2269,291,-4359
1174,-1985,292,-4197
1178,-1693,293,-4019
1182,-1394,294,-3825
1186,-1090,295,-3615
1190,-782,296,-3391
1194,-470,297,-3155
1198,-157,298,-2905
1202,157,299,-2644
1206,470,300,-2372
1210,782,301,-2091
1214,1090,302,-1803
1218,1394,303,-1507
1222,1693,304,-1204
1226,1985,305,-897
1230,2269,306,-587
1234,2545,307,-275
1238,2810,308,39
1242,3064,309,352
1246,3306,310,664
1250,3535,311,974
1254,3750,312,1279
1258,3950,313,1580
1262,4135,314,1875
1266,4303,315,2161
1270,4455,316,2440
1274,4588,317,2709
1278,4704,318,2967
1282,4801,319,3214
1286,4879,320,3448
1290,4938,321,3668
1294,4977,322,3874
1298,4997,323,4064
1302,4997,324,4238
1306,4977,325,4396
1310,4938,326,4536
1314,4879,327,4659
1318,4801,328,4763
1322,4704,329,4848
1326,4588,330,4914
1330,4455,331,4960
1334,4303,332,4988
1338,4135,333,4995
1342,3950,334,4983
1346,3750,335,4951
1350,3535,336,4899
1354,3306,337,4828
1358,3064,338,4738
1362,2810,339,4630
1366,2545,340,4503
1370,2269,341,4358
1374,1985,342,4196
1378,1693,343,4018
1382,1394,344,3824
1386,1090,345,3614
1390,782,346,3390
1394,470,347,3154
1398,157,348,2904
1402,-157,349,2643
1406,-470,350,2371
1410,-782,351,2091
1414,-1090,352,1802
1418,-1394,353,1506
1422,-1693,354,1203
1426,-1985,355,896
1430,-2269,356,586
1434,-2545,357,274
1438,-2810,358,-40
1442,-3064,359,-353
1446,-3306,360,-665
1450,-3535,361,-975
1454,-3750,362,-1280
1458,-3950,363,-1581
1462,-4135,364,-1876
1466,-4303,365,-2162
1470,-4455,366,-2441
1474,-4588,367,-2710
1478,-4704,368,-2968
1482,-4801,369,-3215
1486,-4879,370,-3449
1490,-4938,371,-3669
1494,-4977,372,-3875
1498,-4997,373,-4065
1502,-4997,374,-4239
1506,-4977,375,-4397
1510,-4938,376,-4537
1514,-4879,377,-4660
1518,-4801,378,-4764
1522,-4704,379,-4849
1526,-4588,380,-4915
1530,-4455,381,-4961
1534,-4303,382,-4989
1538,-4135,383,-4996
1542,-3950,384,-4984
1546,-3750,385,-4952
1550,-3535,386,-4900
1554,-3306,387,-4829
1558,-3064,388,-4739
1562,-2810,389,-4631
1566,-2545,390,-4504
1570,-2269,391,-4359
1574,-1985,392,-4197
1578,-1693,393,-4019
1582,-1394,394,-3825
1586,-1090,395,-3615
1590,-782,396,-3391
1594,-470,397,-3155
1598,-157,398,-2905
1 input_n data_in output_n data_out
2 5 6 392 470 0 0
3 9 10 704 782 1 0
4 13 14 1013 1090 2 0
5 17 18 1319 1394 3 0
6 21 22 1619 1693 4 0
7 25 26 1913 1985 5 0
8 29 30 2199 2269 6 0
9 33 34 2477 2545 7 0 6
10 37 38 2745 2810 8 6 99
11 41 42 3002 3064 9 99 354
12 45 46 3247 3306 10 354 664
13 49 50 3479 3535 11 664 974
14 53 54 3698 3750 12 974 1279
15 57 58 3902 3950 13 1279 1580
16 61 62 4090 4135 14 1580 1875
17 65 66 4263 4303 15 1875 2161
18 69 70 4418 4455 16 2161 2440
19 73 74 4557 4588 17 2440 2709
20 77 78 4677 4704 18 2709 2967
21 81 82 4778 4801 19 2967 3214
22 85 86 4861 4879 20 3214 3448
23 89 90 4925 4938 21 3448 3668
24 93 94 4969 4977 22 3668 3874
25 97 98 4994 4997 23 3874 4064
26 101 102 4999 4997 24 4064 4238
27 105 106 4984 4977 25 4238 4396
28 109 110 4950 4938 26 4396 4536
29 113 114 4896 4879 27 4536 4659
30 117 118 4822 4801 28 4659 4763
31 121 122 4730 4704 29 4763 4848
32 125 126 4619 4588 30 4848 4914
33 129 130 4490 4455 31 4914 4960
34 133 134 4343 4303 32 4960 4988
35 137 138 4179 4135 33 4988 4995
36 141 142 3998 3950 34 4995 4983
37 145 146 3802 3750 35 4983 4951
38 149 150 3590 3535 36 4951 4899
39 153 154 3365 3306 37 4899 4828
40 157 158 3126 3064 38 4828 4738
41 161 162 2875 2810 39 4738 4630
42 165 166 2612 2545 40 4630 4503
43 169 170 2339 2269 41 4503 4358
44 173 174 2057 1985 42 4358 4196
45 177 178 1767 1693 43 4196 4018
46 181 182 1470 1394 44 4018 3824
47 185 186 1167 1090 45 3824 3614
48 189 190 859 782 46 3614 3390
49 193 194 548 470 47 3390 3154
50 197 198 235 157 48 3154 2904
51 201 202 -78 -157 49 2904 2643
52 205 206 -392 -470 50 2643 2371
53 209 210 -704 -782 51 2371 2091
54 213 214 -1013 -1090 52 2091 1802
55 217 218 -1319 -1394 53 1802 1506
56 221 222 -1619 -1693 54 1506 1203
57 225 226 -1913 -1985 55 1203 896
58 229 230 -2199 -2269 56 896 586
59 233 234 -2477 -2545 57 586 274
60 237 238 -2745 -2810 58 274 -40
61 241 242 -3002 -3064 59 -40 -353
62 245 246 -3247 -3306 60 -353 -665
63 249 250 -3479 -3535 61 -665 -975
64 253 254 -3698 -3750 62 -975 -1280
65 257 258 -3902 -3950 63 -1280 -1581
66 261 262 -4090 -4135 64 -1581 -1876
67 265 266 -4263 -4303 65 -1876 -2162
68 269 270 -4418 -4455 66 -2162 -2441
69 273 274 -4557 -4588 67 -2441 -2710
70 277 278 -4677 -4704 68 -2710 -2968
71 281 282 -4778 -4801 69 -2968 -3215
72 285 286 -4861 -4879 70 -3215 -3449
73 289 290 -4925 -4938 71 -3449 -3669
74 293 294 -4969 -4977 72 -3669 -3875
75 297 298 -4994 -4997 73 -3875 -4065
76 301 302 -4999 -4997 74 -4065 -4239
77 305 306 -4984 -4977 75 -4239 -4397
78 309 310 -4950 -4938 76 -4397 -4537
79 313 314 -4896 -4879 77 -4537 -4660
80 317 318 -4822 -4801 78 -4660 -4764
81 321 322 -4730 -4704 79 -4764 -4849
82 325 326 -4619 -4588 80 -4849 -4915
83 329 330 -4490 -4455 81 -4915 -4961
84 333 334 -4343 -4303 82 -4961 -4989
85 337 338 -4179 -4135 83 -4989 -4996
86 341 342 -3998 -3950 84 -4996 -4984
87 345 346 -3802 -3750 85 -4984 -4952
88 349 350 -3590 -3535 86 -4952 -4900
89 353 354 -3365 -3306 87 -4900 -4829
90 357 358 -3126 -3064 88 -4829 -4739
91 361 362 -2875 -2810 89 -4739 -4631
92 365 366 -2612 -2545 90 -4631 -4504
93 369 370 -2339 -2269 91 -4504 -4359
94 373 374 -2057 -1985 92 -4359 -4197
95 377 378 -1767 -1693 93 -4197 -4019
96 381 382 -1470 -1394 94 -4019 -3825
97 385 386 -1167 -1090 95 -3825 -3615
98 389 390 -859 -782 96 -3615 -3391
99 393 394 -548 -470 97 -3391 -3155
100 397 398 -235 -157 98 -3155 -2905
101 401 402 78 157 99 -2905 -2644
102 405 406 392 470 100 -2644 -2372
103 409 410 704 782 101 -2372 -2091
104 413 414 1013 1090 102 -2091 -1803
105 417 418 1319 1394 103 -1803 -1507
106 421 422 1619 1693 104 -1507 -1204
107 425 426 1913 1985 105 -1204 -897
108 429 430 2199 2269 106 -897 -587
109 433 434 2477 2545 107 -587 -275
110 437 438 2745 2810 108 -275 39
111 441 442 3002 3064 109 39 352
112 445 446 3247 3306 110 352 664
113 449 450 3479 3535 111 664 974
114 453 454 3698 3750 112 974 1279
115 457 458 3902 3950 113 1279 1580
116 461 462 4090 4135 114 1580 1875
117 465 466 4263 4303 115 1875 2161
118 469 470 4418 4455 116 2161 2440
119 473 474 4557 4588 117 2440 2709
120 477 478 4677 4704 118 2709 2967
121 481 482 4778 4801 119 2967 3214
122 485 486 4861 4879 120 3214 3448
123 489 490 4925 4938 121 3448 3668
124 493 494 4969 4977 122 3668 3874
125 497 498 4994 4997 123 3874 4064
126 501 502 4999 4997 124 4064 4238
127 505 506 4984 4977 125 4238 4396
128 509 510 4950 4938 126 4396 4536
129 513 514 4896 4879 127 4536 4659
130 517 518 4822 4801 128 4659 4763
131 521 522 4730 4704 129 4763 4848
132 525 526 4619 4588 130 4848 4914
133 529 530 4490 4455 131 4914 4960
134 533 534 4343 4303 132 4960 4988
135 537 538 4179 4135 133 4988 4995
136 541 542 3998 3950 134 4995 4983
137 545 546 3802 3750 135 4983 4951
138 549 550 3590 3535 136 4951 4899
139 553 554 3365 3306 137 4899 4828
140 557 558 3126 3064 138 4828 4738
141 561 562 2875 2810 139 4738 4630
142 565 566 2612 2545 140 4630 4503
143 569 570 2339 2269 141 4503 4358
144 573 574 2057 1985 142 4358 4196
145 577 578 1767 1693 143 4196 4018
146 581 582 1470 1394 144 4018 3824
147 585 586 1167 1090 145 3824 3614
148 589 590 859 782 146 3614 3390
149 593 594 548 470 147 3390 3154
150 597 598 235 157 148 3154 2904
151 601 602 -78 -157 149 2904 2643
152 605 606 -392 -470 150 2643 2371
153 609 610 -704 -782 151 2371 2091
154 613 614 -1013 -1090 152 2091 1802
155 617 618 -1319 -1394 153 1802 1506
156 621 622 -1619 -1693 154 1506 1203
157 625 626 -1913 -1985 155 1203 896
158 629 630 -2199 -2269 156 896 586
159 633 634 -2477 -2545 157 586 274
160 637 638 -2745 -2810 158 274 -40
161 641 642 -3002 -3064 159 -40 -353
162 645 646 -3247 -3306 160 -353 -665
163 649 650 -3479 -3535 161 -665 -975
164 653 654 -3698 -3750 162 -975 -1280
165 657 658 -3902 -3950 163 -1280 -1581
166 661 662 -4090 -4135 164 -1581 -1876
167 665 666 -4263 -4303 165 -1876 -2162
168 669 670 -4418 -4455 166 -2162 -2441
169 673 674 -4557 -4588 167 -2441 -2710
170 677 678 -4677 -4704 168 -2710 -2968
171 681 682 -4778 -4801 169 -2968 -3215
172 685 686 -4861 -4879 170 -3215 -3449
173 689 690 -4925 -4938 171 -3449 -3669
174 693 694 -4969 -4977 172 -3669 -3875
175 697 698 -4994 -4997 173 -3875 -4065
176 701 702 -4999 -4997 174 -4065 -4239
177 705 706 -4984 -4977 175 -4239 -4397
178 709 710 -4950 -4938 176 -4397 -4537
179 713 714 -4896 -4879 177 -4537 -4660
180 717 718 -4822 -4801 178 -4660 -4764
181 721 722 -4730 -4704 179 -4764 -4849
182 725 726 -4619 -4588 180 -4849 -4915
183 729 730 -4490 -4455 181 -4915 -4961
184 733 734 -4343 -4303 182 -4961 -4989
185 737 738 -4179 -4135 183 -4989 -4996
186 741 742 -3998 -3950 184 -4996 -4984
187 745 746 -3802 -3750 185 -4984 -4952
188 749 750 -3590 -3535 186 -4952 -4900
189 753 754 -3365 -3306 187 -4900 -4829
190 757 758 -3126 -3064 188 -4829 -4739
191 761 762 -2875 -2810 189 -4739 -4631
192 765 766 -2612 -2545 190 -4631 -4504
193 769 770 -2339 -2269 191 -4504 -4359
194 773 774 -2057 -1985 192 -4359 -4197
195 777 778 -1767 -1693 193 -4197 -4019
196 781 782 -1470 -1394 194 -4019 -3825
197 785 786 -1167 -1090 195 -3825 -3615
198 789 790 -859 -782 196 -3615 -3391
199 793 794 -548 -470 197 -3391 -3155
200 797 798 -235 -157 198 -3155 -2905
201 801 802 78 157 199 -2905 -2644
202 805 806 392 470 200 -2644 -2372
203 809 810 704 782 201 -2372 -2091
204 813 814 1013 1090 202 -2091 -1803
205 817 818 1319 1394 203 -1803 -1507
206 821 822 1619 1693 204 -1507 -1204
207 825 826 1913 1985 205 -1204 -897
208 829 830 2199 2269 206 -897 -587
209 833 834 2477 2545 207 -587 -275
210 837 838 2745 2810 208 -275 39
211 841 842 3002 3064 209 39 352
212 845 846 3247 3306 210 352 664
213 849 850 3479 3535 211 664 974
214 853 854 3698 3750 212 974 1279
215 857 858 3902 3950 213 1279 1580
216 861 862 4090 4135 214 1580 1875
217 865 866 4263 4303 215 1875 2161
218 869 870 4418 4455 216 2161 2440
219 873 874 4557 4588 217 2440 2709
220 877 878 4677 4704 218 2709 2967
221 881 882 4778 4801 219 2967 3214
222 885 886 4861 4879 220 3214 3448
223 889 890 4925 4938 221 3448 3668
224 893 894 4969 4977 222 3668 3874
225 897 898 4994 4997 223 3874 4064
226 901 902 4999 4997 224 4064 4238
227 905 906 4984 4977 225 4238 4396
228 909 910 4950 4938 226 4396 4536
229 913 914 4896 4879 227 4536 4659
230 917 918 4822 4801 228 4659 4763
231 921 922 4730 4704 229 4763 4848
232 925 926 4619 4588 230 4848 4914
233 929 930 4490 4455 231 4914 4960
234 933 934 4343 4303 232 4960 4988
235 937 938 4179 4135 233 4988 4995
236 941 942 3998 3950 234 4995 4983
237 945 946 3802 3750 235 4983 4951
238 949 950 3590 3535 236 4951 4899
239 953 954 3365 3306 237 4899 4828
240 957 958 3126 3064 238 4828 4738
241 961 962 2875 2810 239 4738 4630
242 965 966 2612 2545 240 4630 4503
243 969 970 2339 2269 241 4503 4358
244 973 974 2057 1985 242 4358 4196
245 977 978 1767 1693 243 4196 4018
246 981 982 1470 1394 244 4018 3824
247 985 986 1167 1090 245 3824 3614
248 989 990 859 782 246 3614 3390
249 993 994 548 470 247 3390 3154
250 997 998 235 157 248 3154 2904
251 1001 1002 -78 -157 249 2904 2643
252 1005 1006 -392 -470 250 2643 2371
253 1009 1010 -704 -782 251 2371 2091
254 1013 1014 -1013 -1090 252 2091 1802
255 1017 1018 -1319 -1394 253 1802 1506
256 1021 1022 -1619 -1693 254 1506 1203
257 1025 1026 -1913 -1985 255 1203 896
258 1029 1030 -2199 -2269 256 896 586
259 1033 1034 -2477 -2545 257 586 274
260 1037 1038 -2745 -2810 258 274 -40
261 1041 1042 -3002 -3064 259 -40 -353
262 1045 1046 -3247 -3306 260 -353 -665
263 1049 1050 -3479 -3535 261 -665 -975
264 1053 1054 -3698 -3750 262 -975 -1280
265 1057 1058 -3902 -3950 263 -1280 -1581
266 1061 1062 -4090 -4135 264 -1581 -1876
267 1065 1066 -4263 -4303 265 -1876 -2162
268 1069 1070 -4418 -4455 266 -2162 -2441
269 1073 1074 -4557 -4588 267 -2441 -2710
270 1077 1078 -4677 -4704 268 -2710 -2968
271 1081 1082 -4778 -4801 269 -2968 -3215
272 1085 1086 -4861 -4879 270 -3215 -3449
273 1089 1090 -4925 -4938 271 -3449 -3669
274 1093 1094 -4969 -4977 272 -3669 -3875
275 1097 1098 -4994 -4997 273 -3875 -4065
276 1101 1102 -4999 -4997 274 -4065 -4239
277 1105 1106 -4984 -4977 275 -4239 -4397
278 1109 1110 -4950 -4938 276 -4397 -4537
279 1113 1114 -4896 -4879 277 -4537 -4660
280 1117 1118 -4822 -4801 278 -4660 -4764
281 1121 1122 -4730 -4704 279 -4764 -4849
282 1125 1126 -4619 -4588 280 -4849 -4915
283 1129 1130 -4490 -4455 281 -4915 -4961
284 1133 1134 -4343 -4303 282 -4961 -4989
285 1137 1138 -4179 -4135 283 -4989 -4996
286 1141 1142 -3998 -3950 284 -4996 -4984
287 1145 1146 -3802 -3750 285 -4984 -4952
288 1149 1150 -3590 -3535 286 -4952 -4900
289 1153 1154 -3365 -3306 287 -4900 -4829
290 1157 1158 -3126 -3064 288 -4829 -4739
291 1161 1162 -2875 -2810 289 -4739 -4631
292 1165 1166 -2612 -2545 290 -4631 -4504
293 1169 1170 -2339 -2269 291 -4504 -4359
294 1173 1174 -2057 -1985 292 -4359 -4197
295 1177 1178 -1767 -1693 293 -4197 -4019
296 1181 1182 -1470 -1394 294 -4019 -3825
297 1185 1186 -1167 -1090 295 -3825 -3615
298 1189 1190 -859 -782 296 -3615 -3391
299 1193 1194 -548 -470 297 -3391 -3155
300 1197 1198 -235 -157 298 -3155 -2905
301 1201 1202 78 157 299 -2905 -2644
302 1205 1206 392 470 300 -2644 -2372
303 1209 1210 704 782 301 -2372 -2091
304 1213 1214 1013 1090 302 -2091 -1803
305 1217 1218 1319 1394 303 -1803 -1507
306 1221 1222 1619 1693 304 -1507 -1204
307 1225 1226 1913 1985 305 -1204 -897
308 1229 1230 2199 2269 306 -897 -587
309 1233 1234 2477 2545 307 -587 -275
310 1237 1238 2745 2810 308 -275 39
311 1241 1242 3002 3064 309 39 352
312 1245 1246 3247 3306 310 352 664
313 1249 1250 3479 3535 311 664 974
314 1253 1254 3698 3750 312 974 1279
315 1257 1258 3902 3950 313 1279 1580
316 1261 1262 4090 4135 314 1580 1875
317 1265 1266 4263 4303 315 1875 2161
318 1269 1270 4418 4455 316 2161 2440
319 1273 1274 4557 4588 317 2440 2709
320 1277 1278 4677 4704 318 2709 2967
321 1281 1282 4778 4801 319 2967 3214
322 1285 1286 4861 4879 320 3214 3448
323 1289 1290 4925 4938 321 3448 3668
324 1293 1294 4969 4977 322 3668 3874
325 1297 1298 4994 4997 323 3874 4064
326 1301 1302 4999 4997 324 4064 4238
327 1305 1306 4984 4977 325 4238 4396
328 1309 1310 4950 4938 326 4396 4536
329 1313 1314 4896 4879 327 4536 4659
330 1317 1318 4822 4801 328 4659 4763
331 1321 1322 4730 4704 329 4763 4848
332 1325 1326 4619 4588 330 4848 4914
333 1329 1330 4490 4455 331 4914 4960
334 1333 1334 4343 4303 332 4960 4988
335 1337 1338 4179 4135 333 4988 4995
336 1341 1342 3998 3950 334 4995 4983
337 1345 1346 3802 3750 335 4983 4951
338 1349 1350 3590 3535 336 4951 4899
339 1353 1354 3365 3306 337 4899 4828
340 1357 1358 3126 3064 338 4828 4738
341 1361 1362 2875 2810 339 4738 4630
342 1365 1366 2612 2545 340 4630 4503
343 1369 1370 2339 2269 341 4503 4358
344 1373 1374 2057 1985 342 4358 4196
345 1377 1378 1767 1693 343 4196 4018
346 1381 1382 1470 1394 344 4018 3824
347 1385 1386 1167 1090 345 3824 3614
348 1389 1390 859 782 346 3614 3390
349 1393 1394 548 470 347 3390 3154
350 1397 1398 235 157 348 3154 2904
351 1401 1402 -78 -157 349 2904 2643
352 1405 1406 -392 -470 350 2643 2371
353 1409 1410 -704 -782 351 2371 2091
354 1413 1414 -1013 -1090 352 2091 1802
355 1417 1418 -1319 -1394 353 1802 1506
356 1421 1422 -1619 -1693 354 1506 1203
357 1425 1426 -1913 -1985 355 1203 896
358 1429 1430 -2199 -2269 356 896 586
359 1433 1434 -2477 -2545 357 586 274
360 1437 1438 -2745 -2810 358 274 -40
361 1441 1442 -3002 -3064 359 -40 -353
362 1445 1446 -3247 -3306 360 -353 -665
363 1449 1450 -3479 -3535 361 -665 -975
364 1453 1454 -3698 -3750 362 -975 -1280
365 1457 1458 -3902 -3950 363 -1280 -1581
366 1461 1462 -4090 -4135 364 -1581 -1876
367 1465 1466 -4263 -4303 365 -1876 -2162
368 1469 1470 -4418 -4455 366 -2162 -2441
369 1473 1474 -4557 -4588 367 -2441 -2710
370 1477 1478 -4677 -4704 368 -2710 -2968
371 1481 1482 -4778 -4801 369 -2968 -3215
372 1485 1486 -4861 -4879 370 -3215 -3449
373 1489 1490 -4925 -4938 371 -3449 -3669
374 1493 1494 -4969 -4977 372 -3669 -3875
375 1497 1498 -4994 -4997 373 -3875 -4065
376 1501 1502 -4999 -4997 374 -4065 -4239
377 1505 1506 -4984 -4977 375 -4239 -4397
378 1509 1510 -4950 -4938 376 -4397 -4537
379 1513 1514 -4896 -4879 377 -4537 -4660
380 1517 1518 -4822 -4801 378 -4660 -4764
381 1521 1522 -4730 -4704 379 -4764 -4849
382 1525 1526 -4619 -4588 380 -4849 -4915
383 1529 1530 -4490 -4455 381 -4915 -4961
384 1533 1534 -4343 -4303 382 -4961 -4989
385 1537 1538 -4179 -4135 383 -4989 -4996
386 1541 1542 -3998 -3950 384 -4996 -4984
387 1545 1546 -3802 -3750 385 -4984 -4952
388 1549 1550 -3590 -3535 386 -4952 -4900
389 1553 1554 -3365 -3306 387 -4900 -4829
390 1557 1558 -3126 -3064 388 -4829 -4739
391 1561 1562 -2875 -2810 389 -4739 -4631
392 1565 1566 -2612 -2545 390 -4631 -4504
393 1569 1570 -2339 -2269 391 -4504 -4359
394 1573 1574 -2057 -1985 392 -4359 -4197
395 1577 1578 -1767 -1693 393 -4197 -4019
396 1581 1582 -1470 -1394 394 -4019 -3825
397 1585 1586 -1167 -1090 395 -3825 -3615
398 1589 1590 -859 -782 396 -3615 -3391
399 1593 1594 -548 -470 397 -3391 -3155
400 1597 1598 -235 -157 398 -3155 -2905
File diff suppressed because it is too large Load Diff
+100 -100
View File
@@ -1,101 +1,101 @@
sample,sin_out,cos_out,dds_ready
0,0,32757,1
1,9512,-31113,1
2,-26319,-18868,1
3,-18868,26319,1
4,31113,9512,1
5,-32757,0,1
6,-31113,9512,1
7,18868,26319,1
8,26319,-18868,1
9,-9512,-31113,1
10,0,32757,1
11,9512,-31113,1
12,-26319,-18868,1
13,-18868,26319,1
14,31113,9512,1
15,-32757,0,1
16,-31113,9512,1
17,18868,26319,1
18,26319,-18868,1
19,-9512,-31113,1
20,0,32757,1
21,9512,-31113,1
22,-26319,-18868,1
23,-18868,26319,1
24,31113,9512,1
25,-32757,0,1
26,-31113,9512,1
27,18868,26319,1
28,26319,-18868,1
29,-9512,-31113,1
30,0,32757,1
31,9512,-31113,1
32,-26319,-18868,1
33,-18868,26319,1
34,31113,9512,1
35,-32757,0,1
36,-31113,9512,1
37,18868,26319,1
38,26319,-18868,1
39,-9512,-31113,1
40,0,32757,1
41,9512,-31113,1
42,-26319,-18868,1
43,-18868,26319,1
44,31113,9512,1
45,-32757,0,1
46,-31113,9512,1
47,18868,26319,1
48,26319,-18868,1
49,-9512,-31113,1
50,0,32757,1
51,9512,-31113,1
52,-26319,-18868,1
53,-18868,26319,1
54,31113,9512,1
55,-32757,0,1
56,-31113,9512,1
57,18868,26319,1
58,26319,-18868,1
59,-9512,-31113,1
60,0,32757,1
61,9512,-31113,1
62,-26319,-18868,1
63,-18868,26319,1
64,31113,9512,1
65,-32757,0,1
66,-31113,9512,1
67,18868,26319,1
68,26319,-18868,1
69,-9512,-31113,1
70,0,32757,1
71,9512,-31113,1
72,-26319,-18868,1
73,-18868,26319,1
74,31113,9512,1
75,-32757,0,1
76,-31113,9512,1
77,18868,26319,1
78,26319,-18868,1
79,-9512,-31113,1
80,0,32757,1
81,9512,-31113,1
82,-26319,-18868,1
83,-18868,26319,1
84,31113,9512,1
85,-32757,0,1
86,-31113,9512,1
87,18868,26319,1
88,26319,-18868,1
89,-9512,-31113,1
90,0,32757,1
91,9512,-31113,1
92,-26319,-18868,1
93,-18868,26319,1
94,31113,9512,1
95,-32757,0,1
96,-31113,9512,1
97,18868,26319,1
98,26319,-18868,1
99,-9512,-31113,1
0,0,32767,0
1,0,32767,0
2,0,32757,0
3,31113,-9512,1
4,-26319,-18868,1
5,-26319,18868,1
6,31113,9512,1
7,-32757,0,1
8,-9512,31113,1
9,18868,26319,1
10,18868,-26319,1
11,-9512,-31113,1
12,0,32757,1
13,31113,-9512,1
14,-26319,-18868,1
15,-26319,18868,1
16,31113,9512,1
17,-32757,0,1
18,-9512,31113,1
19,18868,26319,1
20,18868,-26319,1
21,-9512,-31113,1
22,0,32757,1
23,31113,-9512,1
24,-26319,-18868,1
25,-26319,18868,1
26,31113,9512,1
27,-32757,0,1
28,-9512,31113,1
29,18868,26319,1
30,18868,-26319,1
31,-9512,-31113,1
32,0,32757,1
33,31113,-9512,1
34,-26319,-18868,1
35,-26319,18868,1
36,31113,9512,1
37,-32757,0,1
38,-9512,31113,1
39,18868,26319,1
40,18868,-26319,1
41,-9512,-31113,1
42,0,32757,1
43,31113,-9512,1
44,-26319,-18868,1
45,-26319,18868,1
46,31113,9512,1
47,-32757,0,1
48,-9512,31113,1
49,18868,26319,1
50,18868,-26319,1
51,-9512,-31113,1
52,0,32757,1
53,31113,-9512,1
54,-26319,-18868,1
55,-26319,18868,1
56,31113,9512,1
57,-32757,0,1
58,-9512,31113,1
59,18868,26319,1
60,18868,-26319,1
61,-9512,-31113,1
62,0,32757,1
63,31113,-9512,1
64,-26319,-18868,1
65,-26319,18868,1
66,31113,9512,1
67,-32757,0,1
68,-9512,31113,1
69,18868,26319,1
70,18868,-26319,1
71,-9512,-31113,1
72,0,32757,1
73,31113,-9512,1
74,-26319,-18868,1
75,-26319,18868,1
76,31113,9512,1
77,-32757,0,1
78,-9512,31113,1
79,18868,26319,1
80,18868,-26319,1
81,-9512,-31113,1
82,0,32757,1
83,31113,-9512,1
84,-26319,-18868,1
85,-26319,18868,1
86,31113,9512,1
87,-32757,0,1
88,-9512,31113,1
89,18868,26319,1
90,18868,-26319,1
91,-9512,-31113,1
92,0,32757,1
93,31113,-9512,1
94,-26319,-18868,1
95,-26319,18868,1
96,31113,9512,1
97,-32757,0,1
98,-9512,31113,1
99,18868,26319,1
1 sample sin_out cos_out dds_ready
2 0 0 32757 32767 1 0
3 1 9512 0 -31113 32767 1 0
4 2 -26319 0 -18868 32757 1 0
5 3 -18868 31113 26319 -9512 1
6 4 31113 -26319 9512 -18868 1
7 5 -32757 -26319 0 18868 1
8 6 -31113 31113 9512 1
9 7 18868 -32757 26319 0 1
10 8 26319 -9512 -18868 31113 1
11 9 -9512 18868 -31113 26319 1
12 10 0 18868 32757 -26319 1
13 11 9512 -9512 -31113 1
14 12 -26319 0 -18868 32757 1
15 13 -18868 31113 26319 -9512 1
16 14 31113 -26319 9512 -18868 1
17 15 -32757 -26319 0 18868 1
18 16 -31113 31113 9512 1
19 17 18868 -32757 26319 0 1
20 18 26319 -9512 -18868 31113 1
21 19 -9512 18868 -31113 26319 1
22 20 0 18868 32757 -26319 1
23 21 9512 -9512 -31113 1
24 22 -26319 0 -18868 32757 1
25 23 -18868 31113 26319 -9512 1
26 24 31113 -26319 9512 -18868 1
27 25 -32757 -26319 0 18868 1
28 26 -31113 31113 9512 1
29 27 18868 -32757 26319 0 1
30 28 26319 -9512 -18868 31113 1
31 29 -9512 18868 -31113 26319 1
32 30 0 18868 32757 -26319 1
33 31 9512 -9512 -31113 1
34 32 -26319 0 -18868 32757 1
35 33 -18868 31113 26319 -9512 1
36 34 31113 -26319 9512 -18868 1
37 35 -32757 -26319 0 18868 1
38 36 -31113 31113 9512 1
39 37 18868 -32757 26319 0 1
40 38 26319 -9512 -18868 31113 1
41 39 -9512 18868 -31113 26319 1
42 40 0 18868 32757 -26319 1
43 41 9512 -9512 -31113 1
44 42 -26319 0 -18868 32757 1
45 43 -18868 31113 26319 -9512 1
46 44 31113 -26319 9512 -18868 1
47 45 -32757 -26319 0 18868 1
48 46 -31113 31113 9512 1
49 47 18868 -32757 26319 0 1
50 48 26319 -9512 -18868 31113 1
51 49 -9512 18868 -31113 26319 1
52 50 0 18868 32757 -26319 1
53 51 9512 -9512 -31113 1
54 52 -26319 0 -18868 32757 1
55 53 -18868 31113 26319 -9512 1
56 54 31113 -26319 9512 -18868 1
57 55 -32757 -26319 0 18868 1
58 56 -31113 31113 9512 1
59 57 18868 -32757 26319 0 1
60 58 26319 -9512 -18868 31113 1
61 59 -9512 18868 -31113 26319 1
62 60 0 18868 32757 -26319 1
63 61 9512 -9512 -31113 1
64 62 -26319 0 -18868 32757 1
65 63 -18868 31113 26319 -9512 1
66 64 31113 -26319 9512 -18868 1
67 65 -32757 -26319 0 18868 1
68 66 -31113 31113 9512 1
69 67 18868 -32757 26319 0 1
70 68 26319 -9512 -18868 31113 1
71 69 -9512 18868 -31113 26319 1
72 70 0 18868 32757 -26319 1
73 71 9512 -9512 -31113 1
74 72 -26319 0 -18868 32757 1
75 73 -18868 31113 26319 -9512 1
76 74 31113 -26319 9512 -18868 1
77 75 -32757 -26319 0 18868 1
78 76 -31113 31113 9512 1
79 77 18868 -32757 26319 0 1
80 78 26319 -9512 -18868 31113 1
81 79 -9512 18868 -31113 26319 1
82 80 0 18868 32757 -26319 1
83 81 9512 -9512 -31113 1
84 82 -26319 0 -18868 32757 1
85 83 -18868 31113 26319 -9512 1
86 84 31113 -26319 9512 -18868 1
87 85 -32757 -26319 0 18868 1
88 86 -31113 31113 9512 1
89 87 18868 -32757 26319 0 1
90 88 26319 -9512 -18868 31113 1
91 89 -9512 18868 -31113 26319 1
92 90 0 18868 32757 -26319 1
93 91 9512 -9512 -31113 1
94 92 -26319 0 -18868 32757 1
95 93 -18868 31113 26319 -9512 1
96 94 31113 -26319 9512 -18868 1
97 95 -32757 -26319 0 18868 1
98 96 -31113 31113 9512 1
99 97 18868 -32757 26319 0 1
100 98 26319 -9512 -18868 31113 1
101 99 -9512 18868 -31113 26319 1
+498 -498
View File
@@ -1,501 +1,501 @@
sample,sin_out,cos_out,dds_ready
0,0,32767,1
1,0,32757,1
2,0,32757,1
3,804,32728,1
4,804,32728,1
5,1608,32678,1
6,2410,32609,1
7,2410,32609,1
8,3212,32521,1
9,4011,32412,1
10,4011,32412,1
11,4808,32285,1
12,5602,32137,1
13,5602,32137,1
14,6393,31971,1
15,6393,31971,1
16,7179,31785,1
17,7962,31580,1
18,7962,31580,1
19,8739,31356,1
20,9512,31113,1
21,9512,31113,1
22,10278,30852,1
23,11039,30571,1
24,11039,30571,1
25,11793,30273,1
26,11793,30273,1
27,12539,29956,1
28,13279,29621,1
29,13279,29621,1
30,14010,29268,1
31,14732,28898,1
32,14732,28898,1
33,15446,28510,1
34,16151,28105,1
35,16151,28105,1
36,16846,27683,1
37,17530,27245,1
38,17530,27245,1
39,18204,26790,1
40,18204,26790,1
41,18868,26319,1
42,19519,25832,1
43,19519,25832,1
44,20159,25329,1
45,20787,24811,1
46,20787,24811,1
47,21403,24279,1
48,22005,23731,1
49,22005,23731,1
50,22594,23170,1
51,22594,23170,1
52,23170,22594,1
53,23731,22005,1
54,23731,22005,1
55,24279,21403,1
56,24811,20787,1
57,24811,20787,1
58,25329,20159,1
59,25832,19519,1
60,25832,19519,1
61,26319,18868,1
62,26790,18204,1
63,26790,18204,1
64,27245,17530,1
65,27245,17530,1
66,27683,16846,1
67,28105,16151,1
68,28105,16151,1
69,28510,15446,1
70,28898,14732,1
71,28898,14732,1
72,29268,14010,1
73,29621,13279,1
74,29621,13279,1
75,29956,12539,1
76,29956,12539,1
77,30273,11793,1
78,30571,11039,1
79,30571,11039,1
80,30852,10278,1
81,31113,9512,1
82,31113,9512,1
83,31356,8739,1
84,31580,7962,1
85,31580,7962,1
86,31785,7179,1
87,31971,6393,1
88,31971,6393,1
89,32137,5602,1
90,32137,5602,1
91,32285,4808,1
92,32412,4011,1
93,32412,4011,1
94,32521,3212,1
95,32609,2410,1
96,32609,2410,1
97,32678,1608,1
98,32728,804,1
99,32728,804,1
100,32757,0,1
101,32757,0,1
102,0,-32757,1
103,804,-32728,1
104,804,-32728,1
105,1608,-32678,1
106,2410,-32609,1
107,2410,-32609,1
108,3212,-32521,1
109,4011,-32412,1
110,4011,-32412,1
111,4808,-32285,1
112,5602,-32137,1
113,5602,-32137,1
114,6393,-31971,1
115,6393,-31971,1
116,7179,-31785,1
117,7962,-31580,1
118,7962,-31580,1
119,8739,-31356,1
120,9512,-31113,1
121,9512,-31113,1
122,10278,-30852,1
123,11039,-30571,1
124,11039,-30571,1
125,11793,-30273,1
126,11793,-30273,1
127,12539,-29956,1
128,13279,-29621,1
129,13279,-29621,1
130,14010,-29268,1
131,14732,-28898,1
132,14732,-28898,1
133,15446,-28510,1
134,16151,-28105,1
135,16151,-28105,1
136,16846,-27683,1
137,17530,-27245,1
138,17530,-27245,1
139,18204,-26790,1
140,18204,-26790,1
141,18868,-26319,1
142,19519,-25832,1
143,19519,-25832,1
144,20159,-25329,1
145,20787,-24811,1
146,20787,-24811,1
147,21403,-24279,1
148,22005,-23731,1
149,22005,-23731,1
150,22594,-23170,1
151,22594,-23170,1
0,0,32767,0
1,0,32767,0
2,0,32767,0
3,0,32757,0
4,0,32757,1
5,804,32728,1
6,804,32728,1
7,1608,32678,1
8,2410,32609,1
9,2410,32609,1
10,3212,32521,1
11,4011,32412,1
12,4011,32412,1
13,4808,32285,1
14,5602,32137,1
15,5602,32137,1
16,6393,31971,1
17,6393,31971,1
18,7179,31785,1
19,7962,31580,1
20,7962,31580,1
21,8739,31356,1
22,9512,31113,1
23,9512,31113,1
24,10278,30852,1
25,11039,30571,1
26,11039,30571,1
27,11793,30273,1
28,11793,30273,1
29,12539,29956,1
30,13279,29621,1
31,13279,29621,1
32,14010,29268,1
33,14732,28898,1
34,14732,28898,1
35,15446,28510,1
36,16151,28105,1
37,16151,28105,1
38,16846,27683,1
39,17530,27245,1
40,17530,27245,1
41,18204,26790,1
42,18204,26790,1
43,18868,26319,1
44,19519,25832,1
45,19519,25832,1
46,20159,25329,1
47,20787,24811,1
48,20787,24811,1
49,21403,24279,1
50,22005,23731,1
51,22005,23731,1
52,22594,23170,1
53,22594,23170,1
54,23170,22594,1
55,23731,22005,1
56,23731,22005,1
57,24279,21403,1
58,24811,20787,1
59,24811,20787,1
60,25329,20159,1
61,25832,19519,1
62,25832,19519,1
63,26319,18868,1
64,26790,18204,1
65,26790,18204,1
66,27245,17530,1
67,27245,17530,1
68,27683,16846,1
69,28105,16151,1
70,28105,16151,1
71,28510,15446,1
72,28898,14732,1
73,28898,14732,1
74,29268,14010,1
75,29621,13279,1
76,29621,13279,1
77,29956,12539,1
78,29956,12539,1
79,30273,11793,1
80,30571,11039,1
81,30571,11039,1
82,30852,10278,1
83,31113,9512,1
84,31113,9512,1
85,31356,8739,1
86,31580,7962,1
87,31580,7962,1
88,31785,7179,1
89,31971,6393,1
90,31971,6393,1
91,32137,5602,1
92,32137,5602,1
93,32285,4808,1
94,32412,4011,1
95,32412,4011,1
96,32521,3212,1
97,32609,2410,1
98,32609,2410,1
99,32678,1608,1
100,32728,804,1
101,32728,804,1
102,32757,0,1
103,32757,0,1
104,32757,0,1
105,32728,-804,1
106,32728,-804,1
107,32678,-1608,1
108,32609,-2410,1
109,32609,-2410,1
110,32521,-3212,1
111,32412,-4011,1
112,32412,-4011,1
113,32285,-4808,1
114,32137,-5602,1
115,32137,-5602,1
116,31971,-6393,1
117,31971,-6393,1
118,31785,-7179,1
119,31580,-7962,1
120,31580,-7962,1
121,31356,-8739,1
122,31113,-9512,1
123,31113,-9512,1
124,30852,-10278,1
125,30571,-11039,1
126,30571,-11039,1
127,30273,-11793,1
128,30273,-11793,1
129,29956,-12539,1
130,29621,-13279,1
131,29621,-13279,1
132,29268,-14010,1
133,28898,-14732,1
134,28898,-14732,1
135,28510,-15446,1
136,28105,-16151,1
137,28105,-16151,1
138,27683,-16846,1
139,27245,-17530,1
140,27245,-17530,1
141,26790,-18204,1
142,26790,-18204,1
143,26319,-18868,1
144,25832,-19519,1
145,25832,-19519,1
146,25329,-20159,1
147,24811,-20787,1
148,24811,-20787,1
149,24279,-21403,1
150,23731,-22005,1
151,23731,-22005,1
152,23170,-22594,1
153,23731,-22005,1
154,23731,-22005,1
155,24279,-21403,1
156,24811,-20787,1
157,24811,-20787,1
158,25329,-20159,1
159,25832,-19519,1
160,25832,-19519,1
161,26319,-18868,1
162,26790,-18204,1
163,26790,-18204,1
164,27245,-17530,1
165,27245,-17530,1
166,27683,-16846,1
167,28105,-16151,1
168,28105,-16151,1
169,28510,-15446,1
170,28898,-14732,1
171,28898,-14732,1
172,29268,-14010,1
173,29621,-13279,1
174,29621,-13279,1
175,29956,-12539,1
176,29956,-12539,1
177,30273,-11793,1
178,30571,-11039,1
179,30571,-11039,1
180,30852,-10278,1
181,31113,-9512,1
182,31113,-9512,1
183,31356,-8739,1
184,31580,-7962,1
185,31580,-7962,1
186,31785,-7179,1
187,31971,-6393,1
188,31971,-6393,1
189,32137,-5602,1
190,32137,-5602,1
191,32285,-4808,1
192,32412,-4011,1
193,32412,-4011,1
194,32521,-3212,1
195,32609,-2410,1
196,32609,-2410,1
197,32678,-1608,1
198,32728,-804,1
199,32728,-804,1
200,32757,0,1
201,32757,0,1
202,-32757,0,1
203,-32728,-804,1
204,-32728,-804,1
205,-32678,-1608,1
206,-32609,-2410,1
207,-32609,-2410,1
208,-32521,-3212,1
209,-32412,-4011,1
210,-32412,-4011,1
211,-32285,-4808,1
212,-32137,-5602,1
213,-32137,-5602,1
214,-31971,-6393,1
215,-31971,-6393,1
216,-31785,-7179,1
217,-31580,-7962,1
218,-31580,-7962,1
219,-31356,-8739,1
220,-31113,-9512,1
221,-31113,-9512,1
222,-30852,-10278,1
223,-30571,-11039,1
224,-30571,-11039,1
225,-30273,-11793,1
226,-30273,-11793,1
227,-29956,-12539,1
228,-29621,-13279,1
229,-29621,-13279,1
230,-29268,-14010,1
231,-28898,-14732,1
232,-28898,-14732,1
233,-28510,-15446,1
234,-28105,-16151,1
235,-28105,-16151,1
236,-27683,-16846,1
237,-27245,-17530,1
238,-27245,-17530,1
239,-26790,-18204,1
240,-26790,-18204,1
241,-26319,-18868,1
242,-25832,-19519,1
243,-25832,-19519,1
244,-25329,-20159,1
245,-24811,-20787,1
246,-24811,-20787,1
247,-24279,-21403,1
248,-23731,-22005,1
249,-23731,-22005,1
250,-23170,-22594,1
251,-23170,-22594,1
252,-22594,-23170,1
253,-22005,-23731,1
254,-22005,-23731,1
255,-21403,-24279,1
256,-20787,-24811,1
257,-20787,-24811,1
258,-20159,-25329,1
259,-19519,-25832,1
260,-19519,-25832,1
261,-18868,-26319,1
262,-18204,-26790,1
263,-18204,-26790,1
264,-17530,-27245,1
265,-17530,-27245,1
266,-16846,-27683,1
267,-16151,-28105,1
268,-16151,-28105,1
269,-15446,-28510,1
270,-14732,-28898,1
271,-14732,-28898,1
272,-14010,-29268,1
273,-13279,-29621,1
274,-13279,-29621,1
275,-12539,-29956,1
276,-12539,-29956,1
277,-11793,-30273,1
278,-11039,-30571,1
279,-11039,-30571,1
280,-10278,-30852,1
281,-9512,-31113,1
282,-9512,-31113,1
283,-8739,-31356,1
284,-7962,-31580,1
285,-7962,-31580,1
286,-7179,-31785,1
287,-6393,-31971,1
288,-6393,-31971,1
289,-5602,-32137,1
290,-5602,-32137,1
291,-4808,-32285,1
292,-4011,-32412,1
293,-4011,-32412,1
294,-3212,-32521,1
295,-2410,-32609,1
296,-2410,-32609,1
297,-1608,-32678,1
298,-804,-32728,1
299,-804,-32728,1
300,0,-32757,1
301,0,-32757,1
302,-32757,0,1
303,-32728,804,1
304,-32728,804,1
305,-32678,1608,1
306,-32609,2410,1
307,-32609,2410,1
308,-32521,3212,1
309,-32412,4011,1
310,-32412,4011,1
311,-32285,4808,1
312,-32137,5602,1
313,-32137,5602,1
314,-31971,6393,1
315,-31971,6393,1
316,-31785,7179,1
317,-31580,7962,1
318,-31580,7962,1
319,-31356,8739,1
320,-31113,9512,1
321,-31113,9512,1
322,-30852,10278,1
323,-30571,11039,1
324,-30571,11039,1
325,-30273,11793,1
326,-30273,11793,1
327,-29956,12539,1
328,-29621,13279,1
329,-29621,13279,1
330,-29268,14010,1
331,-28898,14732,1
332,-28898,14732,1
333,-28510,15446,1
334,-28105,16151,1
335,-28105,16151,1
336,-27683,16846,1
337,-27245,17530,1
338,-27245,17530,1
339,-26790,18204,1
340,-26790,18204,1
341,-26319,18868,1
342,-25832,19519,1
343,-25832,19519,1
344,-25329,20159,1
345,-24811,20787,1
346,-24811,20787,1
347,-24279,21403,1
348,-23731,22005,1
349,-23731,22005,1
350,-23170,22594,1
351,-23170,22594,1
153,23170,-22594,1
154,22594,-23170,1
155,22005,-23731,1
156,22005,-23731,1
157,21403,-24279,1
158,20787,-24811,1
159,20787,-24811,1
160,20159,-25329,1
161,19519,-25832,1
162,19519,-25832,1
163,18868,-26319,1
164,18204,-26790,1
165,18204,-26790,1
166,17530,-27245,1
167,17530,-27245,1
168,16846,-27683,1
169,16151,-28105,1
170,16151,-28105,1
171,15446,-28510,1
172,14732,-28898,1
173,14732,-28898,1
174,14010,-29268,1
175,13279,-29621,1
176,13279,-29621,1
177,12539,-29956,1
178,12539,-29956,1
179,11793,-30273,1
180,11039,-30571,1
181,11039,-30571,1
182,10278,-30852,1
183,9512,-31113,1
184,9512,-31113,1
185,8739,-31356,1
186,7962,-31580,1
187,7962,-31580,1
188,7179,-31785,1
189,6393,-31971,1
190,6393,-31971,1
191,5602,-32137,1
192,5602,-32137,1
193,4808,-32285,1
194,4011,-32412,1
195,4011,-32412,1
196,3212,-32521,1
197,2410,-32609,1
198,2410,-32609,1
199,1608,-32678,1
200,804,-32728,1
201,804,-32728,1
202,0,-32757,1
203,0,-32757,1
204,-32757,0,1
205,-32728,-804,1
206,-32728,-804,1
207,-32678,-1608,1
208,-32609,-2410,1
209,-32609,-2410,1
210,-32521,-3212,1
211,-32412,-4011,1
212,-32412,-4011,1
213,-32285,-4808,1
214,-32137,-5602,1
215,-32137,-5602,1
216,-31971,-6393,1
217,-31971,-6393,1
218,-31785,-7179,1
219,-31580,-7962,1
220,-31580,-7962,1
221,-31356,-8739,1
222,-31113,-9512,1
223,-31113,-9512,1
224,-30852,-10278,1
225,-30571,-11039,1
226,-30571,-11039,1
227,-30273,-11793,1
228,-30273,-11793,1
229,-29956,-12539,1
230,-29621,-13279,1
231,-29621,-13279,1
232,-29268,-14010,1
233,-28898,-14732,1
234,-28898,-14732,1
235,-28510,-15446,1
236,-28105,-16151,1
237,-28105,-16151,1
238,-27683,-16846,1
239,-27245,-17530,1
240,-27245,-17530,1
241,-26790,-18204,1
242,-26790,-18204,1
243,-26319,-18868,1
244,-25832,-19519,1
245,-25832,-19519,1
246,-25329,-20159,1
247,-24811,-20787,1
248,-24811,-20787,1
249,-24279,-21403,1
250,-23731,-22005,1
251,-23731,-22005,1
252,-23170,-22594,1
253,-23170,-22594,1
254,-22594,-23170,1
255,-22005,-23731,1
256,-22005,-23731,1
257,-21403,-24279,1
258,-20787,-24811,1
259,-20787,-24811,1
260,-20159,-25329,1
261,-19519,-25832,1
262,-19519,-25832,1
263,-18868,-26319,1
264,-18204,-26790,1
265,-18204,-26790,1
266,-17530,-27245,1
267,-17530,-27245,1
268,-16846,-27683,1
269,-16151,-28105,1
270,-16151,-28105,1
271,-15446,-28510,1
272,-14732,-28898,1
273,-14732,-28898,1
274,-14010,-29268,1
275,-13279,-29621,1
276,-13279,-29621,1
277,-12539,-29956,1
278,-12539,-29956,1
279,-11793,-30273,1
280,-11039,-30571,1
281,-11039,-30571,1
282,-10278,-30852,1
283,-9512,-31113,1
284,-9512,-31113,1
285,-8739,-31356,1
286,-7962,-31580,1
287,-7962,-31580,1
288,-7179,-31785,1
289,-6393,-31971,1
290,-6393,-31971,1
291,-5602,-32137,1
292,-5602,-32137,1
293,-4808,-32285,1
294,-4011,-32412,1
295,-4011,-32412,1
296,-3212,-32521,1
297,-2410,-32609,1
298,-2410,-32609,1
299,-1608,-32678,1
300,-804,-32728,1
301,-804,-32728,1
302,0,-32757,1
303,0,-32757,1
304,0,32757,1
305,-804,32728,1
306,-804,32728,1
307,-1608,32678,1
308,-2410,32609,1
309,-2410,32609,1
310,-3212,32521,1
311,-4011,32412,1
312,-4011,32412,1
313,-4808,32285,1
314,-5602,32137,1
315,-5602,32137,1
316,-6393,31971,1
317,-6393,31971,1
318,-7179,31785,1
319,-7962,31580,1
320,-7962,31580,1
321,-8739,31356,1
322,-9512,31113,1
323,-9512,31113,1
324,-10278,30852,1
325,-11039,30571,1
326,-11039,30571,1
327,-11793,30273,1
328,-11793,30273,1
329,-12539,29956,1
330,-13279,29621,1
331,-13279,29621,1
332,-14010,29268,1
333,-14732,28898,1
334,-14732,28898,1
335,-15446,28510,1
336,-16151,28105,1
337,-16151,28105,1
338,-16846,27683,1
339,-17530,27245,1
340,-17530,27245,1
341,-18204,26790,1
342,-18204,26790,1
343,-18868,26319,1
344,-19519,25832,1
345,-19519,25832,1
346,-20159,25329,1
347,-20787,24811,1
348,-20787,24811,1
349,-21403,24279,1
350,-22005,23731,1
351,-22005,23731,1
352,-22594,23170,1
353,-22005,23731,1
354,-22005,23731,1
355,-21403,24279,1
356,-20787,24811,1
357,-20787,24811,1
358,-20159,25329,1
359,-19519,25832,1
360,-19519,25832,1
361,-18868,26319,1
362,-18204,26790,1
363,-18204,26790,1
364,-17530,27245,1
365,-17530,27245,1
366,-16846,27683,1
367,-16151,28105,1
368,-16151,28105,1
369,-15446,28510,1
370,-14732,28898,1
371,-14732,28898,1
372,-14010,29268,1
373,-13279,29621,1
374,-13279,29621,1
375,-12539,29956,1
376,-12539,29956,1
377,-11793,30273,1
378,-11039,30571,1
379,-11039,30571,1
380,-10278,30852,1
381,-9512,31113,1
382,-9512,31113,1
383,-8739,31356,1
384,-7962,31580,1
385,-7962,31580,1
386,-7179,31785,1
387,-6393,31971,1
388,-6393,31971,1
389,-5602,32137,1
390,-5602,32137,1
391,-4808,32285,1
392,-4011,32412,1
393,-4011,32412,1
394,-3212,32521,1
395,-2410,32609,1
396,-2410,32609,1
397,-1608,32678,1
398,-804,32728,1
399,-804,32728,1
400,0,32757,1
401,0,32757,1
402,0,32757,1
403,804,32728,1
404,804,32728,1
405,1608,32678,1
406,2410,32609,1
407,2410,32609,1
408,3212,32521,1
409,4011,32412,1
410,4011,32412,1
411,4808,32285,1
412,5602,32137,1
413,5602,32137,1
414,6393,31971,1
415,6393,31971,1
416,7179,31785,1
417,7962,31580,1
418,7962,31580,1
419,8739,31356,1
420,9512,31113,1
421,9512,31113,1
422,10278,30852,1
423,11039,30571,1
424,11039,30571,1
425,11793,30273,1
426,11793,30273,1
427,12539,29956,1
428,13279,29621,1
429,13279,29621,1
430,14010,29268,1
431,14732,28898,1
432,14732,28898,1
433,15446,28510,1
434,16151,28105,1
435,16151,28105,1
436,16846,27683,1
437,17530,27245,1
438,17530,27245,1
439,18204,26790,1
440,18204,26790,1
441,18868,26319,1
442,19519,25832,1
443,19519,25832,1
444,20159,25329,1
445,20787,24811,1
446,20787,24811,1
447,21403,24279,1
448,22005,23731,1
449,22005,23731,1
450,22594,23170,1
451,22594,23170,1
452,23170,22594,1
453,23731,22005,1
454,23731,22005,1
455,24279,21403,1
456,24811,20787,1
457,24811,20787,1
458,25329,20159,1
459,25832,19519,1
460,25832,19519,1
461,26319,18868,1
462,26790,18204,1
463,26790,18204,1
464,27245,17530,1
465,27245,17530,1
466,27683,16846,1
467,28105,16151,1
468,28105,16151,1
469,28510,15446,1
470,28898,14732,1
471,28898,14732,1
472,29268,14010,1
473,29621,13279,1
474,29621,13279,1
475,29956,12539,1
476,29956,12539,1
477,30273,11793,1
478,30571,11039,1
479,30571,11039,1
480,30852,10278,1
481,31113,9512,1
482,31113,9512,1
483,31356,8739,1
484,31580,7962,1
485,31580,7962,1
486,31785,7179,1
487,31971,6393,1
488,31971,6393,1
489,32137,5602,1
490,32137,5602,1
491,32285,4808,1
492,32412,4011,1
493,32412,4011,1
494,32521,3212,1
495,32609,2410,1
496,32609,2410,1
497,32678,1608,1
498,32728,804,1
499,32728,804,1
353,-22594,23170,1
354,-23170,22594,1
355,-23731,22005,1
356,-23731,22005,1
357,-24279,21403,1
358,-24811,20787,1
359,-24811,20787,1
360,-25329,20159,1
361,-25832,19519,1
362,-25832,19519,1
363,-26319,18868,1
364,-26790,18204,1
365,-26790,18204,1
366,-27245,17530,1
367,-27245,17530,1
368,-27683,16846,1
369,-28105,16151,1
370,-28105,16151,1
371,-28510,15446,1
372,-28898,14732,1
373,-28898,14732,1
374,-29268,14010,1
375,-29621,13279,1
376,-29621,13279,1
377,-29956,12539,1
378,-29956,12539,1
379,-30273,11793,1
380,-30571,11039,1
381,-30571,11039,1
382,-30852,10278,1
383,-31113,9512,1
384,-31113,9512,1
385,-31356,8739,1
386,-31580,7962,1
387,-31580,7962,1
388,-31785,7179,1
389,-31971,6393,1
390,-31971,6393,1
391,-32137,5602,1
392,-32137,5602,1
393,-32285,4808,1
394,-32412,4011,1
395,-32412,4011,1
396,-32521,3212,1
397,-32609,2410,1
398,-32609,2410,1
399,-32678,1608,1
400,-32728,804,1
401,-32728,804,1
402,-32757,0,1
403,-32757,0,1
404,0,32757,1
405,804,32728,1
406,804,32728,1
407,1608,32678,1
408,2410,32609,1
409,2410,32609,1
410,3212,32521,1
411,4011,32412,1
412,4011,32412,1
413,4808,32285,1
414,5602,32137,1
415,5602,32137,1
416,6393,31971,1
417,6393,31971,1
418,7179,31785,1
419,7962,31580,1
420,7962,31580,1
421,8739,31356,1
422,9512,31113,1
423,9512,31113,1
424,10278,30852,1
425,11039,30571,1
426,11039,30571,1
427,11793,30273,1
428,11793,30273,1
429,12539,29956,1
430,13279,29621,1
431,13279,29621,1
432,14010,29268,1
433,14732,28898,1
434,14732,28898,1
435,15446,28510,1
436,16151,28105,1
437,16151,28105,1
438,16846,27683,1
439,17530,27245,1
440,17530,27245,1
441,18204,26790,1
442,18204,26790,1
443,18868,26319,1
444,19519,25832,1
445,19519,25832,1
446,20159,25329,1
447,20787,24811,1
448,20787,24811,1
449,21403,24279,1
450,22005,23731,1
451,22005,23731,1
452,22594,23170,1
453,22594,23170,1
454,23170,22594,1
455,23731,22005,1
456,23731,22005,1
457,24279,21403,1
458,24811,20787,1
459,24811,20787,1
460,25329,20159,1
461,25832,19519,1
462,25832,19519,1
463,26319,18868,1
464,26790,18204,1
465,26790,18204,1
466,27245,17530,1
467,27245,17530,1
468,27683,16846,1
469,28105,16151,1
470,28105,16151,1
471,28510,15446,1
472,28898,14732,1
473,28898,14732,1
474,29268,14010,1
475,29621,13279,1
476,29621,13279,1
477,29956,12539,1
478,29956,12539,1
479,30273,11793,1
480,30571,11039,1
481,30571,11039,1
482,30852,10278,1
483,31113,9512,1
484,31113,9512,1
485,31356,8739,1
486,31580,7962,1
487,31580,7962,1
488,31785,7179,1
489,31971,6393,1
490,31971,6393,1
491,32137,5602,1
492,32137,5602,1
493,32285,4808,1
494,32412,4011,1
495,32412,4011,1
496,32521,3212,1
497,32609,2410,1
498,32609,2410,1
499,32678,1608,1
1 sample sin_out cos_out dds_ready
2 0 0 32767 1 0
3 1 0 32757 32767 1 0
4 2 0 32757 32767 1 0
5 3 804 0 32728 32757 1 0
6 4 804 0 32728 32757 1
7 5 1608 804 32678 32728 1
8 6 2410 804 32609 32728 1
9 7 2410 1608 32609 32678 1
10 8 3212 2410 32521 32609 1
11 9 4011 2410 32412 32609 1
12 10 4011 3212 32412 32521 1
13 11 4808 4011 32285 32412 1
14 12 5602 4011 32137 32412 1
15 13 5602 4808 32137 32285 1
16 14 6393 5602 31971 32137 1
17 15 6393 5602 31971 32137 1
18 16 7179 6393 31785 31971 1
19 17 7962 6393 31580 31971 1
20 18 7962 7179 31580 31785 1
21 19 8739 7962 31356 31580 1
22 20 9512 7962 31113 31580 1
23 21 9512 8739 31113 31356 1
24 22 10278 9512 30852 31113 1
25 23 11039 9512 30571 31113 1
26 24 11039 10278 30571 30852 1
27 25 11793 11039 30273 30571 1
28 26 11793 11039 30273 30571 1
29 27 12539 11793 29956 30273 1
30 28 13279 11793 29621 30273 1
31 29 13279 12539 29621 29956 1
32 30 14010 13279 29268 29621 1
33 31 14732 13279 28898 29621 1
34 32 14732 14010 28898 29268 1
35 33 15446 14732 28510 28898 1
36 34 16151 14732 28105 28898 1
37 35 16151 15446 28105 28510 1
38 36 16846 16151 27683 28105 1
39 37 17530 16151 27245 28105 1
40 38 17530 16846 27245 27683 1
41 39 18204 17530 26790 27245 1
42 40 18204 17530 26790 27245 1
43 41 18868 18204 26319 26790 1
44 42 19519 18204 25832 26790 1
45 43 19519 18868 25832 26319 1
46 44 20159 19519 25329 25832 1
47 45 20787 19519 24811 25832 1
48 46 20787 20159 24811 25329 1
49 47 21403 20787 24279 24811 1
50 48 22005 20787 23731 24811 1
51 49 22005 21403 23731 24279 1
52 50 22594 22005 23170 23731 1
53 51 22594 22005 23170 23731 1
54 52 23170 22594 22594 23170 1
55 53 23731 22594 22005 23170 1
56 54 23731 23170 22005 22594 1
57 55 24279 23731 21403 22005 1
58 56 24811 23731 20787 22005 1
59 57 24811 24279 20787 21403 1
60 58 25329 24811 20159 20787 1
61 59 25832 24811 19519 20787 1
62 60 25832 25329 19519 20159 1
63 61 26319 25832 18868 19519 1
64 62 26790 25832 18204 19519 1
65 63 26790 26319 18204 18868 1
66 64 27245 26790 17530 18204 1
67 65 27245 26790 17530 18204 1
68 66 27683 27245 16846 17530 1
69 67 28105 27245 16151 17530 1
70 68 28105 27683 16151 16846 1
71 69 28510 28105 15446 16151 1
72 70 28898 28105 14732 16151 1
73 71 28898 28510 14732 15446 1
74 72 29268 28898 14010 14732 1
75 73 29621 28898 13279 14732 1
76 74 29621 29268 13279 14010 1
77 75 29956 29621 12539 13279 1
78 76 29956 29621 12539 13279 1
79 77 30273 29956 11793 12539 1
80 78 30571 29956 11039 12539 1
81 79 30571 30273 11039 11793 1
82 80 30852 30571 10278 11039 1
83 81 31113 30571 9512 11039 1
84 82 31113 30852 9512 10278 1
85 83 31356 31113 8739 9512 1
86 84 31580 31113 7962 9512 1
87 85 31580 31356 7962 8739 1
88 86 31785 31580 7179 7962 1
89 87 31971 31580 6393 7962 1
90 88 31971 31785 6393 7179 1
91 89 32137 31971 5602 6393 1
92 90 32137 31971 5602 6393 1
93 91 32285 32137 4808 5602 1
94 92 32412 32137 4011 5602 1
95 93 32412 32285 4011 4808 1
96 94 32521 32412 3212 4011 1
97 95 32609 32412 2410 4011 1
98 96 32609 32521 2410 3212 1
99 97 32678 32609 1608 2410 1
100 98 32728 32609 804 2410 1
101 99 32728 32678 804 1608 1
102 100 32757 32728 0 804 1
103 101 32757 32728 0 804 1
104 102 0 32757 -32757 0 1
105 103 804 32757 -32728 0 1
106 104 804 32757 -32728 0 1
107 105 1608 32728 -32678 -804 1
108 106 2410 32728 -32609 -804 1
109 107 2410 32678 -32609 -1608 1
110 108 3212 32609 -32521 -2410 1
111 109 4011 32609 -32412 -2410 1
112 110 4011 32521 -32412 -3212 1
113 111 4808 32412 -32285 -4011 1
114 112 5602 32412 -32137 -4011 1
115 113 5602 32285 -32137 -4808 1
116 114 6393 32137 -31971 -5602 1
117 115 6393 32137 -31971 -5602 1
118 116 7179 31971 -31785 -6393 1
119 117 7962 31971 -31580 -6393 1
120 118 7962 31785 -31580 -7179 1
121 119 8739 31580 -31356 -7962 1
122 120 9512 31580 -31113 -7962 1
123 121 9512 31356 -31113 -8739 1
124 122 10278 31113 -30852 -9512 1
125 123 11039 31113 -30571 -9512 1
126 124 11039 30852 -30571 -10278 1
127 125 11793 30571 -30273 -11039 1
128 126 11793 30571 -30273 -11039 1
129 127 12539 30273 -29956 -11793 1
130 128 13279 30273 -29621 -11793 1
131 129 13279 29956 -29621 -12539 1
132 130 14010 29621 -29268 -13279 1
133 131 14732 29621 -28898 -13279 1
134 132 14732 29268 -28898 -14010 1
135 133 15446 28898 -28510 -14732 1
136 134 16151 28898 -28105 -14732 1
137 135 16151 28510 -28105 -15446 1
138 136 16846 28105 -27683 -16151 1
139 137 17530 28105 -27245 -16151 1
140 138 17530 27683 -27245 -16846 1
141 139 18204 27245 -26790 -17530 1
142 140 18204 27245 -26790 -17530 1
143 141 18868 26790 -26319 -18204 1
144 142 19519 26790 -25832 -18204 1
145 143 19519 26319 -25832 -18868 1
146 144 20159 25832 -25329 -19519 1
147 145 20787 25832 -24811 -19519 1
148 146 20787 25329 -24811 -20159 1
149 147 21403 24811 -24279 -20787 1
150 148 22005 24811 -23731 -20787 1
151 149 22005 24279 -23731 -21403 1
152 150 22594 23731 -23170 -22005 1
153 151 22594 23731 -23170 -22005 1
154 152 23170 -22594 1
155 153 23731 23170 -22005 -22594 1
156 154 23731 22594 -22005 -23170 1
157 155 24279 22005 -21403 -23731 1
158 156 24811 22005 -20787 -23731 1
159 157 24811 21403 -20787 -24279 1
160 158 25329 20787 -20159 -24811 1
161 159 25832 20787 -19519 -24811 1
162 160 25832 20159 -19519 -25329 1
163 161 26319 19519 -18868 -25832 1
164 162 26790 19519 -18204 -25832 1
165 163 26790 18868 -18204 -26319 1
166 164 27245 18204 -17530 -26790 1
167 165 27245 18204 -17530 -26790 1
168 166 27683 17530 -16846 -27245 1
169 167 28105 17530 -16151 -27245 1
170 168 28105 16846 -16151 -27683 1
171 169 28510 16151 -15446 -28105 1
172 170 28898 16151 -14732 -28105 1
173 171 28898 15446 -14732 -28510 1
174 172 29268 14732 -14010 -28898 1
175 173 29621 14732 -13279 -28898 1
176 174 29621 14010 -13279 -29268 1
177 175 29956 13279 -12539 -29621 1
178 176 29956 13279 -12539 -29621 1
179 177 30273 12539 -11793 -29956 1
180 178 30571 12539 -11039 -29956 1
181 179 30571 11793 -11039 -30273 1
182 180 30852 11039 -10278 -30571 1
183 181 31113 11039 -9512 -30571 1
184 182 31113 10278 -9512 -30852 1
185 183 31356 9512 -8739 -31113 1
186 184 31580 9512 -7962 -31113 1
187 185 31580 8739 -7962 -31356 1
188 186 31785 7962 -7179 -31580 1
189 187 31971 7962 -6393 -31580 1
190 188 31971 7179 -6393 -31785 1
191 189 32137 6393 -5602 -31971 1
192 190 32137 6393 -5602 -31971 1
193 191 32285 5602 -4808 -32137 1
194 192 32412 5602 -4011 -32137 1
195 193 32412 4808 -4011 -32285 1
196 194 32521 4011 -3212 -32412 1
197 195 32609 4011 -2410 -32412 1
198 196 32609 3212 -2410 -32521 1
199 197 32678 2410 -1608 -32609 1
200 198 32728 2410 -804 -32609 1
201 199 32728 1608 -804 -32678 1
202 200 32757 804 0 -32728 1
203 201 32757 804 0 -32728 1
204 202 -32757 0 0 -32757 1
205 203 -32728 0 -804 -32757 1
206 204 -32728 -32757 -804 0 1
207 205 -32678 -32728 -1608 -804 1
208 206 -32609 -32728 -2410 -804 1
209 207 -32609 -32678 -2410 -1608 1
210 208 -32521 -32609 -3212 -2410 1
211 209 -32412 -32609 -4011 -2410 1
212 210 -32412 -32521 -4011 -3212 1
213 211 -32285 -32412 -4808 -4011 1
214 212 -32137 -32412 -5602 -4011 1
215 213 -32137 -32285 -5602 -4808 1
216 214 -31971 -32137 -6393 -5602 1
217 215 -31971 -32137 -6393 -5602 1
218 216 -31785 -31971 -7179 -6393 1
219 217 -31580 -31971 -7962 -6393 1
220 218 -31580 -31785 -7962 -7179 1
221 219 -31356 -31580 -8739 -7962 1
222 220 -31113 -31580 -9512 -7962 1
223 221 -31113 -31356 -9512 -8739 1
224 222 -30852 -31113 -10278 -9512 1
225 223 -30571 -31113 -11039 -9512 1
226 224 -30571 -30852 -11039 -10278 1
227 225 -30273 -30571 -11793 -11039 1
228 226 -30273 -30571 -11793 -11039 1
229 227 -29956 -30273 -12539 -11793 1
230 228 -29621 -30273 -13279 -11793 1
231 229 -29621 -29956 -13279 -12539 1
232 230 -29268 -29621 -14010 -13279 1
233 231 -28898 -29621 -14732 -13279 1
234 232 -28898 -29268 -14732 -14010 1
235 233 -28510 -28898 -15446 -14732 1
236 234 -28105 -28898 -16151 -14732 1
237 235 -28105 -28510 -16151 -15446 1
238 236 -27683 -28105 -16846 -16151 1
239 237 -27245 -28105 -17530 -16151 1
240 238 -27245 -27683 -17530 -16846 1
241 239 -26790 -27245 -18204 -17530 1
242 240 -26790 -27245 -18204 -17530 1
243 241 -26319 -26790 -18868 -18204 1
244 242 -25832 -26790 -19519 -18204 1
245 243 -25832 -26319 -19519 -18868 1
246 244 -25329 -25832 -20159 -19519 1
247 245 -24811 -25832 -20787 -19519 1
248 246 -24811 -25329 -20787 -20159 1
249 247 -24279 -24811 -21403 -20787 1
250 248 -23731 -24811 -22005 -20787 1
251 249 -23731 -24279 -22005 -21403 1
252 250 -23170 -23731 -22594 -22005 1
253 251 -23170 -23731 -22594 -22005 1
254 252 -22594 -23170 -23170 -22594 1
255 253 -22005 -23170 -23731 -22594 1
256 254 -22005 -22594 -23731 -23170 1
257 255 -21403 -22005 -24279 -23731 1
258 256 -20787 -22005 -24811 -23731 1
259 257 -20787 -21403 -24811 -24279 1
260 258 -20159 -20787 -25329 -24811 1
261 259 -19519 -20787 -25832 -24811 1
262 260 -19519 -20159 -25832 -25329 1
263 261 -18868 -19519 -26319 -25832 1
264 262 -18204 -19519 -26790 -25832 1
265 263 -18204 -18868 -26790 -26319 1
266 264 -17530 -18204 -27245 -26790 1
267 265 -17530 -18204 -27245 -26790 1
268 266 -16846 -17530 -27683 -27245 1
269 267 -16151 -17530 -28105 -27245 1
270 268 -16151 -16846 -28105 -27683 1
271 269 -15446 -16151 -28510 -28105 1
272 270 -14732 -16151 -28898 -28105 1
273 271 -14732 -15446 -28898 -28510 1
274 272 -14010 -14732 -29268 -28898 1
275 273 -13279 -14732 -29621 -28898 1
276 274 -13279 -14010 -29621 -29268 1
277 275 -12539 -13279 -29956 -29621 1
278 276 -12539 -13279 -29956 -29621 1
279 277 -11793 -12539 -30273 -29956 1
280 278 -11039 -12539 -30571 -29956 1
281 279 -11039 -11793 -30571 -30273 1
282 280 -10278 -11039 -30852 -30571 1
283 281 -9512 -11039 -31113 -30571 1
284 282 -9512 -10278 -31113 -30852 1
285 283 -8739 -9512 -31356 -31113 1
286 284 -7962 -9512 -31580 -31113 1
287 285 -7962 -8739 -31580 -31356 1
288 286 -7179 -7962 -31785 -31580 1
289 287 -6393 -7962 -31971 -31580 1
290 288 -6393 -7179 -31971 -31785 1
291 289 -5602 -6393 -32137 -31971 1
292 290 -5602 -6393 -32137 -31971 1
293 291 -4808 -5602 -32285 -32137 1
294 292 -4011 -5602 -32412 -32137 1
295 293 -4011 -4808 -32412 -32285 1
296 294 -3212 -4011 -32521 -32412 1
297 295 -2410 -4011 -32609 -32412 1
298 296 -2410 -3212 -32609 -32521 1
299 297 -1608 -2410 -32678 -32609 1
300 298 -804 -2410 -32728 -32609 1
301 299 -804 -1608 -32728 -32678 1
302 300 0 -804 -32757 -32728 1
303 301 0 -804 -32757 -32728 1
304 302 -32757 0 0 -32757 1
305 303 -32728 0 804 -32757 1
306 304 -32728 0 804 32757 1
307 305 -32678 -804 1608 32728 1
308 306 -32609 -804 2410 32728 1
309 307 -32609 -1608 2410 32678 1
310 308 -32521 -2410 3212 32609 1
311 309 -32412 -2410 4011 32609 1
312 310 -32412 -3212 4011 32521 1
313 311 -32285 -4011 4808 32412 1
314 312 -32137 -4011 5602 32412 1
315 313 -32137 -4808 5602 32285 1
316 314 -31971 -5602 6393 32137 1
317 315 -31971 -5602 6393 32137 1
318 316 -31785 -6393 7179 31971 1
319 317 -31580 -6393 7962 31971 1
320 318 -31580 -7179 7962 31785 1
321 319 -31356 -7962 8739 31580 1
322 320 -31113 -7962 9512 31580 1
323 321 -31113 -8739 9512 31356 1
324 322 -30852 -9512 10278 31113 1
325 323 -30571 -9512 11039 31113 1
326 324 -30571 -10278 11039 30852 1
327 325 -30273 -11039 11793 30571 1
328 326 -30273 -11039 11793 30571 1
329 327 -29956 -11793 12539 30273 1
330 328 -29621 -11793 13279 30273 1
331 329 -29621 -12539 13279 29956 1
332 330 -29268 -13279 14010 29621 1
333 331 -28898 -13279 14732 29621 1
334 332 -28898 -14010 14732 29268 1
335 333 -28510 -14732 15446 28898 1
336 334 -28105 -14732 16151 28898 1
337 335 -28105 -15446 16151 28510 1
338 336 -27683 -16151 16846 28105 1
339 337 -27245 -16151 17530 28105 1
340 338 -27245 -16846 17530 27683 1
341 339 -26790 -17530 18204 27245 1
342 340 -26790 -17530 18204 27245 1
343 341 -26319 -18204 18868 26790 1
344 342 -25832 -18204 19519 26790 1
345 343 -25832 -18868 19519 26319 1
346 344 -25329 -19519 20159 25832 1
347 345 -24811 -19519 20787 25832 1
348 346 -24811 -20159 20787 25329 1
349 347 -24279 -20787 21403 24811 1
350 348 -23731 -20787 22005 24811 1
351 349 -23731 -21403 22005 24279 1
352 350 -23170 -22005 22594 23731 1
353 351 -23170 -22005 22594 23731 1
354 352 -22594 23170 1
355 353 -22005 -22594 23731 23170 1
356 354 -22005 -23170 23731 22594 1
357 355 -21403 -23731 24279 22005 1
358 356 -20787 -23731 24811 22005 1
359 357 -20787 -24279 24811 21403 1
360 358 -20159 -24811 25329 20787 1
361 359 -19519 -24811 25832 20787 1
362 360 -19519 -25329 25832 20159 1
363 361 -18868 -25832 26319 19519 1
364 362 -18204 -25832 26790 19519 1
365 363 -18204 -26319 26790 18868 1
366 364 -17530 -26790 27245 18204 1
367 365 -17530 -26790 27245 18204 1
368 366 -16846 -27245 27683 17530 1
369 367 -16151 -27245 28105 17530 1
370 368 -16151 -27683 28105 16846 1
371 369 -15446 -28105 28510 16151 1
372 370 -14732 -28105 28898 16151 1
373 371 -14732 -28510 28898 15446 1
374 372 -14010 -28898 29268 14732 1
375 373 -13279 -28898 29621 14732 1
376 374 -13279 -29268 29621 14010 1
377 375 -12539 -29621 29956 13279 1
378 376 -12539 -29621 29956 13279 1
379 377 -11793 -29956 30273 12539 1
380 378 -11039 -29956 30571 12539 1
381 379 -11039 -30273 30571 11793 1
382 380 -10278 -30571 30852 11039 1
383 381 -9512 -30571 31113 11039 1
384 382 -9512 -30852 31113 10278 1
385 383 -8739 -31113 31356 9512 1
386 384 -7962 -31113 31580 9512 1
387 385 -7962 -31356 31580 8739 1
388 386 -7179 -31580 31785 7962 1
389 387 -6393 -31580 31971 7962 1
390 388 -6393 -31785 31971 7179 1
391 389 -5602 -31971 32137 6393 1
392 390 -5602 -31971 32137 6393 1
393 391 -4808 -32137 32285 5602 1
394 392 -4011 -32137 32412 5602 1
395 393 -4011 -32285 32412 4808 1
396 394 -3212 -32412 32521 4011 1
397 395 -2410 -32412 32609 4011 1
398 396 -2410 -32521 32609 3212 1
399 397 -1608 -32609 32678 2410 1
400 398 -804 -32609 32728 2410 1
401 399 -804 -32678 32728 1608 1
402 400 0 -32728 32757 804 1
403 401 0 -32728 32757 804 1
404 402 0 -32757 32757 0 1
405 403 804 -32757 32728 0 1
406 404 804 0 32728 32757 1
407 405 1608 804 32678 32728 1
408 406 2410 804 32609 32728 1
409 407 2410 1608 32609 32678 1
410 408 3212 2410 32521 32609 1
411 409 4011 2410 32412 32609 1
412 410 4011 3212 32412 32521 1
413 411 4808 4011 32285 32412 1
414 412 5602 4011 32137 32412 1
415 413 5602 4808 32137 32285 1
416 414 6393 5602 31971 32137 1
417 415 6393 5602 31971 32137 1
418 416 7179 6393 31785 31971 1
419 417 7962 6393 31580 31971 1
420 418 7962 7179 31580 31785 1
421 419 8739 7962 31356 31580 1
422 420 9512 7962 31113 31580 1
423 421 9512 8739 31113 31356 1
424 422 10278 9512 30852 31113 1
425 423 11039 9512 30571 31113 1
426 424 11039 10278 30571 30852 1
427 425 11793 11039 30273 30571 1
428 426 11793 11039 30273 30571 1
429 427 12539 11793 29956 30273 1
430 428 13279 11793 29621 30273 1
431 429 13279 12539 29621 29956 1
432 430 14010 13279 29268 29621 1
433 431 14732 13279 28898 29621 1
434 432 14732 14010 28898 29268 1
435 433 15446 14732 28510 28898 1
436 434 16151 14732 28105 28898 1
437 435 16151 15446 28105 28510 1
438 436 16846 16151 27683 28105 1
439 437 17530 16151 27245 28105 1
440 438 17530 16846 27245 27683 1
441 439 18204 17530 26790 27245 1
442 440 18204 17530 26790 27245 1
443 441 18868 18204 26319 26790 1
444 442 19519 18204 25832 26790 1
445 443 19519 18868 25832 26319 1
446 444 20159 19519 25329 25832 1
447 445 20787 19519 24811 25832 1
448 446 20787 20159 24811 25329 1
449 447 21403 20787 24279 24811 1
450 448 22005 20787 23731 24811 1
451 449 22005 21403 23731 24279 1
452 450 22594 22005 23170 23731 1
453 451 22594 22005 23170 23731 1
454 452 23170 22594 22594 23170 1
455 453 23731 22594 22005 23170 1
456 454 23731 23170 22005 22594 1
457 455 24279 23731 21403 22005 1
458 456 24811 23731 20787 22005 1
459 457 24811 24279 20787 21403 1
460 458 25329 24811 20159 20787 1
461 459 25832 24811 19519 20787 1
462 460 25832 25329 19519 20159 1
463 461 26319 25832 18868 19519 1
464 462 26790 25832 18204 19519 1
465 463 26790 26319 18204 18868 1
466 464 27245 26790 17530 18204 1
467 465 27245 26790 17530 18204 1
468 466 27683 27245 16846 17530 1
469 467 28105 27245 16151 17530 1
470 468 28105 27683 16151 16846 1
471 469 28510 28105 15446 16151 1
472 470 28898 28105 14732 16151 1
473 471 28898 28510 14732 15446 1
474 472 29268 28898 14010 14732 1
475 473 29621 28898 13279 14732 1
476 474 29621 29268 13279 14010 1
477 475 29956 29621 12539 13279 1
478 476 29956 29621 12539 13279 1
479 477 30273 29956 11793 12539 1
480 478 30571 29956 11039 12539 1
481 479 30571 30273 11039 11793 1
482 480 30852 30571 10278 11039 1
483 481 31113 30571 9512 11039 1
484 482 31113 30852 9512 10278 1
485 483 31356 31113 8739 9512 1
486 484 31580 31113 7962 9512 1
487 485 31580 31356 7962 8739 1
488 486 31785 31580 7179 7962 1
489 487 31971 31580 6393 7962 1
490 488 31971 31785 6393 7179 1
491 489 32137 31971 5602 6393 1
492 490 32137 31971 5602 6393 1
493 491 32285 32137 4808 5602 1
494 492 32412 32137 4011 5602 1
495 493 32412 32285 4011 4808 1
496 494 32521 32412 3212 4011 1
497 495 32609 32412 2410 4011 1
498 496 32609 32521 2410 3212 1
499 497 32678 32609 1608 2410 1
500 498 32728 32609 804 2410 1
501 499 32728 32678 804 1608 1
+190 -190
View File
@@ -1,201 +1,201 @@
sample,sin_out,cos_out
0,22594,23170
1,26319,18868
2,28898,14732
3,31113,9512
4,32285,4808
5,32757,0
6,4808,-32285
7,9512,-31113
8,14732,-28898
9,18868,-26319
10,22594,-23170
0,22005,23731
1,22594,23170
2,22594,23170
3,26319,18868
4,28898,14732
5,31113,9512
6,32285,4808
7,32757,0
8,32285,-4808
9,31113,-9512
10,28898,-14732
11,26319,-18868
12,28898,-14732
13,31113,-9512
14,32285,-4808
15,32757,0
16,-32285,-4808
17,-31113,-9512
18,-28898,-14732
19,-26319,-18868
20,-23170,-22594
21,-18868,-26319
22,-14732,-28898
23,-9512,-31113
24,-4808,-32285
25,0,-32757
26,-32285,4808
27,-31113,9512
28,-28898,14732
29,-26319,18868
30,-23170,22594
12,23170,-22594
13,18868,-26319
14,14732,-28898
15,9512,-31113
16,4808,-32285
17,0,-32757
18,-32285,-4808
19,-31113,-9512
20,-28898,-14732
21,-26319,-18868
22,-23170,-22594
23,-18868,-26319
24,-14732,-28898
25,-9512,-31113
26,-4808,-32285
27,0,-32757
28,-4808,32285
29,-9512,31113
30,-14732,28898
31,-18868,26319
32,-14732,28898
33,-9512,31113
34,-4808,32285
35,0,32757
36,4808,32285
37,9512,31113
38,14732,28898
39,18868,26319
40,22594,23170
41,26319,18868
42,28898,14732
43,31113,9512
44,32285,4808
45,32757,0
46,4808,-32285
47,9512,-31113
48,14732,-28898
49,18868,-26319
50,22594,-23170
32,-22594,23170
33,-26319,18868
34,-28898,14732
35,-31113,9512
36,-32285,4808
37,-32757,0
38,4808,32285
39,9512,31113
40,14732,28898
41,18868,26319
42,22594,23170
43,26319,18868
44,28898,14732
45,31113,9512
46,32285,4808
47,32757,0
48,32285,-4808
49,31113,-9512
50,28898,-14732
51,26319,-18868
52,28898,-14732
53,31113,-9512
54,32285,-4808
55,32757,0
56,-32285,-4808
57,-31113,-9512
58,-28898,-14732
59,-26319,-18868
60,-23170,-22594
61,-18868,-26319
62,-14732,-28898
63,-9512,-31113
64,-4808,-32285
65,0,-32757
66,-32285,4808
67,-31113,9512
68,-28898,14732
69,-26319,18868
70,-23170,22594
52,23170,-22594
53,18868,-26319
54,14732,-28898
55,9512,-31113
56,4808,-32285
57,0,-32757
58,-32285,-4808
59,-31113,-9512
60,-28898,-14732
61,-26319,-18868
62,-23170,-22594
63,-18868,-26319
64,-14732,-28898
65,-9512,-31113
66,-4808,-32285
67,0,-32757
68,-4808,32285
69,-9512,31113
70,-14732,28898
71,-18868,26319
72,-14732,28898
73,-9512,31113
74,-4808,32285
75,0,32757
76,4808,32285
77,9512,31113
78,14732,28898
79,18868,26319
80,22594,23170
81,26319,18868
82,28898,14732
83,31113,9512
84,32285,4808
85,32757,0
86,4808,-32285
87,9512,-31113
88,14732,-28898
89,18868,-26319
90,22594,-23170
72,-22594,23170
73,-26319,18868
74,-28898,14732
75,-31113,9512
76,-32285,4808
77,-32757,0
78,4808,32285
79,9512,31113
80,14732,28898
81,18868,26319
82,22594,23170
83,26319,18868
84,28898,14732
85,31113,9512
86,32285,4808
87,32757,0
88,32285,-4808
89,31113,-9512
90,28898,-14732
91,26319,-18868
92,28898,-14732
93,31113,-9512
94,32285,-4808
95,32757,0
96,-32285,-4808
97,-31113,-9512
98,-28898,-14732
99,-26319,-18868
100,-23170,-22594
101,-18868,-26319
102,-14732,-28898
103,-9512,-31113
104,-4808,-32285
105,0,-32757
106,-32285,4808
107,-31113,9512
108,-28898,14732
109,-26319,18868
110,-23170,22594
92,23170,-22594
93,18868,-26319
94,14732,-28898
95,9512,-31113
96,4808,-32285
97,0,-32757
98,-32285,-4808
99,-31113,-9512
100,-28898,-14732
101,-26319,-18868
102,-23170,-22594
103,-18868,-26319
104,-14732,-28898
105,-9512,-31113
106,-4808,-32285
107,0,-32757
108,-4808,32285
109,-9512,31113
110,-14732,28898
111,-18868,26319
112,-14732,28898
113,-9512,31113
114,-4808,32285
115,0,32757
116,4808,32285
117,9512,31113
118,14732,28898
119,18868,26319
120,22594,23170
121,26319,18868
122,28898,14732
123,31113,9512
124,32285,4808
125,32757,0
126,4808,-32285
127,9512,-31113
128,14732,-28898
129,18868,-26319
130,22594,-23170
112,-22594,23170
113,-26319,18868
114,-28898,14732
115,-31113,9512
116,-32285,4808
117,-32757,0
118,4808,32285
119,9512,31113
120,14732,28898
121,18868,26319
122,22594,23170
123,26319,18868
124,28898,14732
125,31113,9512
126,32285,4808
127,32757,0
128,32285,-4808
129,31113,-9512
130,28898,-14732
131,26319,-18868
132,28898,-14732
133,31113,-9512
134,32285,-4808
135,32757,0
136,-32285,-4808
137,-31113,-9512
138,-28898,-14732
139,-26319,-18868
140,-23170,-22594
141,-18868,-26319
142,-14732,-28898
143,-9512,-31113
144,-4808,-32285
145,0,-32757
146,-32285,4808
147,-31113,9512
148,-28898,14732
149,-26319,18868
150,-23170,22594
132,23170,-22594
133,18868,-26319
134,14732,-28898
135,9512,-31113
136,4808,-32285
137,0,-32757
138,-32285,-4808
139,-31113,-9512
140,-28898,-14732
141,-26319,-18868
142,-23170,-22594
143,-18868,-26319
144,-14732,-28898
145,-9512,-31113
146,-4808,-32285
147,0,-32757
148,-4808,32285
149,-9512,31113
150,-14732,28898
151,-18868,26319
152,-14732,28898
153,-9512,31113
154,-4808,32285
155,0,32757
156,4808,32285
157,9512,31113
158,14732,28898
159,18868,26319
160,22594,23170
161,26319,18868
162,28898,14732
163,31113,9512
164,32285,4808
165,32757,0
166,4808,-32285
167,9512,-31113
168,14732,-28898
169,18868,-26319
170,22594,-23170
152,-22594,23170
153,-26319,18868
154,-28898,14732
155,-31113,9512
156,-32285,4808
157,-32757,0
158,4808,32285
159,9512,31113
160,14732,28898
161,18868,26319
162,22594,23170
163,26319,18868
164,28898,14732
165,31113,9512
166,32285,4808
167,32757,0
168,32285,-4808
169,31113,-9512
170,28898,-14732
171,26319,-18868
172,28898,-14732
173,31113,-9512
174,32285,-4808
175,32757,0
176,-32285,-4808
177,-31113,-9512
178,-28898,-14732
179,-26319,-18868
180,-23170,-22594
181,-18868,-26319
182,-14732,-28898
183,-9512,-31113
184,-4808,-32285
185,0,-32757
186,-32285,4808
187,-31113,9512
188,-28898,14732
189,-26319,18868
190,-23170,22594
172,23170,-22594
173,18868,-26319
174,14732,-28898
175,9512,-31113
176,4808,-32285
177,0,-32757
178,-32285,-4808
179,-31113,-9512
180,-28898,-14732
181,-26319,-18868
182,-23170,-22594
183,-18868,-26319
184,-14732,-28898
185,-9512,-31113
186,-4808,-32285
187,0,-32757
188,-4808,32285
189,-9512,31113
190,-14732,28898
191,-18868,26319
192,-14732,28898
193,-9512,31113
194,-4808,32285
195,0,32757
196,4808,32285
197,9512,31113
198,14732,28898
199,18868,26319
192,-22594,23170
193,-26319,18868
194,-28898,14732
195,-31113,9512
196,-32285,4808
197,-32757,0
198,4808,32285
199,9512,31113
1 sample sin_out cos_out
2 0 22594 22005 23170 23731
3 1 26319 22594 18868 23170
4 2 28898 22594 14732 23170
5 3 31113 26319 9512 18868
6 4 32285 28898 4808 14732
7 5 32757 31113 0 9512
8 6 4808 32285 -32285 4808
9 7 9512 32757 -31113 0
10 8 14732 32285 -28898 -4808
11 9 18868 31113 -26319 -9512
12 10 22594 28898 -23170 -14732
13 11 26319 -18868
14 12 28898 23170 -14732 -22594
15 13 31113 18868 -9512 -26319
16 14 32285 14732 -4808 -28898
17 15 32757 9512 0 -31113
18 16 -32285 4808 -4808 -32285
19 17 -31113 0 -9512 -32757
20 18 -28898 -32285 -14732 -4808
21 19 -26319 -31113 -18868 -9512
22 20 -23170 -28898 -22594 -14732
23 21 -18868 -26319 -26319 -18868
24 22 -14732 -23170 -28898 -22594
25 23 -9512 -18868 -31113 -26319
26 24 -4808 -14732 -32285 -28898
27 25 0 -9512 -32757 -31113
28 26 -32285 -4808 4808 -32285
29 27 -31113 0 9512 -32757
30 28 -28898 -4808 14732 32285
31 29 -26319 -9512 18868 31113
32 30 -23170 -14732 22594 28898
33 31 -18868 26319
34 32 -14732 -22594 28898 23170
35 33 -9512 -26319 31113 18868
36 34 -4808 -28898 32285 14732
37 35 0 -31113 32757 9512
38 36 4808 -32285 32285 4808
39 37 9512 -32757 31113 0
40 38 14732 4808 28898 32285
41 39 18868 9512 26319 31113
42 40 22594 14732 23170 28898
43 41 26319 18868 18868 26319
44 42 28898 22594 14732 23170
45 43 31113 26319 9512 18868
46 44 32285 28898 4808 14732
47 45 32757 31113 0 9512
48 46 4808 32285 -32285 4808
49 47 9512 32757 -31113 0
50 48 14732 32285 -28898 -4808
51 49 18868 31113 -26319 -9512
52 50 22594 28898 -23170 -14732
53 51 26319 -18868
54 52 28898 23170 -14732 -22594
55 53 31113 18868 -9512 -26319
56 54 32285 14732 -4808 -28898
57 55 32757 9512 0 -31113
58 56 -32285 4808 -4808 -32285
59 57 -31113 0 -9512 -32757
60 58 -28898 -32285 -14732 -4808
61 59 -26319 -31113 -18868 -9512
62 60 -23170 -28898 -22594 -14732
63 61 -18868 -26319 -26319 -18868
64 62 -14732 -23170 -28898 -22594
65 63 -9512 -18868 -31113 -26319
66 64 -4808 -14732 -32285 -28898
67 65 0 -9512 -32757 -31113
68 66 -32285 -4808 4808 -32285
69 67 -31113 0 9512 -32757
70 68 -28898 -4808 14732 32285
71 69 -26319 -9512 18868 31113
72 70 -23170 -14732 22594 28898
73 71 -18868 26319
74 72 -14732 -22594 28898 23170
75 73 -9512 -26319 31113 18868
76 74 -4808 -28898 32285 14732
77 75 0 -31113 32757 9512
78 76 4808 -32285 32285 4808
79 77 9512 -32757 31113 0
80 78 14732 4808 28898 32285
81 79 18868 9512 26319 31113
82 80 22594 14732 23170 28898
83 81 26319 18868 18868 26319
84 82 28898 22594 14732 23170
85 83 31113 26319 9512 18868
86 84 32285 28898 4808 14732
87 85 32757 31113 0 9512
88 86 4808 32285 -32285 4808
89 87 9512 32757 -31113 0
90 88 14732 32285 -28898 -4808
91 89 18868 31113 -26319 -9512
92 90 22594 28898 -23170 -14732
93 91 26319 -18868
94 92 28898 23170 -14732 -22594
95 93 31113 18868 -9512 -26319
96 94 32285 14732 -4808 -28898
97 95 32757 9512 0 -31113
98 96 -32285 4808 -4808 -32285
99 97 -31113 0 -9512 -32757
100 98 -28898 -32285 -14732 -4808
101 99 -26319 -31113 -18868 -9512
102 100 -23170 -28898 -22594 -14732
103 101 -18868 -26319 -26319 -18868
104 102 -14732 -23170 -28898 -22594
105 103 -9512 -18868 -31113 -26319
106 104 -4808 -14732 -32285 -28898
107 105 0 -9512 -32757 -31113
108 106 -32285 -4808 4808 -32285
109 107 -31113 0 9512 -32757
110 108 -28898 -4808 14732 32285
111 109 -26319 -9512 18868 31113
112 110 -23170 -14732 22594 28898
113 111 -18868 26319
114 112 -14732 -22594 28898 23170
115 113 -9512 -26319 31113 18868
116 114 -4808 -28898 32285 14732
117 115 0 -31113 32757 9512
118 116 4808 -32285 32285 4808
119 117 9512 -32757 31113 0
120 118 14732 4808 28898 32285
121 119 18868 9512 26319 31113
122 120 22594 14732 23170 28898
123 121 26319 18868 18868 26319
124 122 28898 22594 14732 23170
125 123 31113 26319 9512 18868
126 124 32285 28898 4808 14732
127 125 32757 31113 0 9512
128 126 4808 32285 -32285 4808
129 127 9512 32757 -31113 0
130 128 14732 32285 -28898 -4808
131 129 18868 31113 -26319 -9512
132 130 22594 28898 -23170 -14732
133 131 26319 -18868
134 132 28898 23170 -14732 -22594
135 133 31113 18868 -9512 -26319
136 134 32285 14732 -4808 -28898
137 135 32757 9512 0 -31113
138 136 -32285 4808 -4808 -32285
139 137 -31113 0 -9512 -32757
140 138 -28898 -32285 -14732 -4808
141 139 -26319 -31113 -18868 -9512
142 140 -23170 -28898 -22594 -14732
143 141 -18868 -26319 -26319 -18868
144 142 -14732 -23170 -28898 -22594
145 143 -9512 -18868 -31113 -26319
146 144 -4808 -14732 -32285 -28898
147 145 0 -9512 -32757 -31113
148 146 -32285 -4808 4808 -32285
149 147 -31113 0 9512 -32757
150 148 -28898 -4808 14732 32285
151 149 -26319 -9512 18868 31113
152 150 -23170 -14732 22594 28898
153 151 -18868 26319
154 152 -14732 -22594 28898 23170
155 153 -9512 -26319 31113 18868
156 154 -4808 -28898 32285 14732
157 155 0 -31113 32757 9512
158 156 4808 -32285 32285 4808
159 157 9512 -32757 31113 0
160 158 14732 4808 28898 32285
161 159 18868 9512 26319 31113
162 160 22594 14732 23170 28898
163 161 26319 18868 18868 26319
164 162 28898 22594 14732 23170
165 163 31113 26319 9512 18868
166 164 32285 28898 4808 14732
167 165 32757 31113 0 9512
168 166 4808 32285 -32285 4808
169 167 9512 32757 -31113 0
170 168 14732 32285 -28898 -4808
171 169 18868 31113 -26319 -9512
172 170 22594 28898 -23170 -14732
173 171 26319 -18868
174 172 28898 23170 -14732 -22594
175 173 31113 18868 -9512 -26319
176 174 32285 14732 -4808 -28898
177 175 32757 9512 0 -31113
178 176 -32285 4808 -4808 -32285
179 177 -31113 0 -9512 -32757
180 178 -28898 -32285 -14732 -4808
181 179 -26319 -31113 -18868 -9512
182 180 -23170 -28898 -22594 -14732
183 181 -18868 -26319 -26319 -18868
184 182 -14732 -23170 -28898 -22594
185 183 -9512 -18868 -31113 -26319
186 184 -4808 -14732 -32285 -28898
187 185 0 -9512 -32757 -31113
188 186 -32285 -4808 4808 -32285
189 187 -31113 0 9512 -32757
190 188 -28898 -4808 14732 32285
191 189 -26319 -9512 18868 31113
192 190 -23170 -14732 22594 28898
193 191 -18868 26319
194 192 -14732 -22594 28898 23170
195 193 -9512 -26319 31113 18868
196 194 -4808 -28898 32285 14732
197 195 0 -31113 32757 9512
198 196 4808 -32285 32285 4808
199 197 9512 -32757 31113 0
200 198 14732 4808 28898 32285
201 199 18868 9512 26319 31113
+20 -20
View File
@@ -7,16 +7,16 @@ sample,sin,cos,mag_sq
5,31113,9512,1058496913
6,32285,4808,1065438089
7,32757,0,1073021049
8,4808,-32285,1065438089
9,9512,-31113,1058496913
10,14732,-28898,1052126228
11,18868,-26319,1048691185
12,22594,-23170,1047337736
13,26319,-18868,1048691185
14,28898,-14732,1052126228
15,31113,-9512,1058496913
16,32285,-4808,1065438089
17,32757,0,1073021049
8,32285,-4808,1065438089
9,31113,-9512,1058496913
10,28898,-14732,1052126228
11,26319,-18868,1048691185
12,23170,-22594,1047337736
13,18868,-26319,1048691185
14,14732,-28898,1052126228
15,9512,-31113,1058496913
16,4808,-32285,1065438089
17,0,-32757,1073021049
18,-32285,-4808,1065438089
19,-31113,-9512,1058496913
20,-28898,-14732,1052126228
@@ -27,15 +27,15 @@ sample,sin,cos,mag_sq
25,-9512,-31113,1058496913
26,-4808,-32285,1065438089
27,0,-32757,1073021049
28,-32285,4808,1065438089
29,-31113,9512,1058496913
30,-28898,14732,1052126228
31,-26319,18868,1048691185
32,-23170,22594,1047337736
33,-18868,26319,1048691185
34,-14732,28898,1052126228
35,-9512,31113,1058496913
36,-4808,32285,1065438089
37,0,32757,1073021049
28,-4808,32285,1065438089
29,-9512,31113,1058496913
30,-14732,28898,1052126228
31,-18868,26319,1048691185
32,-22594,23170,1047337736
33,-26319,18868,1048691185
34,-28898,14732,1052126228
35,-31113,9512,1058496913
36,-32285,4808,1065438089
37,-32757,0,1073021049
38,4808,32285,1065438089
39,9512,31113,1058496913
1 sample sin cos mag_sq
7 5 31113 9512 1058496913
8 6 32285 4808 1065438089
9 7 32757 0 1073021049
10 8 4808 32285 -32285 -4808 1065438089
11 9 9512 31113 -31113 -9512 1058496913
12 10 14732 28898 -28898 -14732 1052126228
13 11 18868 26319 -26319 -18868 1048691185
14 12 22594 23170 -23170 -22594 1047337736
15 13 26319 18868 -18868 -26319 1048691185
16 14 28898 14732 -14732 -28898 1052126228
17 15 31113 9512 -9512 -31113 1058496913
18 16 32285 4808 -4808 -32285 1065438089
19 17 32757 0 0 -32757 1073021049
20 18 -32285 -4808 1065438089
21 19 -31113 -9512 1058496913
22 20 -28898 -14732 1052126228
27 25 -9512 -31113 1058496913
28 26 -4808 -32285 1065438089
29 27 0 -32757 1073021049
30 28 -32285 -4808 4808 32285 1065438089
31 29 -31113 -9512 9512 31113 1058496913
32 30 -28898 -14732 14732 28898 1052126228
33 31 -26319 -18868 18868 26319 1048691185
34 32 -23170 -22594 22594 23170 1047337736
35 33 -18868 -26319 26319 18868 1048691185
36 34 -14732 -28898 28898 14732 1052126228
37 35 -9512 -31113 31113 9512 1058496913
38 36 -4808 -32285 32285 4808 1065438089
39 37 0 -32757 32757 0 1073021049
40 38 4808 32285 1065438089
41 39 9512 31113 1058496913
+6 -6
View File
@@ -259,16 +259,16 @@ module tb_nco_400m;
#1;
sin_before_gate = sin_out;
// Deassert phase_valid
// Deassert phase_valid with 4-stage pipeline, dds_ready has 5-cycle latency
phase_valid = 0;
@(posedge clk_400m); #1;
repeat (6) @(posedge clk_400m); #1;
check(dds_ready === 1'b0, "dds_ready deasserts when phase_valid=0");
repeat (10) @(posedge clk_400m);
// Re-enable
// Re-enable wait for pipeline to refill (5 cycles)
phase_valid = 1;
@(posedge clk_400m); #1;
repeat (6) @(posedge clk_400m); #1;
check(dds_ready === 1'b1, "dds_ready re-asserts when phase_valid=1");
//
@@ -285,8 +285,8 @@ module tb_nco_400m;
frequency_tuning_word = FTW_10MHZ;
phase_valid = 1;
// Skip pipeline warmup
repeat (3) @(posedge clk_400m);
// Skip pipeline warmup (4-stage pipeline + 1 for dds_ready)
repeat (5) @(posedge clk_400m);
mag_sq_min = 32'hFFFFFFFF;
mag_sq_max = 32'h00000000;
+3 -3
View File
@@ -63,9 +63,9 @@ reg ft601_data_oe; // Output enable for bidirectional data bus
// Even though both are 100 MHz, they are asynchronous clocks and need synchronization.
// 2-stage synchronizers for valid signals
reg [1:0] range_valid_sync;
reg [1:0] doppler_valid_sync;
reg [1:0] cfar_valid_sync;
(* ASYNC_REG = "TRUE" *) reg [1:0] range_valid_sync;
(* ASYNC_REG = "TRUE" *) reg [1:0] doppler_valid_sync;
(* ASYNC_REG = "TRUE" *) reg [1:0] cfar_valid_sync;
// Synchronized data captures (registered in ft601_clk_in domain)
reg [31:0] range_profile_cap;