Analyse de circuits à l'aide de SystemC

Analyse de circuits à l'aide de SystemC

SystemC est un autre excellent outil de modélisation du matériel. Il inclut toutes les fonctionnalités de C ++, utilisées dans le monde entier, ainsi qu'une bibliothèque de classes C ++ spécialement conçue pour la conception de systèmes. SystemC a une implémentation libre open-source et vous pouvez le compiler en un code binaire exécutable très efficace avec le compilateur gratuit Visual Studio Community C ++ de Microsoft. Dans SystemC, vous pouvez modéliser le matériel à un niveau d'abstraction plus élevé que dans d'autres HDL. Ainsi, pour la modélisation de matériel très complexe, par exemple des microcontrôleurs, il est plus simple et efficace à utiliser que d'autres HDL comme VHDL ou Verilog.

Dans v11 et les versions ultérieures de TINA, vous pouvez également créer et utiliser des composants modélisés dans SystemC à la fois dans TINA et TINACloud. Voici les exigences pour utiliser SystemC avec TINA.


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

Les caractéristiques du filtre et le code C sont conçus par l’outil gratuit de
http://t-filter.engineerjs.com/

Le code C généré a été placé dans le fichier fir.cpp.

Analyse de cycle / Analyse de Fourier / Spectre de Fourier…
Appuyez sur la touche bouton dans la fenêtre du diagramme. Le post-processeur apparaîtra. Dessinez maintenant la fonction de transfert.

Appuyez sur la touche Plus bouton. Type Sortie (s) / entrée (s) dans la ligne Edit. Tapez H dans le nouveau nom de la fonction. presse Créer. presse OK. Sélectionner Voir / séparer les courbes.
Le résultat est le suivant

La partie la plus importante de la macro 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.