# Autres langages > Autres langages > VHDL >  Adapter du code SystemC en VHDL

## Gefroren

Bonjour,

Dans le cadre d'un projet, je dois adapter un code en SystemC en VHDL. La partie FSM a va, mais il y a une partie que je n'arrive pas  adapter : il s'agit de la mthode qui rsout (un sudoku) de manire rcursive. Le problme c'est qu'elle ne retourne rien.
J'ai donc pens aux procdure mais la rcursion n'est pas autorise. Je me retrouve donc compltement bloqu  ::cry:: 


```

```

Les fonctions do_set, is_set et do_unset sont des fonctions de masques. Comment puis-je m'y prendre?

Merci d'avance pour votre aide !!

----------


## mith06

Salut,

Perso je pense que c'est mort.
La rcursivit n'a aucun sens dans la description de matriel (qui est le but du VHDL).
La seul moyen que je vois est de trouver l'quivalent itratif de la l'algo et de faire la machine d'tat quivalente.(C'est pas gagn non plus..)

PS: Je nai toujours pas compris  quoi sert le systemC, puisque ce cas illustre parfaitement que ce langage n'est pas synthtisable.

Bon courage.

----------


## Gefroren

Ok, merci pour l'indication j'ai lch l'affaire niveau rcursion. J'ai demand  un collaborateur de la FAC qui sont senss nous aider et il m'a dit qu'en fait fallait remplacer la rcursion par des boucles. Et pire que normalement avec une seule boucle en plus on pouvait avoir l'quivalent.

Aprs avoir fait a, il devient plus facile de le passer en VHDL. Alors moi j'ai essay plein de trucs mais j'ai rien qui marche, ce truc c'est plus un truc d'info et du coup je galre... ::(: 

Si quelqu'un arrive  voir la boucle while qui va bien et qui fait rouler le truc j'en serais extrmement reconnaissant :-p.

----------


## gorgonite

> La rcursivit n'a aucun sens dans la description de matriel (qui est le but du VHDL).


clairement, trop de dbutants croient que VHDL est un langage de *programmation* alors que c'est un langage de *description* avec une syntaxe de langage de prog (Ada en l'occurence)

d'ailleurs le code Gefroren montre clairement un code de programmation... pas une vue matriel. donc a priori il ne sert qu' simuler une fonctionnalit, pas un composant 




> PS: Je nai toujours pas compris  quoi sert le systemC, puisque ce cas illustre parfaitement que ce langage n'est pas synthtisable.



SystemC est un langage de description de *systmes*, ie pas uniquement de composants matriels... il est utile pour faire du *codesign* afin d'avoir une approche plus haut-niveau d'un systme complexe

D'ailleurs, depuis SystemC version 2, l'introduction du niveau d'abstraction *transactionnel (TLM)* en est clairement l'illustration. et en regardant le TLM 2, on va encore plus loin dans cette optique
en gros, c'est potentiellement  peine plus bas-niveau que Simulink... mais a peut descendre jusqu'au niveau RTL au besoin  un cot temporel et mmoire important en terme de simulation  ::aie:: 


ps: l'intgralit de VHDL n'est pas non plus synthtisable... juste simulable




> Si quelqu'un arrive  voir la boucle while qui va bien et qui fait rouler le truc j'en serais extrmement reconnaissant :-p.


c'est potentiellement casse-gueule ton truc... faudrait que tu nous montres o tu en es si tu veux qu'on essaie d'y penser (sinon faudrait 2 jours  ::aie:: )

ou lis ceci
http://ce.et.tudelft.nl/publicationf..._896_FPT09.pdf

----------


## princesse91

Bonjour,
Est_ce que SystemC est capable de gnrer un code Vhdl  partir d'un code crit sous C++(SystemC)??
Merci d'avance  ::):

----------

