Analisando Circuitos Usando o SystemC

Analisando Circuitos Usando o SystemC

O SystemC é outra ótima ferramenta para modelagem de hardware. Ele inclui todos os recursos do C ++, usados ​​em todo o mundo, e uma biblioteca de classes C ++ especialmente projetada para o design do sistema. SystemC tem uma implementação livre de código aberto e você pode compilá-lo em um código binário executável muito eficiente com o também gratuito compilador C ++ do Visual Studio Community da Microsoft. No SystemC, você pode modelar hardware em um nível de abstração mais alto que em outros HDLs e, portanto, para modelar alguns hardwares muito complexos, como microcontroladores, é mais fácil e eficiente de usar do que outros HDLs como VHDL ou Verilog.

No v11 e em versões posteriores do TINA, você também pode criar e usar componentes modelados no SystemC, tanto no TINA quanto no TINACloud. A seguir estão os requisitos para usar o SystemC com o TINA.


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

As características do filtro e o código C são projetados pela ferramenta gratuita em
http://t-filter.engineerjs.com/

O código C gerado foi colocado no arquivo fir.cpp.

Executar Análise / Análise de Fourier / Espectro de Fourier…
Pressione o botão botão na janela do diagrama. O pós-processador será exibido. Agora desenhe a função de transferência.

Pressione o botão Mais botão. Tipo Saída (s) / entrada (s) na edição de linha. Digite H no novo nome da função. pressione criar. pressione OK. Selecionar Ver / separar curvas.
O resultado é o seguinte

A parte mais importante da 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.