Lines Matching defs:txn

51     case 1:  function<dt<1> >(&txn,bus_width); break; \
52 case 2: function<dt<2> >(&txn,bus_width); break; \
53 case 4: function<dt<4> >(&txn,bus_width); break; \
54 case 8: function<dt<8> >(&txn,bus_width); break; \
55 case 16: function<dt<16> >(&txn,bus_width); break; \
56 case 32: function<dt<32> >(&txn,bus_width); break; \
64 local_single_tohe(tlm_generic_payload *txn, unsigned int sizeof_databus);
66 local_single_fromhe(tlm_generic_payload *txn, unsigned int sizeof_databus);
69 void test_a_conversion(char cmd, tlm_generic_payload &txn, std::ifstream & fin) {
71 if(cmd == 'R') txn.set_read();
72 else txn.set_write();
77 txn.set_address(a);
82 txn.set_data_length(l);
95 new unsigned char[txn.get_data_length() + 1];
96 memset(byte_enable_legible, 0, txn.get_data_length() + 1);
98 for(unsigned b=0; b<txn.get_data_length(); b++) {
104 txn.set_byte_enable_ptr(new unsigned char[txn.get_data_length()]);
105 txn.set_byte_enable_length(txn.get_data_length());
106 original_byte_enable = txn.get_byte_enable_ptr();
107 for(unsigned int i=0; i<txn.get_data_length(); i++) {
109 txn.get_byte_enable_ptr()[i] = TLM_BYTE_DISABLED;
111 txn.get_byte_enable_ptr()[i] = TLM_BYTE_ENABLED;
114 txn.set_byte_enable_length(i);
119 txn.set_byte_enable_ptr(0);
120 txn.set_byte_enable_length(0);
125 txn.set_streaming_width(stream_width);
132 txn.set_data_ptr(initiator_mem + initiator_offset);
145 cout << " Addr = " << txn.get_address() << endl;
146 cout << " Len = " << txn.get_data_length() << endl;
150 cout << " Initiator offset and txn data pointer = " << initiator_offset << ", " << int(txn.get_data_ptr()) << endl;
151 cout << " Byte enables and byte enable pointer = " << byte_enable_legible << ", " << int(txn.get_byte_enable_ptr()) << endl;
156 cout << " Byte enable length = " << txn.get_byte_enable_length() << endl;
157 cout << " Streaming width = " << txn.get_streaming_width() << endl;
174 cout << " Addr = " << txn.get_address() << endl;
175 cout << " Len = " << txn.get_data_length() << endl;
177 cout << " Txn data pointer = " << int(txn.get_data_ptr()) << endl;
178 if(txn.get_byte_enable_ptr() != 0) {
180 for(unsigned int i=0; i<txn.get_data_length(); i++)
181 cout << (txn.get_byte_enable_ptr()[i] ? '1' : '0');
182 cout << ", " << int(txn.get_byte_enable_ptr()) << endl;
186 (txn.get_data_ptr() == initiator_mem+initiator_offset ? "unchanged" : "changed") << endl;
187 if(txn.get_byte_enable_ptr() != 0) {
189 for(unsigned int i=0; i<txn.get_data_length(); i++)
190 cout << (txn.get_byte_enable_ptr()[i] ? '1' : '0');
192 (txn.get_byte_enable_ptr() == original_byte_enable ? "unchanged" : "changed") << endl;
195 cout << " Byte enable length = " << txn.get_byte_enable_length() << endl;
196 cout << " Streaming width = " << txn.get_streaming_width() << endl;
200 int sw = txn.get_streaming_width();
201 if((txn.get_data_length()/sw)*sw != txn.get_data_length()) {
205 for(unsigned int ss = 0; ss < txn.get_data_length(); ss += sw) {
206 if(txn.get_byte_enable_ptr() == 0) {
208 if(txn.is_read())
209 memcpy(ss+txn.get_data_ptr(), target_mem+txn.get_address(), sw);
211 memcpy(target_mem+txn.get_address(), ss+txn.get_data_ptr(), sw);
214 int bel = txn.get_byte_enable_length();
215 if(txn.is_read()) {
217 if(txn.get_byte_enable_ptr()[(ss+j) % bel])
218 (txn.get_data_ptr())[ss+j] = target_mem[j+txn.get_address()];
222 if(txn.get_byte_enable_ptr()[(ss+j) % bel])
223 target_mem[j+txn.get_address()] = (txn.get_data_ptr())[ss+j];
234 tlm_from_hostendian(&txn);
343 local_single_tohe(tlm_generic_payload *txn, unsigned int sizeof_databus) {
344 if(txn->get_data_length() != sizeof(DATAWORD)) {
353 txn->set_data_length(sizeof_databus + sizeof(DATAWORD));
355 txn->set_data_length(2 * sizeof_databus);
356 txn->set_streaming_width(txn->get_data_length());
357 unsigned char *new_data = new unsigned char[txn->get_data_length()];
358 unsigned char *new_be = new unsigned char[txn->get_data_length()];
360 for(unsigned int i=0; i<txn->get_data_length(); i++) new_be[i] = 0;
361 sc_dt::uint64 new_addr = txn->get_address() & ~mask;
367 unsigned char *curr_d = txn->get_data_ptr() + sizeof(DATAWORD) - 1;
368 unsigned char *curr_b = txn->get_byte_enable_ptr() + sizeof(DATAWORD) - 1;
371 sc_dt::uint64 curr_a = txn->get_address();
374 for( ; curr_d >= txn->get_data_ptr(); curr_d--, curr_b--, curr_a++) {
378 if(txn->is_write()) new_data[idx] = *curr_d;
379 if(txn->get_byte_enable_ptr() == 0) new_be[idx] = 1;
384 original_dptr = txn->get_data_ptr();
385 txn->set_data_ptr(new_data);
386 txn->set_byte_enable_ptr(new_be);
387 txn->set_byte_enable_length(txn->get_data_length());
388 original_addr = txn->get_address();
389 txn->set_address(new_addr);
394 local_single_fromhe(tlm_generic_payload *txn, unsigned int sizeof_databus) {
410 int idx = he_addr - txn->get_address();
411 if((txn->is_read()) && (txn->get_byte_enable_ptr()[idx] != 0))
412 *curr_d = txn->get_data_ptr()[idx];
416 delete [] txn->get_data_ptr();
417 delete [] txn->get_byte_enable_ptr();