Skip to content
LTC2271_SampleGetter_v1_0.v 3.58 KiB
Newer Older
nats's avatar
nats committed

`timescale 1 ns / 1 ps

	module LTC2271_SampleGetter_v1_0 #
	(
		// Users to add parameters here

		// User parameters ends
		// Do not modify the parameters beyond this line


		// Parameters of Axi Master Bus Interface M00_AXIS
		parameter integer C_M00_AXIS_TDATA_WIDTH	= 32,
		parameter integer C_M00_AXIS_START_COUNT	= 32
	)
	(
		// Users to add ports here
        input wire AD_FR_P,
        input wire AD_FR_N,
        
        input wire AD_DCO_P,
        input wire AD_DCO_N,
        
        input wire AD_IN_1A_P,
        input wire AD_IN_1A_N,
        
        input wire AD_IN_1B_P,
        input wire AD_IN_1B_N,
        
        input wire AD_IN_1C_P,
        input wire AD_IN_1C_N,
        
        input wire AD_IN_1D_P,
        input wire AD_IN_1D_N,
        
        input wire AD_IN_2A_P,
        input wire AD_IN_2A_N,
        
        input wire AD_IN_2B_P,
        input wire AD_IN_2B_N,
        
        input wire AD_IN_2C_P,
        input wire AD_IN_2C_N,
        
        input wire AD_IN_2D_P,
        input wire AD_IN_2D_N,
		// User ports ends
		// Do not modify the ports beyond this line


		// Ports of Axi Master Bus Interface M00_AXIS
		input wire  m00_axis_aclk,
		input wire  m00_axis_aresetn,
		output reg  m00_axis_tvalid,
		output reg [C_M00_AXIS_TDATA_WIDTH-1 : 0] m00_axis_tdata,
		output reg [(C_M00_AXIS_TDATA_WIDTH/8)-1 : 0] m00_axis_tstrb,
		output reg  m00_axis_tlast,
		input wire  m00_axis_tready
	);
/*	LTC2271_SampleGetter_v1_0_M00_AXIS # ( 
		.C_M_AXIS_TDATA_WIDTH(C_M00_AXIS_TDATA_WIDTH),
		.C_M_START_COUNT(C_M00_AXIS_START_COUNT)
	) LTC2271_SampleGetter_v1_0_M00_AXIS_inst (
		.M_AXIS_ACLK(m00_axis_aclk),
		.M_AXIS_ARESETN(m00_axis_aresetn),
		.M_AXIS_TVALID(m00_axis_tvalid),
		.M_AXIS_TDATA(m00_axis_tdata),
		.M_AXIS_TSTRB(m00_axis_tstrb),
		.M_AXIS_TLAST(m00_axis_tlast),
		.M_AXIS_TREADY(m00_axis_tready)
	);*/

	// Add user logic here
	/* IO convert */
	wire adc_dco, adc_fr, adc1a, adc1b, adc1c, adc1d, adc2a, adc2b, adc2c, adc2d;
	
    IBUFDS #(.DIFF_TERM("TRUE"),.IBUF_LOW_PWR("FALSE"),.IOSTANDARD("DEFAULT")) ADC_DCO_BUF (.O(adc_dco),.IB(AD_DCO_P),.I(AD_DCO_N));
    IBUFDS #(.DIFF_TERM("TRUE"),.IBUF_LOW_PWR("FALSE"),.IOSTANDARD("DEFAULT")) ADC_FR_BUF (.O(adc_fr),.IB(AD_FR_P),.I(AD_FR_N));
    IBUFDS #(.DIFF_TERM("TRUE"),.IBUF_LOW_PWR("FALSE"),.IOSTANDARD("DEFAULT")) ADC_1A_BUF (.O(adc1a),.IB(AD_IN_1A_P),.I(AD_IN_1A_N));
    IBUFDS #(.DIFF_TERM("TRUE"),.IBUF_LOW_PWR("FALSE"),.IOSTANDARD("DEFAULT")) ADC_1B_BUF (.O(adc1b),.IB(AD_IN_1B_P),.I(AD_IN_1B_N));
    IBUFDS #(.DIFF_TERM("TRUE"),.IBUF_LOW_PWR("FALSE"),.IOSTANDARD("DEFAULT")) ADC_1C_BUF (.O(adc1c),.IB(AD_IN_1C_P),.I(AD_IN_1C_N));
    IBUFDS #(.DIFF_TERM("TRUE"),.IBUF_LOW_PWR("FALSE"),.IOSTANDARD("DEFAULT")) ADC_1D_BUF (.O(adc1d),.IB(AD_IN_1D_P),.I(AD_IN_1D_N));
    IBUFDS #(.DIFF_TERM("TRUE"),.IBUF_LOW_PWR("FALSE"),.IOSTANDARD("DEFAULT")) ADC_2A_BUF (.O(adc2a),.IB(AD_IN_2A_P),.I(AD_IN_2A_N));
    IBUFDS #(.DIFF_TERM("TRUE"),.IBUF_LOW_PWR("FALSE"),.IOSTANDARD("DEFAULT")) ADC_2B_BUF (.O(adc2b),.IB(AD_IN_2B_P),.I(AD_IN_2B_N));
    IBUFDS #(.DIFF_TERM("TRUE"),.IBUF_LOW_PWR("FALSE"),.IOSTANDARD("DEFAULT")) ADC_2C_BUF (.O(adc2c),.IB(AD_IN_2C_P),.I(AD_IN_2C_N));
    IBUFDS #(.DIFF_TERM("TRUE"),.IBUF_LOW_PWR("FALSE"),.IOSTANDARD("DEFAULT")) ADC_2D_BUF (.O(adc2d),.IB(AD_IN_2D_P),.I(AD_IN_2D_N));
	   
    /* Instantiate FIFO */
    
    
    /* Test logic */
    reg [31:0]cnt = 0;
    
    always @(posedge m00_axis_aclk)
    begin
        cnt <= cnt + 32'd1;
        m00_axis_tdata <= cnt;
        m00_axis_tvalid <= 1;
        m00_axis_tstrb <= 4'b1111;
        m00_axis_tlast <= 0;
    end
    
	// User logic ends

	endmodule