Votre question

programmation hardware : vhdl verilog systemC

Tags :
  • software
  • Programmation
Dernière réponse : dans Programmation
6 Août 2004 11:34:16

Bonjour tout le monde.

Il y a que des programmeurs software ici, je vous propose de discuter de la programmation hardware.


Vous pouvez me poser des questions :
-comment ca marche ?
-quels sont les languages
-quelle est la philosophie du language

- outils de simulation, synthese,exploration d'architecture,verifiaction
-modelisation des systemes materiels
-niveaux d'abstraction.........
- modelisation RTL ( Register Transfer Level )


-du langage au materiel.......
-synthese des sytemes materiels
-dessin des masques
-arbre d'horloge

-comment on fait un processeur, un GPU.....


je suis ouvert a toutes les questions

Autres pages sur : programmation hardware vhdl verilog systemc

6 Août 2004 11:47:19

Salut tu connais combien da language ?
6 Août 2004 11:51:13

y en a qui on boufer de l'école d'ingé
Contenus similaires
6 Août 2004 14:29:16

je connais bien le vhdl. C'est la norme europeenne
Verilog c'est la norme americaine, mais je connais pas trop.

Le systemeC j'essaye de m'y mettre car c'est utile pour designer des architectures complexes.


Il y a aussi le vhdl-ams, c'est pour modeliser des systemes a la fois numerique et analogique.
6 Août 2004 15:12:59

Entity...
End Entity
Architecture of...
End architecture
Process...
End process

Comment je déteste ce langage, je n'aime pas du tout la synthaxe; Du genre 'a' reçoit 'b' : a<=b; Berk!
Préfére le langage C.
Mais bon je crois que le VHDL est plus puissant (temps réel) alors que le C lit ligne après ligne.
6 Août 2004 16:23:53

oui voila, le vhdl c'est un HDL : hardware description langage.

Il inclut la gestion du temps dans le programme.
Par exemple

process
begin
wait for 10ns;
if(.......) then
........
else
......
end if;
end process;

..........


la grosse difference avec le c est :
fichier c compile =====> fichier executable sur un processeur
fichier vhdl synthetise ========>c ircuit de microelectronique a fondre
6 Août 2004 17:01:11

Le VHDL est très utile pour les automates :) 
Très pratique lorsque l'on veux utiliser des intéruptions (mais possible également en C :-) ).
6 Août 2004 17:09:43

avec le C, tu as parfois un niveau d'abstraction trop eleve.



Je crois qu'on est entrain de comparer deux choses qui ne sont pas comparables.

Le C c'est pour faire tourner sur un OS.
Le vhdl c'est pour faire du hardware.
Par exemple, on decoder sans probleme du mpeg4 en software depuis tres longtemps.

Un jour un etudiant en these a grenoble a decortiquer tout l'algorithme de base du mpeg4 ( transformee en cosinus direct ) et a reussi a le reproduire a un niveau d'abstraction inferieur au C.
On a peu ecrire le decodeur mpeg4 en vhdl.

La consequence de ca, c'est qu'on a pu fabriquer directement des puces decodeur mpeg4. Du coup tu peux acheter une platine DVD ou divx pour rien du tout dans tout les magasins.




Le vhdl c'est vraiment cible pour l'implementation hardware.


6 Août 2004 18:42:20

Citation :

tofazorinou a écrit :

Le C c'est pour faire tourner sur un OS.
Le vhdl c'est pour faire du hardware.



Pas tout à fait d'accord, il n'y a pas tant de différence que ça.
J'ai été amené à écrire un programme en C pour gérer des ports d'entrées/sorties d'une carte lié à un réseau CAN (Control Area Network). De plus il devait vérifier, analyser et traiter les paquets de données sur le réseau (cad au niveau des bits). Donc tout ça pour dire que c'était LARGEMENT plus axé hardware que OS.
Enfin bon de façon globale je suis d'accord avec toi.
:nod:
8 Août 2004 02:16:50

excuse moi , mais quand je dis que le vhdl c'est orienté hardware, et le c OS, ca veut dire qu'un programme C ne peut s'executer que sur un OS, et pqs le vhdl.


J'ai l'impression que tu considere le VHDL comme un language comme un autre genre C. Mais le vhdl c'est pas fait pour ecrire des programmes executables sur OS.

Je pense qu'il y a une grosse nuance.

Il est tard, je te dis bonne nuit.
8 Août 2004 13:52:50

Ah bah voila, disons qu'au départ tu t'étais mal exprimé : "Le VHDL c'est pour faire du hardware". C'est pour ca que j'ai donné l'exemple d'un programme en C qui était lui aussi orienté hardware. D'autant plus que "Le langage C s'est imposé dans l'industrie, et des compilateurs C sont à présent fournis avec du matériel autrefois programmable uniquement en Assembleur(micro-controleurs,...). En effet, le langage C est 'plus proche de l'Assembleur' que d'autres langage, donc convient bien aux applications d'informatique indutrielle".
Après pour ce qui est de son exécution, oui c'est vrai( faut quand même penser à compiler le programme avent de l'utiliser ;-) )
@+
:-)
17 Août 2004 09:41:01

salut

je debute mon stage par apprendre le systemC
j'ai deja fait ques pas mais la je suis coince ...
je veux visualiser des signaux en utilisant les waveforms mais ca marche pas !

en changeant un peu mon code j'obtient ca

Error: (E531) notify_delayed() cannot be called on events that have pending notifications
In file: /home/baillie/systemc/systemc-2.0.1/include/systemc/kernel/sc_event.h:207

ca veut dire quoi ?
merci
17 Août 2004 23:51:38

desolé jiboune, je ne suis pas expert du logiciel.

Quel est le sujet de ton stage ?
Fais tu un projet en vue d'une synthèse ?
merci pour tes info.
18 Août 2004 09:09:12

je fais un stage sur dans le design et architecture de puces electroniques
mon premier but est de maitriser systemc pour ensuite le mettre a profit dans la creation d'outils
honnetement je n'en sais pas bcp plus car ca fait jours que j'ai commence .... :-D

Ps: j'ai resolu le pb
merci
18 Août 2004 10:48:10

nouveau probleme ...

j'ai defini
sc_signal<sc_logic> Carry, Equal;

je l'utilise comme suit
Carry = (sc_logic)'0';

et j'obtient

Warning: (W212) sc_logic value 'X' cannot be converted to bool
In file: sc_logic.cpp:85
In process: alu.do_alu @ 0 s

pourquoi il me parle de bool ?
8 Novembre 2004 19:24:37

Slt je cherche quelqu´un qui peut me donner plus d´infos sur le vhdl.Car c´est tout nouveau pour moi.Donc je ne sais vraiment pas comment ca marche.Comment ecrire des programmes d´horloges surtout.En fait je suis etudiant en Allemagne.J´aimerai bien que nous soyons en contact.Je passe des heures a lire mon cour mais les dificultés restent toujours.Merci de bien vouloir m´aider.
bye
8 Novembre 2004 19:26:56

slt
4 Janvier 2005 13:15:56

je vous pris de bien vouloir m'orienter pour le languege verilog ,j'ai deja fait de laprogrammation en vhdl mais je suis contrainte d'implementer un compteur en verilogue en espace de 10j alors si vous pouvais me donner des tuyeaux de la philosophie de pprogramation en verilogue je vous serai tres reconnaissante.
20 Janvier 2005 11:15:50

Salut!

Je suis à la recherche de documents sur le systemC.
Je suis ouvert à toutes propositions.

@+
12 Avril 2005 10:48:59

je suis un étudiant dans une école d'ingenieurs
et je suis passionné (dérnièrement) par les langage hardware et surtout par le systemc ,puisque dans notre école nous n'avons beaucoup d'outils pour réaliser des projets je parle de Synopsis et autres
alors cette année on m'a chargé d'un projet sur un processeur qui s'appelle DLX auriez-vous quelques documentation sur ce processeur?
et merci :-)
22 Avril 2005 15:28:36

bonjour, je suis en train d'essayer d'implémenter un EPLD (MAX7512AEFI256-10) en VHDL.
J'ai donc défini une machine à états et j'ai voulu simuler (pour commencer) les transistions entre ces états. Pour le moment, rien de bien compliqué sauf que... la simulation est mauvaise et je ne comprend pas pourquoi! Je vous met donc le code ainsi que le résultat de la simul, si quelqu'un pouvait me venir en aide, ca serait bien sympa car là, je ne vois vraiment pas.
J'utilise quartus II version 4.0 comme éditeur et simulateur.

--**********************************
--**********************************

library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_ARITH.all;
use IEEE.STD_LOGIC_UNSIGNED.all;

entity module is
port(
CLK : in std_logic;
DISCO : in std_logic;
L_R : in std_logic;
RESET : in std_logic;
ETAPE : out std_logic_vector (2 downto 0)
);
end module;

architecture module_arch of module is
type state_type is (s0, s1, s2, s3, s4);
signal etat : state_type ;
signal disco_l : std_logic;
signal l_r_l : std_logic;
signal reset_l : std_logic;
signal etape_l : std_logic_vector (2 downto 0);
signal test : std_logic_vector (2 downto 0);

begin
--*********************************************************
latch_recopie : process (CLK)
begin
if rising_edge (CLK) then
-- latch
l_r_l <= L_R;
reset_l <= RESET;
disco_l <= DISCO;
-- recopie
ETAPE <= etape_l;
end if;
end process;
--*********************************************************
cycle: process (CLK, RESET, DISCO)
begin
if DISCO = '1'
then etat <= s2;
elsif RESET = '0'
then etat <= s0;
elsif rising_edge (CLK) then
case etat is
when s0 => if test = "001"
then etat <= s1;
end if;
when s1 => if l_r_l = '0'
then etat <= s4;
end if;
when s2 => if test = "011"
then etat <= s3;
end if;
when s3 => if test = "000"
then etat <= s0;
end if;
when s4 => if test = "001"
then etat <= s1;
end if;
end case;
end if;
end process;
--*********************************************************
sorties : process (etat)
begin
case etat is
when s0 => -- RESET
etape_l <= "000";
test <= "001";
when s1 =>
etape_l <= "001";
when s2 =>
etape_l <= "010";
test <= "011";
when s3 =>
etape_l <= "011";
when s4 =>
etape_l <= "100";
test <= "001";
end case;
end process;
end module_arch;

et le resultat de la simul se trouve ICI

Quelques explications..
_ RESET est le reset (normal) actif à l'etat bas

_ DISCO est un signal informant sur la deconnexion du systeme à un autre systeme (je ne vais pas entrer dans els details... juste a savoir que DISCO est prioritaire par rapport au RESET) actif à l'etat haut

_ S0 est l'etat de reset (quand RESET passe à 0)
_ S1 est l'etat de marche normale
_ S2 est l'etat de deconnexion (quand DISCO passe à 1)
_ S3 est l'etat qui suit S2 (attente d'un reset pour redemarrer le cycle)
_ S4 est un etat dans lequel on rentre à partir de S1 grace au passage à 0 de la variable L_R.

_ test est un signal interne créé pour la simul qui sert à passer d'un etat a un autre.
_ etape_l est un signal interne qui joue le role de mouchard et permet de savoir dans quel etat on se trouve.

Les entrées sont latchées mais je ne me sers pas du RESET et DISCO latchés.

::: LE PROBLEME :::
Regardez l'image, à un moment, il y a un RESET et un DISCO pendant le RESET. A l'arrivée du RESET, ETAPE passe à "000", normal... Comme DISCO est prioritaire par rapport à RESET, quand il survient, le reset est squeezé et on passe en ETAPE "010" relative à l'etat S2 qui gère la deconnexion. normal.... Quand DISCO disparait, RESET est toujours à 0 donc on repasse en ETAPE "000" (etape de reset). normal...
MAIS, quand RESET repasse à '1',ETAPE ne change pas, le systeme reste en S0, POURQUOI ???

j'espere que j'ai été assez clair dans mes explications, merci de bien vouloir m'eclairer!

christophe.

ps: desolé pour la mise en forme du code, l'editeur de IDN à squeezé les tabulation de départ :-(
25 Octobre 2006 12:16:46

bonjour a tous, voila j'ai un petit souci de programmation et ce qui a des douee en vhdl
voila mon probleme
je dois concevoir un convertisseur digit bcd 2*4 bit vers 2* afficheurs 7 segment.les afficheurs sont multipléxes en affichage pour economiser en énergie . la vitessse de rafraichissement de l'afficheur et de 20ms
et le vitesse de cadencement de l horloge interne et de 1kHz

alors s il vous plais aider moi
bisous
15 Novembre 2006 09:03:35

j'ai vraiment besoin d'aide
si y a qu'lle qu'un qui peut m'aider sa serai vraiment tres gentil je repete mon probleme
bonjour a tous, voila j'ai un petit souci de programmation et ce qui a des douee en vhdl
voila mon probleme
je dois concevoir un convertisseur digit bcd 2*4 bit vers 2* afficheurs 7 segment.les afficheurs sont multipléxes en affichage pour economiser en énergie . la vitessse de rafraichissement de l'afficheur et de 20ms
et le vitesse de cadencement de l horloge interne et de 1kHz

alors s il vous plais aider moi
bisous
15 Novembre 2006 11:22:37

Bonjour tlm
I’m new in this forum and also in using SystemC.
Il faut dire que je démarre fort avec systemC pq je suis entrain de simuler une archi multiprocesseur. Pour le moment pour simuler des choses sur systemC j’écris un pseudo code dans un fichier texte que je parse pendant la simul et en fonction de l’instruction que j’avais moi-même défini au préalable je communique avec les autres modules de l’architecture je fais mes synchro et des wait pour attendre les com ainsi que les exécutions.
Ce que je veux faire (on y arrive enfin :)  :)  ) : intégrer une exécution d’un code C au saint de la simulation ; afin de valider et mon archi et le code exécuté sur l’archi. Je récupérerai donc a la fin de la simul : les traces d’exécution + le résultat du code.
J’espère que quelqu’un pourrait m’aider ou m’orienter vers une doc qui expliquerai une telle démarche.

Merci a tous et à bientôt :)  .
6 Décembre 2006 13:34:03

je veux bien t'aider car je connais un gars qui si connais tres bien sur l'architetcture du systemC mais avant aide moi mon probleme est le suivant:

je dois concevoir un convertisseur digit bcd 2*4 bit vers 2* afficheurs 7 segment.les afficheurs sont multipléxes en affichage pour economiser en énergie . la vitessse de rafraichissement de l'afficheur et de 20ms
et le vitesse de cadencement de l horloge interne et de 1kHz
28 Décembre 2006 21:49:32

Bonjour,

Je suis l'auteur d'un outils EDA qui pourrai vous interreser.
Visitez www.visualipd.com
vous pouvez obtenir votre copy d'evaluation


Cordiallement

Mlikao
17 Janvier 2007 11:34:43

c'est vraiment une tres bonne initiative de votre part, d'habitude on cours après une aide, cette fois ci c'est vous qui la proposez, ça me touche beaucoup. merci
moi je suis une post graduante,je travaille avec le vhdl pour concevoi un circuit microelectronique.je suis vraiment au début de mes recherches,j'utilise le logiciel Hamster pour programmer en vhdl-ams, or, pour s'initier j'essaie d'écrire des mini-programmes tres simples,une fois compilés, je ne sais où pourrais-je récupérer les résultats(graphes, ou mèmes valeurs calculées).
je serais vraiment reconnaissante si vous me servirerez de la moindre aide.
merci d'avance
2 Février 2007 03:17:37

Bonsoir a tous,

J'aurais aimé savoir si ce sujet est toujours d'actualité.
J'ai un projet a faire en Verilog et l'aurais aimé savoir si il y avait des personnes compétentes dans ce domaines dans le cas ou j'aurais besoin d'aide.

MErci beaucoup
Thomas
28 Février 2007 16:18:45

Dans la série VHDL j'ai une question.
J'instancie un composant qu'on nommera Comp1 dans l'architecrure arch1 de l'entity ent1.

Ent1 est instancié plusieurs fois dans un module et ce en utilisant une boucle generate.

Je voulais etre capable pour chaque appel de ent1 dans ce generate d'appeler un comp1 dont l'entity est identique mais dont l'architecture est différente. j'ai plein d'architecture pour ce meme comp1 et je veux pas me prendre la tete à aller retoucher le code à chaque fois que je modifie ma boucle generate.

Je pensais faire une configuration qui appelle une architecture différente de comp1 différente pour chaque module.
Mais comment que je l'écris cette configuration.
quelqu'un aurait il un exemple de conf qui appelle descomposants qui contiennent des generate????
Abdoujaparov
9 Mars 2007 10:24:03

bonjour les ptits génies !
bon voila chui nouveau sur ce forum qui a l'air très très intressant , je viens juste de debuter mon PFE
sur les systeme embarqués (SoC) , exactement je vais faire l'affaire sur la plateforme fpga spartant3
de xilinx en utilisant le VHDL .
mon idée est de faire visualiser mon site web en local tout en utilisant la tech FPGA et VHDL .
j'ai beaucoup de qs à vous poser esperant que vs m'aiderez !
1 * le microblaze (processeur) a quel degré me pourrait etre utile ?
2 * est il possible a l'aide du VHDL d'implanter tout un logiciel de dessain par exp sur FPGA ? ou faut
il avant implanter un sys d'exploitation tq le (RTOS) ?
3 * suppoant qu'on a le sys d'exp WIN XP deja sur un module USB ou une rom externe , est il possible
de concevoir un prog VHDL qui y pt booter directement ?
4 * qui a une idée sur le RTOS ?
5 * j'ai pu programmer plusieurs application en vhdl ( affichage VGA , clavier , souris ... ) sans avoir
recours au processeur microblaze ou le RTOS .
====> mon pb c ke j'ai pas les idées claires concernant ces derniers ...
merci d'avance !
16 Avril 2007 19:33:04

bonjour
je suis débutant en VHDL, et je trouve des difficulter a résoudre certains problemes liée a la realisation d'une exponentielle et d'une division qui devra donner une résultat en virgule flottante
merci pour toute suggestion
18 Juillet 2007 09:17:59

Bonjour,

Je sais pas si ya encore du monde qui s'interesse à ce sujet...

abdou :
http://eng.auburn.edu/department/ee/mgc/vhdl.html
"for ALL: comp1 use entity work.comp1 (equations);"
Avec cette ligne, tu dis o compilo quelle archi tu veux.
Ce que tu peux faire, c'est creer un tableau qui reference toutes les archi que tu as pour ton composant et le parcourir dans ta boucle generate. Je pourrai te retrouver un exemple si ça t'interesse toujours.

dajjou :
A priori, sur les dernières générations de virtex (pour Xilinx), ils ont embarqué des coeurs PowerPC assez performants. Une appli comm windaube, (windows, pardon^^), c'est très lourd (car inadapté à l'embarqué) et je ne pense pas que le FPGA soit assez costaud. Cependant, une distri de Linux embarqué légère peut suffir à te fournir un noyau qui pourrait faire tourner ton appli dessin. Quelle RTOS, je ne sais pas mais si vous avez des infos, ça m'interesse.

maxllm :
Perso, j'aurais utilisé un developpement limité en représentant mes polynomes avec des vecteurs. Comment fais-tu?
6 Juillet 2009 00:02:27

Bonjour,

je dois coder un programme en vhdl mais je ne suis pas super doué. J'ai une idee de comment faire mais c'est plus au niveau de la syntaxe et de ce que je dois mettre dans le code que j'ai des problèmes.
Mon travail est le suivant:

Je dois relier 2 composants : l'un ayant 32 bits en sortie + des bits de controle
l'autre ayant 16 bits en entrée
A la sortie du premier composant je voudrais stocker les résultats dans une mémoire de 5* 16 bits ( 4 * 16 bits pour les données -st 2 messages- et 1* 16 bits pour les bits de contrôle. -des 2 messages-... je fais 5*16 bits plutot que 3*16 bits car il n'y a que 2 ou 3 bits de contrôle par message de 32 bits donc ainsi j'optimise un peu plus l'espace mémoire) et envoyer ces 5 paquets à l'entree du second composant mais je ne sais pas comment m'y prendre pour écrire ce code. Quelqu'un aurait -il une piste pour m'aider?

14 Juillet 2009 21:59:44

Salut,
Je suis un étudiant en école d'ingénieurs, et je connais un peu en vhdl.
Alors je te propose d'abord de faire une figure au niveau RTL,
c'est à dire de dessiner les composants en tant que blocs, et de mettre tous les entrées et sorties;( Pour qu'on puisse mieux comprendre le sujet).
Après, on va décider quelle procédé on va suivre.
Si j'ai bien compris le sujet on aura recours à une FSM (Machine d'états),
A+
18 Septembre 2009 14:21:09

salut a vous
je voudrais programmer une calculatrice avec le systemc.
je sais que c'esu une API avec des classes c++
mais je n'ai aucune idée par ou commencer et quoi faire.
merci de bien vouloir m'aider
21 Septembre 2009 22:08:40

Bah moi je programme un petit peu mon propre OS mais je galère sur la programmation du driver USB, tu pourrais m'expliquer vite fait stp ? (il manque de docs qui ne soient pas des blocs de 500 pages)
24 Septembre 2009 00:34:36

tofazorinou ?? Tu ne réponds pas, ce n'est pas dans tes compétences ??
Anonyme
10 Août 2010 16:33:06

bonjour
je me retrouve avec un code contenant deux parties; une partie développée en c++ et c# et l autre partie de la solution est développée en VHDL. j aimerais bien savoir comment faire migrer la partie developpée en vhdl en c++ d une part :??: , et d'autre part quelle serait le plus de point de vue optimisation!!merci d'avance
20 Avril 2015 12:37:12

Bonjour,
Je suis entrain de chercher un outil qui me permet de convertir un code du C++ en vhdl et ils m'ont conseillé de voir sur SystemC mais j'ai pas arrivé à l'exploiter.
De plus, je peux savoir si je peux faire cette conversion avec cet outil.
Pouvez_vous m'aider svp??
Merci d'avance
Contenus similaires
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS