⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.cc

📁 SystemC片上系统设计的源代码: 书籍介绍: SystemC是被实践证明的优秀的系统设计描述语言
💻 CC
字号:
#include "scv.h"#include "packet.h"SC_MODULE(sctop) {  SC_CTOR(sctop);};// nbcode "decl" startsctop::sctop(sc_module_name name) : sc_module(name){  // Create a sparse packet array  packetT defaultPacket;  sc_int<64> upper_bound;  upper_bound = (long long) 1 << 63 - 1;  const sc_int<64> lower_bound = -(upper_bound+1);  scv_sparse_array< sc_int<64>, packetT >    packets("packets", defaultPacket,            lower_bound, upper_bound);  // nbcode "decl" end  // nbcode "index" start  // Create an index to the sparse packet array  scv_smart_ptr< sc_int<64> > index;  const sc_int<64> low = sc_int<64>(-1e3);  const sc_int<64> high = sc_int<64>(-1e2);  index->keep_only(low, high);  // Only 901 possible values  // nbcode "index" end  // nbcode "create" start  // Create packets and copy into array  scv_smart_ptr<packetT> packet;  packet->length.keep_only(10,1024);  for (unsigned int i=0; i<10; ++i) {    packet->src.next();    packet->dest.next();    packet->length.next();    for(unsigned int j=0; j<packet->length; j++) {      packet->payload[j].next();    }    index->next();    packets[index->read()] = *packet;  // Uses equal operator  }  // nbcode "create" end        // nbcode "histo" start  // Iterate through the range looking for packets in the  // sparse array  const unsigned int packetsPerLine = 50;  unsigned int count = 0;  for (sc_int<64> i=low; i<=high; i++) {    if (count == 0) {      scv_out << setw(6) << i << ": ";    }    if (packets[i] == defaultPacket) { // uses packetT == operator      scv_out << ".";    } else {      scv_out << "*";    }    if (++count == packetsPerLine) {      scv_out << endl;      count = 0;    }  }  // nbcode "histo" end  // nbcode "contents" start  // Iterate through again, this time printing each packet  scv_out << endl << endl;  for (sc_int<64> i=low; i<=high; i++) {    if (packets[i] != defaultPacket) { // uses packetT == operator      // Uses output operator      scv_out << setw(6) << i << ": " << packets[i] << endl;    }  }  scv_out << endl;}// nbcode "contents" endint sc_main(int argc, char** argv) {  sctop top("top");  //for osci  sc_start();  return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -