Skip to content

Commit 499cda3

Browse files
committed
Update TLM model of ethernet to work with new address map
1 parent d7d1118 commit 499cda3

File tree

6 files changed

+78
-115
lines changed

6 files changed

+78
-115
lines changed

modules/edge-detector/include/address_map.hpp

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -63,25 +63,39 @@
6363
#define IMG_INPROCESS_C_ADDRESS_LO (CUSTOM_SW_MEMORY_OFFSET + IMG_INPROCESS_C_OFFSET)
6464
#define IMG_INPROCESS_C_ADDRESS_HI (IMG_INPROCESS_C_ADDRESS_LO + IMG_INPROCESS_C_SIZE)
6565

66-
//Img Compressed
67-
#define IMG_COMPRESSED_OFFSET 0x0025803Cu
68-
#define IMG_COMPRESSED_SIZE 307200
69-
#define IMG_COMPRESSED_ADDRESS_LO (CUSTOM_SW_MEMORY_OFFSET + IMG_COMPRESSED_OFFSET)
70-
#define IMG_COMPRESSED_ADDRESS_HI (IMG_COMPRESSED_ADDRESS_LO + IMG_COMPRESSED_SIZE)
66+
//Img In Process D
67+
#define IMG_INPROCESS_D_OFFSET 0x0025803Cu
68+
#define IMG_INPROCESS_D_SIZE 307200
69+
#define IMG_INPROCESS_D_ADDRESS_LO (CUSTOM_SW_MEMORY_OFFSET + IMG_INPROCESS_D_OFFSET)
70+
#define IMG_INPROCESS_D_ADDRESS_HI (IMG_INPROCESS_D_ADDRESS_LO + IMG_INPROCESS_D_SIZE)
7171

72-
//Img Compressed
72+
// Img Output
7373
#define IMG_OUTPUT_OFFSET 0x002A303Cu
7474
#define IMG_OUTPUT_SIZE 307200
7575
#define IMG_OUTPUT_ADDRESS_LO (CUSTOM_HW_MEMORY_OFFSET + IMG_OUTPUT_OFFSET)
7676
#define IMG_OUTPUT_ADDRESS_HI (IMG_OUTPUT_ADDRESS_LO + IMG_OUTPUT_SIZE)
7777

78-
#define ETHERNET_DATA_WR 0x002A3034u
79-
#define ETHERNET_DATA_DONE 0x002A303Cu
80-
#define ETHERNET_CHECK_DONE 0x002A303Du
78+
// Img Output Size
79+
#define IMG_OUTPUT_SIZE_OFFSET 0x002EE03Cu
80+
#define IMG_OUTPUT_SIZE_SIZE 4
81+
#define IMG_OUTPUT_SIZE_ADDRESS_LO (CUSTOM_HW_MEMORY_OFFSET + IMG_OUTPUT_SIZE_OFFSET)
82+
#define IMG_OUTPUT_SIZE_ADDRESS_HI (IMG_OUTPUT_SIZE_ADDRESS_LO + IMG_OUTPUT_SIZE_SIZE)
83+
84+
// Img Output Done
85+
#define IMG_OUTPUT_DONE_OFFSET 0x002EE040u
86+
#define IMG_OUTPUT_DONE_SIZE 4
87+
#define IMG_OUTPUT_DONE_ADDRESS_LO (CUSTOM_HW_MEMORY_OFFSET + IMG_OUTPUT_DONE_OFFSET)
88+
#define IMG_OUTPUT_DONE_ADDRESS_HI (IMG_OUTPUT_DONE_ADDRESS_LO + IMG_OUTPUT_DONE_SIZE)
89+
90+
// Img Output Status
91+
#define IMG_OUTPUT_STATUS_OFFSET 0x002EE044u
92+
#define IMG_OUTPUT_STATUS_SIZE 4
93+
#define IMG_OUTPUT_STATUS_ADDRESS_LO (CUSTOM_HW_MEMORY_OFFSET + IMG_OUTPUT_STATUS_OFFSET)
94+
#define IMG_OUTPUT_STATUS_ADDRESS_HI (IMG_OUTPUT_STATUS_ADDRESS_LO + IMG_OUTPUT_STATUS_SIZE)
8195

8296
//Memory Definition
8397
#define MEMORY_OFFSET (IMG_INPUT_OFFSET)
84-
#define MEMORY_SIZE (IMG_INPUT_SIZE + IMG_INPROCESS_A_SIZE + IMG_INPROCESS_B_SIZE + IMG_INPROCESS_C_SIZE + IMG_COMPRESSED_SIZE)
98+
#define MEMORY_SIZE (IMG_INPUT_SIZE + IMG_INPROCESS_A_SIZE + IMG_INPROCESS_B_SIZE + IMG_INPROCESS_C_SIZE + IMG_INPROCESS_D_SIZE)
8599
#define MEMORY_ADDRESS_LO (CUSTOM_HW_MEMORY_OFFSET + MEMORY_OFFSET)
86100
#define MEMORY_ADDRESS_HI (MEMORY_ADDRESS_LO + MEMORY_SIZE)
87101

modules/router/include/memory_tlm.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@ using namespace std;
1111
#include <tlm_utils/peq_with_cb_and_phase.h>
1212

1313
#include "../src/img_target.cpp"
14+
#include "address_map.hpp"
1415

1516
//Extended Unification TLM
1617
struct memory_tlm : public img_target
1718
{
1819

1920
memory_tlm(sc_module_name name) : img_target((std::string(name) + "_target").c_str()) {
20-
mem_array = new unsigned char[2764852];
21+
mem_array = new unsigned char[MEMORY_SIZE];
2122
#ifdef DISABLE_MEM_DEBUG
2223
this->use_prints = false;
2324
#endif //DISABLE_MEM_DEBUG

modules/router/include/packetGenerator_tlm.hpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,14 @@ using namespace std;
1414

1515
#include "packetGenerator.h"
1616
#include "../src/img_target.cpp"
17+
#include "address_map.hpp"
1718

1819
//Extended Unification TLM
1920
struct packetGenerator_tlm : public packetGenerator, public img_target
2021
{
2122

2223
packetGenerator_tlm(sc_module_name name, sca_core::sca_time sample_time) : packetGenerator((std::string(name) + "_AMS_HW_block").c_str(), sample_time), img_target((std::string(name) + "_target").c_str()), tmp_data_length(0) {
24+
tmp_data = new unsigned char[IMG_OUTPUT_SIZE];
2325
#ifdef DISABLE_PACKET_GENERATOR_DEBUG
2426
this->use_prints = false;
2527
#endif // DISABLE_PACKET_GENERATOR_DEBUG
@@ -32,5 +34,6 @@ struct packetGenerator_tlm : public packetGenerator, public img_target
3234

3335
unsigned int tmp_data_length;
3436
unsigned char* tmp_data;
37+
3538
};
3639
#endif // PACKET_GENERATOR_TLM_HPP

modules/router/src/img_router.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -126,22 +126,23 @@ struct img_router: sc_module
126126
return IMG_SOBEL_INITIATOR_ID;
127127
}
128128

129-
case ETHERNET_DATA_WR:
130-
case ETHERNET_DATA_DONE:
131-
case ETHERNET_CHECK_DONE:
129+
case IMG_OUTPUT_ADDRESS_LO ... (IMG_OUTPUT_ADDRESS_HI - 1):
130+
case IMG_OUTPUT_SIZE_ADDRESS_LO:
131+
case IMG_OUTPUT_DONE_ADDRESS_LO:
132+
case IMG_OUTPUT_STATUS_ADDRESS_LO:
132133
{
133134
dbgmodprint(use_prints, "Decoded address %016llX corresponds to Ethernet module.", address);
134135

135136
return IMG_ETHERNET_INITIATOR_ID;
136137
}
137138

138139
// To/From Memory Valid addresses
139-
case MEMORY_ADDRESS_LO ... MEMORY_ADDRESS_HI : {
140+
case MEMORY_ADDRESS_LO ... (MEMORY_ADDRESS_HI - 1) : {
140141
dbgmodprint(use_prints, "Decoded address %016llX corresponds to Memory.", address);
141142
return IMG_MEMORY_INITIATOR_ID;
142143
}
143144
default: {
144-
dbgmodprint(use_prints, "[ERROR] Decoding invalid address %016llX.", address);
145+
dbgmodprint(true, "[ERROR] Decoding invalid address %016llX.", address);
145146
SC_REPORT_FATAL("[IMG ROUTER]", "Received address is invalid, does not match any hardware block");
146147
return INVALID_INITIATOR_ID;
147148
}

modules/router/src/packetGenerator_tlm.cpp

Lines changed: 11 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ using namespace std;
1919
void packetGenerator_tlm::do_when_read_transaction(unsigned char*& data, unsigned int data_length, sc_dt::uint64 address){
2020
dbgimgtarmodprint(use_prints, "Calling do_when_read_transaction");
2121

22-
if ((address = ETHERNET_CHECK_DONE) && (data_length == 1))
22+
if ((address >= IMG_OUTPUT_STATUS_ADDRESS_LO) && (address < IMG_OUTPUT_STATUS_ADDRESS_HI))
2323
{
2424
if (packetGenerator::tmp_data_out_valid == true)
2525
{
@@ -36,42 +36,29 @@ void packetGenerator_tlm::do_when_write_transaction(unsigned char*& data, unsign
3636
{
3737
dbgimgtarmodprint(use_prints, "Calling do_when_write_transaction");
3838

39-
if ((address >= ETHERNET_DATA_WR) && (address + data_length - 1 < ETHERNET_DATA_DONE))
39+
if ((address >= IMG_OUTPUT_ADDRESS_LO) && (address < IMG_OUTPUT_SIZE_ADDRESS_LO))
4040
{
41+
memcpy(tmp_data + address - IMG_OUTPUT_ADDRESS_LO, data, data_length);
42+
}
43+
else if ((address >= IMG_OUTPUT_SIZE_ADDRESS_LO) && (address < IMG_OUTPUT_DONE_ADDRESS_LO))
44+
{
45+
unsigned char *data_length_ptr = (unsigned char *)&tmp_data_length;
46+
memcpy(data_length_ptr + address - IMG_OUTPUT_SIZE_ADDRESS_LO, data, data_length);
4147

42-
if (tmp_data_length == 0)
43-
{
44-
tmp_data = new unsigned char[data_length];
45-
memcpy(tmp_data, data, sizeof(char) * data_length);
46-
}
47-
else
48-
{
49-
unsigned char* tmp_data_;
50-
tmp_data_ = tmp_data;
51-
tmp_data = new unsigned char[tmp_data_length + data_length];
52-
memcpy(tmp_data, tmp_data_, sizeof(char) * tmp_data_length);
53-
memcpy(tmp_data + tmp_data_length, data, data_length);
54-
55-
delete[] tmp_data_;
56-
}
57-
58-
dbgimgtarmodprint(use_prints, "Previous data_length %0d new data_length %0d", tmp_data_length, tmp_data_length + data_length);
59-
tmp_data_length = tmp_data_length + data_length;
48+
dbgimgtarmodprint(use_prints, "Current data_length %0d", tmp_data_length);
6049
}
61-
else if ((address == ETHERNET_DATA_DONE) && (data_length == 1) && (*data == 1))
50+
else if ((address >= IMG_OUTPUT_DONE_ADDRESS_LO) && (address < IMG_OUTPUT_STATUS_ADDRESS_LO) && (*data == 1))
6251
{
6352
if (tmp_data_length == 0)
6453
{
65-
tmp_data = new unsigned char[1];
66-
*tmp_data = 0;
54+
*(tmp_data) = 0;
6755
tmp_data_length = 1;
6856
}
6957

7058
dbgimgtarmodprint(use_prints, "Preparing to send %0d bytes", tmp_data_length);
7159

7260
fill_data(tmp_data, (int)tmp_data_length);
7361

74-
delete[] tmp_data;
7562
tmp_data_length = 0;
7663
}
7764
}

modules/router/src/tb_edge_detector_tlm.cpp

Lines changed: 32 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ struct Ethernet_AMS_Signals {
5151
sca_tdf::sca_signal<double> mlt3_out_signal;
5252

5353
sca_tdf::sca_signal<bool> data_out_valid;
54-
sca_tdf::sca_signal<sc_dt::sc_bv<4>> data_out_signal;
5554
sca_tdf::sca_signal<sc_dt::sc_bv<4>> data_out;
5655

5756
sca_tdf::sca_signal<bool> tmp_data_out_valid;
@@ -254,6 +253,8 @@ SC_MODULE(Tb_top)
254253
memory_DUT->backdoor_write(local_results, 3 * sizeof(char), IMG_INPUT_ADDRESS_LO + ((i * IMAG_COLS * 3) + (j * 3)));
255254
}
256255
}
256+
257+
dbgprint("Saved image in memory");
257258

258259
Mat grayImagePrevMem(IMAG_ROWS, IMAG_COLS, CV_8UC1);
259260
Mat filteredImagePrevMem(IMAG_ROWS, IMAG_COLS, CV_8UC1);
@@ -268,6 +269,8 @@ SC_MODULE(Tb_top)
268269
Mat detectedImageAfterMem(IMAG_ROWS, IMAG_COLS, CV_8UC1);
269270

270271
total_number_of_pixels = IMAG_ROWS * IMAG_COLS;
272+
273+
dbgprint("Starting gray scale conversion");
271274

272275
for (int i = 0; i < IMAG_ROWS; i++)
273276
{
@@ -331,6 +334,8 @@ SC_MODULE(Tb_top)
331334
local_count = 0;
332335
current_number_of_pixels = 0;
333336
next_target_of_completion = 10.0;
337+
338+
dbgprint("Starting filtering the image");
334339

335340
for (int i = 0; i < IMAG_ROWS; i++)
336341
{
@@ -381,8 +386,8 @@ SC_MODULE(Tb_top)
381386
if (local_count == 8)
382387
{
383388
dbgmodprint(use_prints, "Before doing a write in TB");
384-
sanity_check_address(IMG_COMPRESSED_ADDRESS_LO + ((i * IMAG_COLS) + (local_group_count * 8 * sizeof(char))), IMG_COMPRESSED_ADDRESS_LO, IMG_COMPRESSED_ADDRESS_LO + IMG_COMPRESSED_SIZE);
385-
tb_initiator->write(local_results, IMG_COMPRESSED_ADDRESS_LO + ((i * IMAG_COLS) + (local_group_count * 8 * sizeof(char))), 8 * sizeof(char));
389+
sanity_check_address(IMG_INPROCESS_D_ADDRESS_LO + ((i * IMAG_COLS) + (local_group_count * 8 * sizeof(char))), IMG_INPROCESS_D_ADDRESS_LO, IMG_INPROCESS_D_ADDRESS_LO + IMG_INPROCESS_D_SIZE);
390+
tb_initiator->write(local_results, IMG_INPROCESS_D_ADDRESS_LO + ((i * IMAG_COLS) + (local_group_count * 8 * sizeof(char))), 8 * sizeof(char));
386391
dbgmodprint(use_prints, "After doing a write in TB");
387392
local_count = 0;
388393
local_group_count++;
@@ -404,14 +409,16 @@ SC_MODULE(Tb_top)
404409
for (int j = 0; j < IMAG_COLS; j++)
405410
{
406411
unsigned char* read_ptr;
407-
memory_DUT->backdoor_read(read_ptr, 1 * sizeof(char), IMG_COMPRESSED_ADDRESS_LO + ((i * IMAG_COLS) + j));
412+
memory_DUT->backdoor_read(read_ptr, 1 * sizeof(char), IMG_INPROCESS_D_ADDRESS_LO + ((i * IMAG_COLS) + j));
408413
filteredImageAfterMem.at<uchar>(i, j) = *read_ptr;
409414
}
410415
}
411416

412417
local_count = 0;
413418
current_number_of_pixels = 0;
414419
next_target_of_completion = 10.0;
420+
421+
dbgprint("Starting calculating sobel gradients of the image");
415422

416423
for (int i = 0; i < IMAG_ROWS; i++)
417424
{
@@ -423,7 +430,7 @@ SC_MODULE(Tb_top)
423430
unsigned char* write_ptr;
424431
unsigned char* read_ptr;
425432

426-
extract_window(i, j, IMG_COMPRESSED_ADDRESS_LO, local_window_ptr);
433+
extract_window(i, j, IMG_INPROCESS_D_ADDRESS_LO, local_window_ptr);
427434
for (int k = 9; k < 16; k++)
428435
{
429436
*(local_window_ptr + k) = 0;
@@ -540,6 +547,8 @@ SC_MODULE(Tb_top)
540547
local_count = 0;
541548
current_number_of_pixels = 0;
542549
next_target_of_completion = 10.0;
550+
551+
dbgprint("Starting with the unification of the magnitude of the gradients of the image");
543552

544553
for (int i = 0; i < IMAG_ROWS; i++)
545554
{
@@ -618,6 +627,8 @@ SC_MODULE(Tb_top)
618627
local_count = 0;
619628
current_number_of_pixels = 0;
620629
next_target_of_completion = 10.0;
630+
631+
dbgprint("Starting with the compression of the image");
621632

622633
for (int i = 0; i < IMAG_ROWS; i++)
623634
{
@@ -672,8 +683,8 @@ SC_MODULE(Tb_top)
672683
{
673684
local_results = reinterpret_cast<unsigned char*>(compression_results + (local_group_count * 8 * sizeof(char)));
674685
dbgmodprint(use_prints, "Before doing a write in TB");
675-
sanity_check_address(IMG_COMPRESSED_ADDRESS_LO + (local_group_count * 8 * sizeof(char)), IMG_COMPRESSED_ADDRESS_LO, IMG_COMPRESSED_ADDRESS_LO + IMG_COMPRESSED_SIZE);
676-
tb_initiator->write(local_results, IMG_COMPRESSED_ADDRESS_LO + (local_group_count * 8 * sizeof(char)), 8 * sizeof(char));
686+
sanity_check_address(IMG_OUTPUT_ADDRESS_LO + (local_group_count * 8 * sizeof(char)), IMG_OUTPUT_ADDRESS_LO, IMG_OUTPUT_ADDRESS_LO + IMG_OUTPUT_SIZE);
687+
tb_initiator->write(local_results, IMG_OUTPUT_ADDRESS_LO + (local_group_count * 8 * sizeof(char)), 8 * sizeof(char));
677688
dbgmodprint(use_prints, "After doing a write in TB");
678689
local_count = 0;
679690
local_group_count++;
@@ -692,8 +703,8 @@ SC_MODULE(Tb_top)
692703
{
693704
local_results = reinterpret_cast<unsigned char*>(compression_results + (local_group_count * 8 * sizeof(char)));
694705
dbgmodprint(use_prints, "Before doing a write in TB");
695-
sanity_check_address(IMG_COMPRESSED_ADDRESS_LO + (local_group_count * 8 * sizeof(char)), IMG_COMPRESSED_ADDRESS_LO, IMG_COMPRESSED_ADDRESS_LO + IMG_COMPRESSED_SIZE);
696-
tb_initiator->write(local_results, IMG_COMPRESSED_ADDRESS_LO + (local_group_count * 8 * sizeof(char)), (compression_output_size % 8) * sizeof(char));
706+
sanity_check_address(IMG_OUTPUT_ADDRESS_LO + (local_group_count * 8 * sizeof(char)), IMG_OUTPUT_ADDRESS_LO, IMG_OUTPUT_ADDRESS_LO + IMG_OUTPUT_SIZE);
707+
tb_initiator->write(local_results, IMG_OUTPUT_ADDRESS_LO + (local_group_count * 8 * sizeof(char)), (compression_output_size % 8) * sizeof(char));
697708
dbgmodprint(use_prints, "After doing a write in TB");
698709
local_count = 0;
699710
local_group_count++;
@@ -705,80 +716,27 @@ SC_MODULE(Tb_top)
705716
local_group_count = 0;
706717
current_number_of_pixels = 0;
707718
next_target_of_completion = 10.0;
708-
for (int i = 0; i < compression_output_size; i++)
709-
{
710-
if (local_count == 0)
711-
{
712-
unsigned char* read_ptr;
713-
local_read = new unsigned char[8];
714-
715-
dbgmodprint(use_prints, "Before doing a read in TB");
716-
tb_initiator->read(read_ptr, IMG_COMPRESSED + (local_group_count * 8 * sizeof(char)), 8 * sizeof(char));
717-
dbgmodprint(use_prints, "After doing a read in TB");
718-
memcpy(local_read, read_ptr, 8 * sizeof(char));
719-
delete[] read_ptr;
720-
}
721-
722-
local_count++;
723-
724-
if (local_count == 8)
725-
{
726-
unsigned char* write_ptr;
727-
unsigned char* read_ptr;
728719

729-
tb_initiator->read(read_ptr, ETHERNET_CHECK_DONE, 1 * sizeof(char));
730-
while (*read_ptr == 1)
731-
{
732-
delete[] read_ptr;
733-
wait(100, SC_NS);
734-
tb_initiator->read(read_ptr, ETHERNET_CHECK_DONE, 1 * sizeof(char));
735-
}
736-
737-
write_ptr = new unsigned char[1];
738-
*write_ptr = 1;
739-
tb_initiator->write(local_read, ETHERNET_DATA_WR, 8 * sizeof(char));
740-
tb_initiator->write(write_ptr, ETHERNET_DATA_DONE, 1 * sizeof(char));
741-
delete[] write_ptr;
742-
delete[] local_read;
743-
local_count = 0;
744-
local_group_count++;
745-
}
746-
}
747-
748-
if (compression_output_size % 8 != 0)
749-
{
750-
unsigned char* write_ptr;
751-
unsigned char* read_ptr;
752-
753-
tb_initiator->read(read_ptr, ETHERNET_CHECK_DONE, 1 * sizeof(char));
754-
while (*read_ptr == 1)
755-
{
756-
delete[] read_ptr;
757-
wait(100, SC_NS);
758-
tb_initiator->read(read_ptr, ETHERNET_CHECK_DONE, 1 * sizeof(char));
759-
}
760-
761-
dbgmodprint(use_prints, "Before doing a read in TB");
762-
tb_initiator->read(read_ptr, IMG_COMPRESSED + (local_group_count * 8 * sizeof(char)), (compression_output_size % 8) * sizeof(char));
763-
dbgmodprint(use_prints, "After doing a read in TB");
720+
unsigned char* read_ptr;
721+
unsigned char* write_ptr;
764722

765-
write_ptr = new unsigned char[1];
766-
*write_ptr = 1;
723+
dbgprint("Starting with the transmision of the image");
724+
dbgprint("Preparing to transmit %0d bytes", compression_output_size);
767725

768-
tb_initiator->write(read_ptr, ETHERNET_DATA_WR, (compression_output_size % 8) * sizeof(char));
769-
tb_initiator->write(write_ptr, ETHERNET_DATA_DONE, 1 * sizeof(char));
726+
write_ptr = (unsigned char *)&compression_output_size;
727+
tb_initiator->write(write_ptr, IMG_OUTPUT_SIZE_ADDRESS_LO, sizeof(int));
770728

771-
delete[] write_ptr;
772-
delete[] read_ptr;
773-
}
729+
write_ptr = new unsigned char[1];
730+
*write_ptr = 1;
731+
tb_initiator->write(write_ptr, IMG_OUTPUT_DONE_ADDRESS_LO, sizeof(char));
732+
delete[] write_ptr;
774733

775-
unsigned char* read_ptr;
776-
tb_initiator->read(read_ptr, ETHERNET_CHECK_DONE, 1 * sizeof(char));
734+
tb_initiator->read(read_ptr, IMG_OUTPUT_STATUS_ADDRESS_LO, 1 * sizeof(char));
777735
while (*read_ptr == 1)
778736
{
779737
delete[] read_ptr;
780738
wait(100, SC_NS);
781-
tb_initiator->read(read_ptr, ETHERNET_CHECK_DONE, 1 * sizeof(char));
739+
tb_initiator->read(read_ptr, IMG_OUTPUT_STATUS_ADDRESS_LO, 1 * sizeof(char));
782740
}
783741

784742
dbgprint("Finished with the transmision of the image");
@@ -1078,7 +1036,6 @@ int sc_main(int, char*[])
10781036
sc_trace(wf, top.memory_DUT->mem_we, "memory_we");
10791037

10801038
sca_util::sca_trace(wf_ams, top.ethernetSignals.mlt3_out_signal, "mlt3_out");
1081-
sca_util::sca_trace(wf_ams, top.ethernetSignals.data_out_signal, "data_out_signal");
10821039
sca_util::sca_trace(wf_ams, top.ethernetSignals.data_out_valid, "data_out_valid");
10831040
sca_util::sca_trace(wf_ams, top.ethernetSignals.data_out, "data_out");
10841041
sca_util::sca_trace(wf_ams, top.ethernetSignals.data_in, "pkt_gen_data_in");

0 commit comments

Comments
 (0)