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

Subversion Repositories spacewiresystemc

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /spacewiresystemc
    from Rev 12 to Rev 13
    Reverse comparison

Rev 12 → Rev 13

/trunk/rtl/RTL_VB/tx_spw.v
54,7 → 54,7
output reg tx_sout,
//
output reg ready_tx_data,
output ready_tx_timecode
output reg ready_tx_timecode
 
);
 
108,9 → 108,10
 
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:
(enable_n_char & global_counter_transfer == 4'd3 & data_tx_i[8])?1'b1:1'b0;
*/
261,35 → 262,35
end
else if( enable_time_code & !first_time & global_counter_transfer == 4'd6)
begin
tx_dout = timecode_s[7];
tx_dout = timecode_s[0];
end
else if( enable_time_code & !first_time & global_counter_transfer == 4'd7)
begin
tx_dout = timecode_s[6];
tx_dout = timecode_s[1];
end
else if( enable_time_code & !first_time & global_counter_transfer == 4'd8)
begin
tx_dout = timecode_s[5];
tx_dout = timecode_s[2];
end
else if( enable_time_code & !first_time & global_counter_transfer == 4'd9)
begin
tx_dout = timecode_s[4];
tx_dout = timecode_s[3];
end
else if( enable_time_code & !first_time & global_counter_transfer == 4'd10)
begin
tx_dout = timecode_s[3];
tx_dout = timecode_s[4];
end
else if( enable_time_code & !first_time & global_counter_transfer == 4'd11)
begin
tx_dout = timecode_s[2];
tx_dout = timecode_s[5];
end
else if( enable_time_code & !first_time & global_counter_transfer == 4'd12)
begin
tx_dout = timecode_s[1];
tx_dout = timecode_s[6];
end
else if( enable_time_code & !first_time & global_counter_transfer == 4'd13)
begin
tx_dout = timecode_s[0];
tx_dout = timecode_s[7];
end
else if( enable_n_char & !data_tx_i[8] & !first_time & last_type == NULL & global_counter_transfer == 4'd0)
begin
434,11 → 435,11
begin
tx_sout = 1'b0;
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
tx_sout = !last_tx_sout;
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
tx_sout = last_tx_sout;
end
588,17 → 589,18
begin
if(!enable_tx)
begin
null_s <= 8'h74;
fct_s <= 4'h4;
eop_s <= 4'h5;
eep_s <= 4'h6;
timecode_s <= 14'h1e00;
null_s <= 8'h74;
fct_s <= 4'h4;
eop_s <= 4'h5;
eep_s <= 4'h6;
timecode_s <= 14'b01110000000000;
fct_flag <= 3'd0;
fct_flag <= 3'd0;
fct_send_last <= 3'd0;
 
first_time <= 1'b1;
ready_tx_data <= 1'b0;
first_time <= 1'b1;
ready_tx_data <= 1'b0;
ready_tx_timecode <= 1'b0;
 
hold_null <= 1'b0;
hold_fct <= 1'b0;
629,6 → 631,7
begin
 
ready_tx_data <= 1'b0;
ready_tx_timecode <= 1'b0;
 
//
if(fct_send_last != fct_send)
681,6 → 684,7
begin
 
ready_tx_data <= 1'b0;
ready_tx_timecode <= 1'b0;
 
//
if(fct_counter_last != fct_counter)
714,6 → 718,11
ready_tx_data <= 1'b0;
 
if(global_counter_transfer == 4'd13)
begin
ready_tx_timecode <= 1'b1;
end
 
//
if(fct_counter_last != fct_counter)
begin
747,10 → 756,11
if(global_counter_transfer < 4'd13)
begin
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
else
begin
last_timein_control_flag_tx <= timecode_tx_i;
global_counter_transfer <= 4'd0;
end
end
757,6 → 767,8
else if(enable_n_char)
begin
ready_tx_timecode <= 1'b0;
 
//
if(fct_send_last != fct_send)
begin
/trunk/vpi/vpi_test_stress/env_global_spw.cpp
30,6 → 30,7
s_vpi_value sin_value;
s_vpi_value fsm_value;
s_vpi_value value_to_tx;
s_vpi_value value_to_tx_timec;
s_vpi_value value_to_rx;
 
s_vpi_value value_to_fsm;
47,6 → 48,8
#define WAIT_500_CYCLES 1
 
unsigned int state_test=0;
unsigned int state_test_tx_timec=0;
unsigned int timecode=0;
 
unsigned int state_test_rx=0;
 
/trunk/vpi/vpi_test_stress/global_init.h
24,6 → 24,7
position = 0;
counter_null = 0;
state_test_rx=0;
state_test_tx_timec=0;
 
lib_handle = dlopen("./final_spw.so", RTLD_LAZY);
 
/trunk/vpi/vpi_test_stress/write_tx_time_code_spw_ultra_light.h
1,7 → 1,72
static int write_tx_time_code_spw_ultra_light_calltf(char*user_data)
{
vpiHandle TX_DATA = vpi_handle_by_name("module_tb.TOP_TX_DATA",NULL);
vpiHandle TX_WRITE = vpi_handle_by_name("module_tb.TOP_TX_WRITE",NULL);
vpiHandle TX_TIMEC = vpi_handle_by_name("module_tb.TOP_TX_TIME",NULL);
vpiHandle TX_TICKE = vpi_handle_by_name("module_tb.TOP_TX_TICK",NULL);
vpiHandle TX_TICKREADY = vpi_handle_by_name("module_tb.TOP_TX_READY_TICK",NULL);
 
value_to_tx_timec.format = vpiIntVal;
 
if(SC_TOP->reset_set())
{
 
if(SC_TOP->enable_time_code_tx_test())
{
switch(state_test_tx_timec)
{
case SEND_DATA:
 
value_to_tx_timec.value.integer = 0;
vpi_put_value(TX_TICKE, &value_to_tx_timec, NULL, vpiNoDelay);
state_test_tx_timec = 59;
break;
case 59:
value_to_tx_timec.value.integer = timecode;
vpi_put_value(TX_TIMEC, &value_to_tx_timec, NULL, vpiNoDelay);
 
vpi_get_value(TX_TICKREADY, &value_to_tx_timec);
if(value_to_tx_timec.value.integer == 0)
{
value_to_tx_timec.value.integer = 1;
vpi_put_value(TX_TICKE , &value_to_tx_timec, NULL, vpiNoDelay);
state_test_tx_timec = WAIT_DATA;
}
 
break;
case WAIT_DATA:
vpi_get_value(TX_TICKREADY, &value_to_tx_timec);
if(value_to_tx_timec.value.integer == 1)
{
state_test_tx_timec = 60;
value_to_tx_timec.value.integer = 0;
vpi_put_value(TX_TICKE, &value_to_tx_timec, NULL, vpiNoDelay);
//if(position > SC_TOP->size_data_test())
//{
// value_to_tx.value.integer = 0;
// vpi_put_value(TX_WRITE, &value_to_tx, NULL, vpiNoDelay);
// state_test = 60;
//}
}
else
{
}
break;
case 60:
state_test_tx_timec = SEND_DATA;
timecode = timecode + 1;
break;
}
}
else
{
state_test_tx_timec = SEND_DATA;
}
}
 
return 0;
}
/trunk/work/SpaceWrireTestSuit.glade Cannot display: file marked as a binary type. svn:mime-type = application/xml
/trunk/work/final_spw.so Cannot display: file marked as a binary type. svn:mime-type = application/x-sharedlib

powered by: WebSVN 2.1.0

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