OpenCores
URL https://opencores.org/ocsvn/spacewiresystemc/spacewiresystemc/trunk

Subversion Repositories spacewiresystemc

[/] [spacewiresystemc/] [trunk/] [rtl/] [RTL_VB/] [tx_spw.v] - Diff between revs 12 and 13

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 12 Rev 13
Line 52... Line 52...
                //
                //
                output reg tx_dout,
                output reg tx_dout,
                output reg tx_sout,
                output reg tx_sout,
                //
                //
                output  reg ready_tx_data,
                output  reg ready_tx_data,
                output  ready_tx_timecode
                output  reg ready_tx_timecode
 
 
                );
                );
 
 
localparam [2:0] tx_spw_start     = 3'b000,
localparam [2:0] tx_spw_start     = 3'b000,
                 tx_spw_null      = 3'b001,
                 tx_spw_null      = 3'b001,
Line 106... Line 106...
        reg last_tx_dout;
        reg last_tx_dout;
        reg last_tx_sout;
        reg last_tx_sout;
 
 
        reg [3:0] global_counter_transfer;
        reg [3:0] global_counter_transfer;
 
 
assign ready_tx_timecode = (enable_time_code & global_counter_transfer == 14)?1'b1:1'b0;
 
 
 
/*
/*
 
assign ready_tx_timecode = (enable_time_code & global_counter_transfer == 13)?1'b1:1'b0;
 
 
 
 
assign ready_tx_data     = (enable_n_char & global_counter_transfer == 4'd9  & !data_tx_i[8])?1'b1:
assign ready_tx_data     = (enable_n_char & global_counter_transfer == 4'd9  & !data_tx_i[8])?1'b1:
                           (enable_n_char & global_counter_transfer == 4'd3  &  data_tx_i[8])?1'b1:1'b0;
                           (enable_n_char & global_counter_transfer == 4'd3  &  data_tx_i[8])?1'b1:1'b0;
*/
*/
 
 
always@(*)
always@(*)
Line 259... Line 260...
         begin
         begin
                tx_dout = timecode_s[8];
                tx_dout = timecode_s[8];
         end
         end
         else if( enable_time_code & !first_time & global_counter_transfer == 4'd6)
         else if( enable_time_code & !first_time & global_counter_transfer == 4'd6)
         begin
         begin
                tx_dout = timecode_s[7];
                tx_dout = timecode_s[0];
         end
         end
         else if( enable_time_code & !first_time & global_counter_transfer == 4'd7)
         else if( enable_time_code & !first_time & global_counter_transfer == 4'd7)
         begin
         begin
                tx_dout = timecode_s[6];
                tx_dout = timecode_s[1];
         end
         end
         else if( enable_time_code & !first_time & global_counter_transfer == 4'd8)
         else if( enable_time_code & !first_time & global_counter_transfer == 4'd8)
         begin
         begin
                tx_dout = timecode_s[5];
                tx_dout = timecode_s[2];
         end
         end
         else if( enable_time_code & !first_time & global_counter_transfer == 4'd9)
         else if( enable_time_code & !first_time & global_counter_transfer == 4'd9)
         begin
         begin
                tx_dout = timecode_s[4];
                tx_dout = timecode_s[3];
         end
         end
         else if( enable_time_code & !first_time & global_counter_transfer == 4'd10)
         else if( enable_time_code & !first_time & global_counter_transfer == 4'd10)
         begin
         begin
                tx_dout = timecode_s[3];
                tx_dout = timecode_s[4];
         end
         end
         else if( enable_time_code & !first_time & global_counter_transfer == 4'd11)
         else if( enable_time_code & !first_time & global_counter_transfer == 4'd11)
         begin
         begin
                tx_dout = timecode_s[2];
                tx_dout = timecode_s[5];
         end
         end
         else if( enable_time_code & !first_time & global_counter_transfer == 4'd12)
         else if( enable_time_code & !first_time & global_counter_transfer == 4'd12)
         begin
         begin
                tx_dout = timecode_s[1];
                tx_dout = timecode_s[6];
         end
         end
         else if( enable_time_code & !first_time & global_counter_transfer == 4'd13)
         else if( enable_time_code & !first_time & global_counter_transfer == 4'd13)
         begin
         begin
                tx_dout = timecode_s[0];
                tx_dout = timecode_s[7];
         end
         end
         else if( enable_n_char   & !data_tx_i[8] & !first_time & last_type == NULL  & global_counter_transfer == 4'd0)
         else if( enable_n_char   & !data_tx_i[8] & !first_time & last_type == NULL  & global_counter_transfer == 4'd0)
         begin
         begin
                tx_dout = !(data_tx_i[8]^null_s[0]^null_s[1]);
                tx_dout = !(data_tx_i[8]^null_s[0]^null_s[1]);
         end
         end
Line 432... Line 433...
 
 
        if(!enable_tx)
        if(!enable_tx)
        begin
        begin
                tx_sout = 1'b0;
                tx_sout = 1'b0;
        end
        end
        else if((enable_null | enable_fct | enable_n_char) && tx_dout == last_tx_dout)
        else if((enable_null | enable_fct | enable_n_char | enable_time_code) && tx_dout == last_tx_dout)
        begin
        begin
                tx_sout = !last_tx_sout;
                tx_sout = !last_tx_sout;
        end
        end
        else if((enable_null | enable_fct | enable_n_char) && tx_dout != last_tx_dout)
        else if((enable_null | enable_fct | enable_n_char | enable_time_code) && tx_dout != last_tx_dout)
        begin
        begin
                tx_sout = last_tx_sout;
                tx_sout = last_tx_sout;
        end
        end
 
 
end
end
Line 590... Line 591...
        begin
        begin
                null_s <= 8'h74;
                null_s <= 8'h74;
                fct_s  <= 4'h4;
                fct_s  <= 4'h4;
                eop_s  <= 4'h5;
                eop_s  <= 4'h5;
                eep_s  <= 4'h6;
                eep_s  <= 4'h6;
                timecode_s <= 14'h1e00;
                timecode_s    <= 14'b01110000000000;
 
 
                fct_flag <= 3'd0;
                fct_flag <= 3'd0;
                fct_send_last <= 3'd0;
                fct_send_last <= 3'd0;
 
 
                first_time <= 1'b1;
                first_time <= 1'b1;
                ready_tx_data <= 1'b0;
                ready_tx_data <= 1'b0;
 
                ready_tx_timecode <= 1'b0;
 
 
                hold_null       <= 1'b0;
                hold_null       <= 1'b0;
                hold_fct        <= 1'b0;
                hold_fct        <= 1'b0;
                hold_data       <= 1'b0;
                hold_data       <= 1'b0;
                hold_time_code  <= 1'b0;
                hold_time_code  <= 1'b0;
Line 627... Line 629...
 
 
                if(enable_null)
                if(enable_null)
                begin
                begin
 
 
                        ready_tx_data <= 1'b0;
                        ready_tx_data <= 1'b0;
 
                        ready_tx_timecode <= 1'b0;
 
 
                        //
                        //
                        if(fct_send_last != fct_send)
                        if(fct_send_last != fct_send)
                        begin
                        begin
                                if(fct_send == 3'd1 && fct_send_last == 3'd7)
                                if(fct_send == 3'd1 && fct_send_last == 3'd7)
Line 679... Line 682...
                end
                end
                else if(enable_fct)
                else if(enable_fct)
                begin
                begin
 
 
                        ready_tx_data <= 1'b0;
                        ready_tx_data <= 1'b0;
 
                        ready_tx_timecode <= 1'b0;
 
 
                        //
                        //
                        if(fct_counter_last != fct_counter)
                        if(fct_counter_last != fct_counter)
                        begin
                        begin
                                if(fct_counter == 6'd8 && fct_counter_last == 6'd56)
                                if(fct_counter == 6'd8 && fct_counter_last == 6'd56)
Line 712... Line 716...
                else if(enable_time_code)
                else if(enable_time_code)
                begin
                begin
 
 
                        ready_tx_data <= 1'b0;
                        ready_tx_data <= 1'b0;
 
 
 
                        if(global_counter_transfer == 4'd13)
 
                        begin
 
                                ready_tx_timecode <= 1'b1;
 
                        end
 
 
                        //
                        //
                        if(fct_counter_last != fct_counter)
                        if(fct_counter_last != fct_counter)
                        begin
                        begin
                                if(fct_counter == 6'd8 && fct_counter_last == 6'd56)
                                if(fct_counter == 6'd8 && fct_counter_last == 6'd56)
                                begin
                                begin
Line 745... Line 754...
                        end
                        end
 
 
                        if(global_counter_transfer < 4'd13)
                        if(global_counter_transfer < 4'd13)
                        begin
                        begin
                                global_counter_transfer <= global_counter_transfer + 4'd1;
                                global_counter_transfer <= global_counter_transfer + 4'd1;
                                last_timein_control_flag_tx <= timecode_tx_i;
                                timecode_s <= {timecode_s[13:10],2'd2,timecode_tx_i[7:0]};
                        end
                        end
                        else
                        else
                        begin
                        begin
 
                                last_timein_control_flag_tx <= timecode_tx_i;
                                global_counter_transfer <= 4'd0;
                                global_counter_transfer <= 4'd0;
                        end
                        end
                end
                end
                else if(enable_n_char)
                else if(enable_n_char)
                begin
                begin
 
 
 
                        ready_tx_timecode <= 1'b0;
 
 
                        //
                        //
                        if(fct_send_last != fct_send)
                        if(fct_send_last != fct_send)
                        begin
                        begin
                                if(fct_send == 3'd1 && fct_send_last == 3'd7)
                                if(fct_send == 3'd1 && fct_send_last == 3'd7)
                                begin
                                begin

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.