SystemC का उपयोग करके सर्किट का विश्लेषण करना

SystemC का उपयोग करके सर्किट का विश्लेषण करना

SystemC मॉडलिंग हार्डवेयर के लिए एक और बढ़िया उपकरण है। इसमें सी ++ की सभी विशेषताएं शामिल हैं, जिसका उपयोग पूरी दुनिया में किया जाता है, और सिस्टम डिजाइन के लिए विशेष रूप से तैयार सी ++ क्लास लाइब्रेरी। SystemC में एक ओपन-सोर्स फ्री इंप्लीमेंटेशन है और आप इसे Microsoft के फ्री विजुअल स्टूडियो कम्यूनिटी C ++ कंपाइलर के साथ एक बहुत ही कुशल निष्पादन योग्य बाइनरी कोड में संकलित कर सकते हैं। SystemC में आप अन्य HDL की तुलना में उच्च अमूर्त स्तर पर हार्डवेयर मॉडल कर सकते हैं और इसलिए कुछ बहुत ही जटिल हार्डवेयर जैसे माइक्रोकंट्रोलर मॉडलिंग के लिए यह VHDL या Verilog जैसे अन्य HDL की तुलना में अधिक आसान और कुशल है।

TX के V11 और बाद के संस्करणों में आप TINA और TINACloud दोनों में SystemC में तैयार किए गए घटकों को बना और उपयोग कर सकते हैं। टीना के साथ SystemC का उपयोग करने के लिए निम्नलिखित आवश्यकताएं हैं।


Low-pass filter example
Open the ExamplesSystemCsc lpf.TSC example.

फ़िल्टर विशेषताओं और C- कोड को नि: शुल्क उपकरण द्वारा डिज़ाइन किया गया है
http://t-filter.engineerjs.com/

उत्पन्न सी-कोड को fir.cpp फ़ाइल में रखा गया था।

रन विश्लेषण / फूरियर विश्लेषण / फूरियर स्पेक्ट्रम…
प्रेस आरेख विंडो में बटन। पोस्ट-प्रोसेसर दिखाई देगा। अब ट्रांसफर फंक्शन ड्रा करें।

प्रेस अधिक बटन। प्रकार आउटपुट (रों) / इनपुट (रों) पंक्ति में संपादित करें। नए फ़ंक्शन नाम में H टाइप करें। दबाएँ बनाएं। दबाएँ OK. चयन देखें / अलग घटता.
परिणाम निम्नलिखित है

SystemC मैक्रो का सबसे महत्वपूर्ण हिस्सा:

void fir::proc() 

  double u, y; 
  if (CLK.read() == SC_LOGIC_1) { 
   sc_logic sc_val; 

  // CALC 
  x[0] = SAMPLE; y = 0; 
  for (int k=0; k < M; k++){
    y += b[k]*x[k];
  }

  // SHIFT
  for (int k=M-1; k>=1; k—)
    x[k] = x[k-1];

  // SET VALUE
  RESULT = y;
  n++;
 }


You can find this example in the Examples/Fir folder of the systemc_model.zip.