<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1524143440886935943</id><updated>2011-07-28T12:22:07.005-07:00</updated><category term='matlab'/><category term='fpga'/><category term='OpenLaszlo'/><category term='DAC08'/><category term='banc test mémoire'/><category term='quartus'/><category term='commande tension'/><category term='prologue'/><category term='stratix'/><category term='7-segment'/><category term='bcd'/><category term='altera'/><category term='ascii'/><category term='wordpress'/><category term='vhdl'/><category term='binary'/><title type='text'>DevBlog</title><subtitle type='html'>Mon developement-blog en Français. J'essaie d'y mettre tout ce que je peux faire : du développement materiel à la programmation web.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tezan.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1524143440886935943/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tezan.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/00630894512413946639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1524143440886935943.post-7910247288579632253</id><published>2008-01-31T00:37:00.000-08:00</published><updated>2008-01-31T00:44:00.091-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='prologue'/><title type='text'>Traduction du thème Prologue (Twitter-like sous Wordpress)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.blog-netgear.com/wp-content/uploads/2007/10/wordpress1.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 104px; height: 104px;" src="http://www.blog-netgear.com/wp-content/uploads/2007/10/wordpress1.png" alt="" border="0" /&gt;&lt;/a&gt;Depuis quelque jours on entend parler &lt;a href="http://feeds.feedburner.com/%7Er/francaistechcrunch/%7E3/225085817/"&gt;ici&lt;/a&gt; et &lt;a href="http://iammattthomas.com/journal/prologue"&gt;là&lt;/a&gt; (et ailleurs... :) ) de "Prologue" une nouvelle plateforme de blogging collectif proposée par &lt;a href="http://automattic.com/"&gt;Automattic&lt;/a&gt; (la société commerciale qui exploite Wordpress). En fait Prologue "n'est qu'un" thème de Wordpress permettant à plusieurs utlisateurs d'un même groupe (de travail, d'ami, d'une famille, etc..) de poster des billets assez courts un peu à la manière d'un Twitter.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://perso.espace.free.fr/blog/wp-content/prologuefr.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://perso.espace.free.fr/blog/wp-content/prologuefr.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Le fait de s'appuyer sur un plateforme Wordpress confère, de fait, à Prologue des possibiltés d'administration et de configuration assez avancées.&lt;br /&gt;&lt;br /&gt;J'ai essayé d'en faire une traduction en Français hier soir. Je ne suis pas exactement sûr de respecter les droits de copyright des gars de Automattic (un mail est parti histoire de tirer tous ça au clair...) mais en attendant PrologueFr 1.2 est dispo ici : &lt;a href="http://perso.espace.free.fr/blog/wp-content/prologuefr.zip"&gt;PrologueFr_v1_2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;N'hésitez pas à faire signe si vous trouvez que, par endroit, ma traduction est malheureuse ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1524143440886935943-7910247288579632253?l=tezan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tezan.blogspot.com/feeds/7910247288579632253/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1524143440886935943&amp;postID=7910247288579632253' title='42 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1524143440886935943/posts/default/7910247288579632253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1524143440886935943/posts/default/7910247288579632253'/><link rel='alternate' type='text/html' href='http://tezan.blogspot.com/2008/01/traduction-du-thme-prologue-twitter.html' title='Traduction du thème Prologue (Twitter-like sous Wordpress)'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/00630894512413946639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>42</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1524143440886935943.post-4759072782493679656</id><published>2007-08-08T08:09:00.000-07:00</published><updated>2007-08-08T08:19:15.431-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='binary'/><category scheme='http://www.blogger.com/atom/ns#' term='ascii'/><category scheme='http://www.blogger.com/atom/ns#' term='matlab'/><category scheme='http://www.blogger.com/atom/ns#' term='vhdl'/><title type='text'>Génération d'un transcodeur VHDL ASCII vers binaire à l'aide de Matlab</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://tbn0.google.com/images?q=tbn:luK1qGow7LqmwM:http://keith.hostmatrix.org/testbed/wp-content/uploads/2006/07/matlab_logo.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 111px; height: 83px;" src="http://tbn0.google.com/images?q=tbn:luK1qGow7LqmwM:http://keith.hostmatrix.org/testbed/wp-content/uploads/2006/07/matlab_logo.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;Comme précedement pour le &lt;a href="http://tezan.blogspot.com/2007/07/ralisation-dun-transcodeur-binaire-bcd.html"&gt;transcodeur Binaire-BCD&lt;/a&gt;, on peut utiliser Matlab pour générer du code en VHDL.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://tezan2.blogspot.com/2007/08/using-matlab-to-generate-vhdl-ascii-to.html"&gt;&lt;span style="font-family:arial;"&gt;Explication détaillée en anglais ici.&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Le script Matlab :&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;"&gt;FileID = fopen('transcoderASCII2Binary.h','w');&lt;br /&gt;&lt;br /&gt;fprintf(FileID, '\t\tcase char is\n');&lt;br /&gt;&lt;br /&gt;for i=32:127&lt;br /&gt;fprintf(FileID, '\t\t when ''%s''=&gt; \n\t\t\t data &lt;= "%s"; \n',char(i), dec2bin(i,8)); end fprintf(FileID, '\t\t when others =&gt; \n\t\t\t data &lt;= "00000000"; \n'); fprintf(FileID, 'end case;'); fclose(FileID);  &lt;span style="font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;Le résultat :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:arial;"&gt;        &lt;/span&gt;case char is&lt;br /&gt;    when ' '=&gt;&lt;br /&gt;        data &lt;= "00100000";        &lt;br /&gt;when '!'=&gt;&lt;br /&gt;        data &lt;= "00100001";        &lt;br /&gt;when '"'=&gt;&lt;br /&gt;        data &lt;= "00100010";        &lt;br /&gt;when '#'=&gt;&lt;br /&gt;        data &lt;= "00100011";        &lt;br /&gt;when '$'=&gt;&lt;br /&gt;        data &lt;= "00100100";        &lt;br /&gt;[............]          &lt;br /&gt;when '~'=&gt;&lt;br /&gt;        data &lt;= "01111110";        &lt;br /&gt;when ''=&gt;&lt;br /&gt;        data &lt;= "01111111";        &lt;br /&gt;when others =&gt;&lt;br /&gt;        data &lt;= "00000000";&lt;br /&gt;end case;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1524143440886935943-4759072782493679656?l=tezan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tezan.blogspot.com/feeds/4759072782493679656/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1524143440886935943&amp;postID=4759072782493679656' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1524143440886935943/posts/default/4759072782493679656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1524143440886935943/posts/default/4759072782493679656'/><link rel='alternate' type='text/html' href='http://tezan.blogspot.com/2007/08/gnration-dun-transcodeur-vhdl-ascii.html' title='Génération d&apos;un transcodeur VHDL ASCII vers binaire à l&apos;aide de Matlab'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/00630894512413946639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1524143440886935943.post-8094416933159387842</id><published>2007-07-18T05:20:00.000-07:00</published><updated>2007-07-18T05:40:24.342-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fpga'/><category scheme='http://www.blogger.com/atom/ns#' term='quartus'/><category scheme='http://www.blogger.com/atom/ns#' term='7-segment'/><category scheme='http://www.blogger.com/atom/ns#' term='altera'/><category scheme='http://www.blogger.com/atom/ns#' term='bcd'/><title type='text'>Réalisation d'un transcodeur binaire-BCD 8 bit :</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.marubun.co.jp/product/semicon/asic/qgc18e0000001qeu-img/qgc18e0000001qfg.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://www.marubun.co.jp/product/semicon/asic/qgc18e0000001qeu-img/qgc18e0000001qfg.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;Afin d'exploiter pleinement les deux afficheurs 7-segments de la carte de développement FPGA, j'ai besoin d'un décodeur binaire-BCD 8 bit. Couplé à un convertisseur "BCD to 7seg" du type 74248, il me permettra d'afficher des nombres décimaux allant de 00 à 99 en utilisant les deux digits.&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:arial;"&gt;Dans un premier temps j'ai cherché bloc tout-fait mais la bibliothèque max-plus d'Altera n'offre que des convertisseurs acceptant des binaires sur 5 bit (par exemple le 74185).&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;L'idéal était donc de le créer mon propre bloc et l'ajouter dans le design. En BCD les 4 bits de poids faible codent les unitées etque les 4 bits de poids fort codent les unités. L'algorithme à suivre pour réaliser la conversion est donc assez simple :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt; - convertir le nombre binaire entrant en entier,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt; - faire la division euclidienne par 10,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt; - convertir le reste et le résultat en binaire sur 4 bits,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt; - sortir le résultat d'un coté et le reste de l'autre.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;En fait pour simplifier le code VHDL du bloc, on va réaliser une table de comparaison à l'aide d'une structure du type "case" :&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    case (nb_binaire) is&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        when "00000000"=&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            nb_BCD1 &lt;= "0000";    nb_BCD2 &lt;= "0000";     when "00000001"=&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            nb_BCD1 &lt;= "0001";    nb_BCD2 &lt;= "0000";  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       .....  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Le code est très répétitif il peut donc être généré en partie par Matlab à l'aide du script suivant :  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    FileID = fopen('transcodeur.vhdl','w');     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    x=0; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    for i=0:100      &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        resultat=floor(x./10);     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        reste=mod(x,10);          &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        fprintf(FileID, 'when "%s"=&gt; \n\t nb_BCD1 &lt;= "%s"; \n',dec2bin(x,8), dec2bin(reste,4));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        fprintf(FileID, '\t nb_BCD2 &lt;= "%s"; \n\n',dec2bin(resultat,4));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        x=x+1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    fclose(FileID);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_AKy0iW3F2V8/Rp4KIxF-WqI/AAAAAAAAAK0/YGsF0pu6EnI/s1600-h/transcodeur.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_AKy0iW3F2V8/Rp4KIxF-WqI/AAAAAAAAAK0/YGsF0pu6EnI/s320/transcodeur.jpg" alt="" id="BLOGGER_PHOTO_ID_5088515774708865698" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:arial;"&gt;Une fois le code généré on crée un nouveau bloc (.bsf) dans Quartus et on l'ajoute au design existant (ici le bloc transcodeur.vhdl est ajouté dans le bloc dédié à l'affichage).&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1524143440886935943-8094416933159387842?l=tezan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tezan.blogspot.com/feeds/8094416933159387842/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1524143440886935943&amp;postID=8094416933159387842' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1524143440886935943/posts/default/8094416933159387842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1524143440886935943/posts/default/8094416933159387842'/><link rel='alternate' type='text/html' href='http://tezan.blogspot.com/2007/07/ralisation-dun-transcodeur-binaire-bcd.html' title='Réalisation d&apos;un transcodeur binaire-BCD 8 bit :'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/00630894512413946639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_AKy0iW3F2V8/Rp4KIxF-WqI/AAAAAAAAAK0/YGsF0pu6EnI/s72-c/transcodeur.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1524143440886935943.post-7031399186175777232</id><published>2007-07-12T02:35:00.000-07:00</published><updated>2007-07-12T02:43:12.655-07:00</updated><title type='text'>Utilisation des DACs de la carte de developpement STRATIX DSP</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.marubun.co.jp/product/semicon/asic/qgc18e0000001qeu-img/qgc18e0000001qfg.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 139px; height: 104px;" src="http://www.marubun.co.jp/product/semicon/asic/qgc18e0000001qeu-img/qgc18e0000001qfg.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-weight: bold;"&gt;Le projet&lt;/span&gt; : Réaliser un banc de test mémoire permettant de mesurer différentes caractéristiques d'une mémoire (tension minmale d'alimentation, consommation, temps d'accès, etc...). Le système est implémenté sur une carte de développement FPGA : "STRATIX DSP DevKit ALTERA".&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Le carte de dévelopemmet STRATIX DSP dispose de deux convertisseurs&lt;/span&gt;&lt;span style="font-family:arial;"&gt; numériques analogiques.  Pour les utiliser, il faut connecter les sorties du FPGA aux entrée&lt;/span&gt;&lt;span style="font-family:arial;"&gt; logiques du convertisseur et également lui communiquer une horloge.&lt;/span&gt;  &lt;span style="font-family:arial;"&gt;Pour démarrer, nous allons réaliser un bloc commandé par les switchs DIP qui permet d'envoyer différents vecteurs sur les entrées de commande des CNAs :&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_AKy0iW3F2V8/RpX2ZRF-WoI/AAAAAAAAAKk/BfaNmpXC_6g/s1600-h/bloc_CNA.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_AKy0iW3F2V8/RpX2ZRF-WoI/AAAAAAAAAKk/BfaNmpXC_6g/s320/bloc_CNA.png" alt="" id="BLOGGER_PHOTO_ID_5086242268130466434" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:arial;"&gt;Le combinaison des 4 switch d'entrée va nous permettre de choisir le vecteur de commande appliqué sur les broches du DAC.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Les pins correspondant aux différentes broches du DAC sont données dans la datasheet de la carte dans le rubrique "D/A Converters"&lt;/span&gt;&lt;span style="font-family: arial;"&gt; (PIN_A21..PIN_B19) :&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_AKy0iW3F2V8/RpX2ohF-WpI/AAAAAAAAAKs/n74amLBB6mQ/s1600-h/data_DAC.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_AKy0iW3F2V8/RpX2ohF-WpI/AAAAAAAAAKs/n74amLBB6mQ/s320/data_DAC.png" alt="" id="BLOGGER_PHOTO_ID_5086242530123471506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:arial;"&gt;Il suffit donc de connecter les sorties du schéma bloc aux pins adéquates à l'aide de l' "Assignement Editor" (cf &lt;a href="http://tezan.blogspot.com/2007/06/prise-en-main-de-quartusii.html"&gt;prise en main de QuartusII &lt;/a&gt;).&lt;/span&gt;  &lt;span style="font-family:arial;"&gt;Pour communiquer le signal d'horloge, plusieurs solutions sont possibles : utiliser une PLL interne, récupérer le signal de l'oscillateur présent sur le carte (80 Mhz) et le transmettre à la broche de l'horloge du DAC (pour D/A1, PIN_AE15), [Remarque : il est parfois possible de cabler directement sur la carte l'oscillateur sur la broche d'horloge du convertisseur à l'aide des cavaliers. Ce n'est pas le cas pour les DAC sur cette carte.] Dans notre cas, une horloge interne (dérivée de l'ocsillateur externe) est déjà présente dans le système. On connectera donc cette horloge à la broche "clk" du DAC.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1524143440886935943-7031399186175777232?l=tezan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tezan.blogspot.com/feeds/7031399186175777232/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1524143440886935943&amp;postID=7031399186175777232' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1524143440886935943/posts/default/7031399186175777232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1524143440886935943/posts/default/7031399186175777232'/><link rel='alternate' type='text/html' href='http://tezan.blogspot.com/2007/07/utilisation-des-dacs-de-la-carte-de.html' title='Utilisation des DACs de la carte de developpement STRATIX DSP'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/00630894512413946639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_AKy0iW3F2V8/RpX2ZRF-WoI/AAAAAAAAAKk/BfaNmpXC_6g/s72-c/bloc_CNA.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1524143440886935943.post-7589009643398698122</id><published>2007-07-12T01:30:00.000-07:00</published><updated>2007-07-12T01:52:33.483-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='banc test mémoire'/><category scheme='http://www.blogger.com/atom/ns#' term='commande tension'/><category scheme='http://www.blogger.com/atom/ns#' term='DAC08'/><title type='text'>Commande d'une alimentation par DAC08C</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-weight: bold;"&gt;Le projet&lt;/span&gt; : Réaliser un banc de test mémoire permettant de mesurer différentes caractéristiques d'une mémoire (tension minmale d'alimentation, consommation, temps d'accès, etc...). Le système est implémenté sur une carte de développement FPGA : "STRATIX DSP DevKit ALTERA".&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:arial;"&gt;Afin de sérialiser les tests, on se doit d'automatiser l'alimentation de la mémoire et commander la tension par l'intermédiare du système embarqué sur le FPGA.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_AKy0iW3F2V8/RpXq8hF-WmI/AAAAAAAAAKU/kIiTBOs5mqg/s1600-h/schema_principe2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_AKy0iW3F2V8/RpXq8hF-WmI/AAAAAAAAAKU/kIiTBOs5mqg/s320/schema_principe2.png" alt="" id="BLOGGER_PHOTO_ID_5086229679581321826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;La solution retenue consiste à commander des convertisseurs numériques/analogiques. Dans un premier temps j'ai cherché à utiliser un composant externe à la carte de developpement FPGA (un DAC 08C) en connectant des sorties logique aux entrées de contrôle (B1 à B8).&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;La carte dispose déjà de convertisseurs numériques/analogiques mais ce montage pourrait être retenu dans le cas ou l'on souhaiterait réaliser une carte de développement et se passer des périphériques présent sur la carte de développement ALTERA&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;Le shéma utlisé est le suivant :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_AKy0iW3F2V8/RpXqRRF-WlI/AAAAAAAAAKM/K8tW1GMg5zY/s1600-h/DAC_discret.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_AKy0iW3F2V8/RpXqRRF-WlI/AAAAAAAAAKM/K8tW1GMg5zY/s320/DAC_discret.png" alt="" id="BLOGGER_PHOTO_ID_5086228936551979602" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;Ce montage permet d'obtenir une tension de référence, mais il ne permet pas de fournir une centaine de mA et d'alimenter directement la mémoire. On doit amplifier le courant de sortie et effectuer une adaptation d'impédance. Pour cela on peut utiliser un montage à base d'un AOP ou de transistors NPN.&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1524143440886935943-7589009643398698122?l=tezan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tezan.blogspot.com/feeds/7589009643398698122/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1524143440886935943&amp;postID=7589009643398698122' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1524143440886935943/posts/default/7589009643398698122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1524143440886935943/posts/default/7589009643398698122'/><link rel='alternate' type='text/html' href='http://tezan.blogspot.com/2007/07/commande-dune-alimentation-par-dac08c.html' title='Commande d&apos;une alimentation par DAC08C'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/00630894512413946639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_AKy0iW3F2V8/RpXq8hF-WmI/AAAAAAAAAKU/kIiTBOs5mqg/s72-c/schema_principe2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1524143440886935943.post-394964304354057102</id><published>2007-07-06T04:03:00.000-07:00</published><updated>2007-07-22T14:39:30.549-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenLaszlo'/><title type='text'>Exploitation d'un flux XML avec OpenLaszlo</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_AKy0iW3F2V8/Ro5pzSApvBI/AAAAAAAAAJ0/gaA0KHAqiWU/s1600-h/ol_logo_small.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_AKy0iW3F2V8/Ro5pzSApvBI/AAAAAAAAAJ0/gaA0KHAqiWU/s320/ol_logo_small.gif" alt="" id="BLOGGER_PHOTO_ID_5084117359076686866" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;&lt;a href="http://www.openlaszlo.org/"&gt;OpenLaszlo&lt;/a&gt; est un &lt;a href="http://www.openlaszlo.org/lps/laszlo-explorer/"&gt;superbe outil&lt;/a&gt; qui vous permet de générer des &lt;/span&gt;&lt;span style="font-family:arial;"&gt;applications AJAX en Flash ou DHTML à partir d'une grammaire particulière assez simple d'accès basée sur XML (chaque code est encadré par "canvas" "/canvas" et est enregisté dans un fichier ".lzx". Les fichiers .lzx exécutés par le server (Tomcat/OpenLaszlo) sont visualisable par n'importe quel navigateur web compatible Flash ou DHTML.&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:arial;"&gt;RSS et ATOM sont des technologies que j'utilise tous les jours via Netvibes, mais que je ne connais pas en détail. Je vais donc esseyer de réaliser un mini-lecteur de flux RSS (très rudimentaire dans un premier temps) à l'aide de OpnLsz.&lt;/span&gt;  &lt;span style="font-family:arial;"&gt;Première étape préciser à OpnLsz quel fichier on utilise (ici le flux atom du blog de &lt;a href="http://freddymini.blogspot.com/"&gt;Fred&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;a href="http://freddymini.blogspot.com/"&gt;dy Mini&lt;/a&gt;, qui travaille chez... Netvibes !! ;) ) : &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;" &lt;/span&gt;&lt;span style="font-family:arial;"&gt;dataset name="flux" src="emini_blog.xml"/  "&lt;/span&gt;  &lt;span style="font-family:arial;"&gt;la balise  " dataset .../ "&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:arial;"&gt;permet d'assoncier un "name" et un chemin "src". Ici le ficher est en local sur le serveur mais on peut imaginer mettre une &lt;/span&gt;&lt;span style="font-family:arial;"&gt;adresse http://www.etc.. &lt;/span&gt;&lt;span style="font-family:arial;"&gt;Ensuite on organise les données de façon sommaire :&lt;/span&gt;    &lt;span style="font-family:arial;"&gt;En précisant &lt;/span&gt;&lt;simplelayout style="font-family: arial;" axis="y"&gt; OpnLszo va directement sérialiser l'affichage des items. Inutile de faire de boucle  "for". &lt;/simplelayout&gt;&lt;simplelayout style="font-family: arial;" axis="y"&gt;On récupère ici les informations portant sur :&lt;/simplelayout&gt;&lt;br /&gt;&lt;simplelayout style="font-family: arial;" axis="y"&gt;- la date de publication,&lt;/simplelayout&gt;&lt;br /&gt;&lt;simplelayout style="font-family: arial;" axis="y"&gt;- le titre,&lt;/simplelayout&gt;&lt;br /&gt;&lt;simplelayout style="font-family: arial;" axis="y"&gt;- le contenu du post.&lt;/simplelayout&gt;&lt;br /&gt;&lt;simplelayout style="font-family: arial;" axis="y"&gt;&lt;/simplelayout&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_AKy0iW3F2V8/Ro5pJSApu_I/AAAAAAAAAJk/r37hXFhBDmc/s1600-h/rss_laszlo1.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_AKy0iW3F2V8/Ro5pJSApu_I/AAAAAAAAAJk/r37hXFhBDmc/s320/rss_laszlo1.png" alt="" id="BLOGGER_PHOTO_ID_5084116637522181106" border="0" /&gt;&lt;/a&gt;&lt;simplelayout style="font-family: arial;" axis="y"&gt;Le résultat obtenu mérite d'être remis en forme. On peut commencer par mettre l'ensemble dans un fenêtre à l'aide des balise " window " et " /window ". L'imbrication des " view " permttra d'afficher le résultat proprement en évitant les problèmes de superposition des éléments (les éléments déclarés les derniers sont au dessus et réciproquement).&lt;/simplelayout&gt;&lt;br /&gt;&lt;simplelayout style="font-family: arial;" axis="y"&gt;&lt;/simplelayout&gt;&lt;/div&gt;&lt;simplelayout style="font-family: arial;" axis="y"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;code&amp;gt;&lt;br /&gt;&amp;lt;canvas&amp;gt;&lt;br /&gt;&amp;lt;dataset name="flux"&lt;br /&gt;request="true" type="http"&lt;br /&gt;src="http://feeds.feedburner.com/emini_blog"/&amp;gt;&lt;br /&gt;&amp;lt;view id="main"&amp;gt;&lt;br /&gt;&amp;lt;window id="content" width="950" height="450" x="10" y="10" resizable="true" title="Flux"&amp;gt;&lt;br /&gt;&amp;lt;view&amp;gt;&lt;br /&gt;&amp;lt;simplelayout axis="y"/&amp;gt;&lt;br /&gt;&amp;lt;view datapath="flux:/feed/entry"&amp;gt;&lt;br /&gt;&amp;lt;simplelayout axis="y"/&amp;gt;&lt;br /&gt;&amp;lt;text datapath="published/text()" width="900"/&amp;gt;&lt;br /&gt;&amp;lt;text datapath="title/text()" fontstyle="bold" fontsize="15" width="900"/&amp;gt;&lt;br /&gt;&amp;lt;text datapath="content/text()" multiline="true" width="900" fontsize="12"/&amp;gt;&lt;br /&gt;&amp;lt;text&amp;gt; &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt; &amp;lt;/text&amp;gt;&lt;br /&gt;&amp;lt;text&amp;gt; &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt; &amp;lt;/text&amp;gt;&lt;br /&gt;&amp;lt;/view&amp;gt;&lt;br /&gt;&amp;lt;/view&amp;gt;&lt;br /&gt;&amp;lt;scrollbar axis="y"/&amp;gt;&lt;br /&gt;&amp;lt;/window&amp;gt;&lt;br /&gt;&amp;lt;/view&amp;gt;&lt;br /&gt;&amp;lt;/canvas&amp;gt;&lt;br /&gt;&amp;lt;/code&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/simplelayout&gt;&lt;simplelayout style="font-family: arial;" axis="y"&gt;&lt;br /&gt;&lt;/simplelayout&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_AKy0iW3F2V8/Ro5pniApvAI/AAAAAAAAAJs/xKkHcXnk4Jo/s1600-h/rss_laszlo2.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_AKy0iW3F2V8/Ro5pniApvAI/AAAAAAAAAJs/xKkHcXnk4Jo/s320/rss_laszlo2.png" alt="" id="BLOGGER_PHOTO_ID_5084117157213223938" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;Pour lire un flux en ligne, il suffit de modifier le " dataset " :&lt;/span&gt; &lt;simplelayout axis="y"&gt;   &lt;span style="font-family:arial;"&gt;La grammaire XML de OpenLaszlo est assez intutive et elle permet d'avancer assez rapidement même en tatonnant.&lt;/span&gt; &lt;span style="font-family:arial;"&gt;Le résultat &lt;/span&gt;&lt;/simplelayout&gt;&lt;simplelayout axis="y"&gt;&lt;span style="font-family:arial;"&gt;obtenu est biensûr très sommaire (il faudrait a&lt;/span&gt;&lt;/simplelayout&gt;&lt;simplelayout axis="y"&gt;&lt;span style="font-family:arial;"&gt;u moins ajouter la sauvegardes des flux et la mise automatique et la comptibilité RSS dont la grammaire est différente de RSS) mais c'est une bonne base de départ.&lt;/span&gt;   &lt;span style="font-family:arial;"&gt;Tous les scripts peuvent être testés en ligne &lt;/span&gt;&lt;a style="font-family: arial;" href="http://www.openlaszlo.org/lps/laszlo-explorer/"&gt;ici&lt;/a&gt;&lt;span style="font-family:arial;"&gt;.&lt;br /&gt;&lt;br /&gt;Mise à jour : c'est vraiement galère d'afficher du code dans blogspot. Le code de Laslo a été converti là : http://www.stanford.edu/~bsuter/js/convert.html .&lt;br /&gt;&lt;/span&gt;&lt;/simplelayout&gt;&lt;div style="text-align: justify;"&gt;&lt;simplelayout axis="y"&gt;&lt;/simplelayout&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1524143440886935943-394964304354057102?l=tezan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tezan.blogspot.com/feeds/394964304354057102/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1524143440886935943&amp;postID=394964304354057102' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1524143440886935943/posts/default/394964304354057102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1524143440886935943/posts/default/394964304354057102'/><link rel='alternate' type='text/html' href='http://tezan.blogspot.com/2007/07/exploitation-dun-flux-xml-avec.html' title='Exploitation d&apos;un flux XML avec OpenLaszlo'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/00630894512413946639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_AKy0iW3F2V8/Ro5pzSApvBI/AAAAAAAAAJ0/gaA0KHAqiWU/s72-c/ol_logo_small.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1524143440886935943.post-8457605529278308031</id><published>2007-06-25T06:12:00.000-07:00</published><updated>2007-06-28T06:09:18.428-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fpga'/><category scheme='http://www.blogger.com/atom/ns#' term='stratix'/><category scheme='http://www.blogger.com/atom/ns#' term='quartus'/><title type='text'>Prise en main de QuartusII</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.marubun.co.jp/product/semicon/asic/qgc18e0000001qeu-img/qgc18e0000001qfg.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 139px; height: 104px;" src="http://www.marubun.co.jp/product/semicon/asic/qgc18e0000001qeu-img/qgc18e0000001qfg.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Si (comme moi) vous découvrez Quartus, voici quelques éléments pour prendre en main QuartusII quelques minutes :&lt;/span&gt; &lt;div style="text-align: justify;"&gt;&lt;span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;Création d'un projet :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span style="font-family:arial;"&gt;Un projet sous QuartusII est un ensemble de fichiers contenant la configuration du design, le &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-family:arial;"&gt;design lui même et la hiérachie des différents composants qui le composent. "New Project WIzard" accessible dans le menu "File" permet la création d'un nouveau projet ou la reprise d'un projet existant.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;span style="font-family:arial;"&gt;Création d'un bloc (.bdf) :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_AKy0iW3F2V8/RoOoNiApupI/AAAAAAAAAGw/1ltrqcTZY78/s1600-h/new.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 214px; height: 197px;" src="http://1.bp.blogspot.com/_AKy0iW3F2V8/RoOoNiApupI/AAAAAAAAAGw/1ltrqcTZY78/s320/new.jpg" alt="" id="BLOGGER_PHOTO_ID_5081089755025357458" border="0" /&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-family:arial;"&gt;Quartus permet la conception de système à partir de fichiers verilog (.v) et VHDL (.vhdl) mais il permet aussi (comme sous MAX+Plus II) de concevoir un système par assemblge de schémas blocs. Chaque bloc est associé à un fichier .bdf (Block Design  File). Pour créer un nouveau bloc il suffit de cliquer sur "New" dans "File", de sélectionner "Block Diagram/Schematic File" et de cliquer sur "OK". Un onglet d'édition de blocs est alors ouvert dans le cadre principal.&lt;br /&gt;Pour l'enregister ("File"/"Save As") il faut vérifier que la &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-family:arial;"&gt;case "Add File to Current Project" soit bien cochée.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;img src="file:///d:/profils/tezan/LOCALS%7E1/Temp/moz-screenshot.jpg" alt="" /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_AKy0iW3F2V8/RoOo3yApuqI/AAAAAAAAAG4/n6vUYJrfRH0/s1600-h/tool.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_AKy0iW3F2V8/RoOo3yApuqI/AAAAAAAAAG4/n6vUYJrfRH0/s320/tool.jpg" alt="" id="BLOGGER_PHOTO_ID_5081090480874830498" border="0" /&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-family:arial;"&gt;La créartion d'un bloc est assez intuitive. L'outils "Block Tool" de la barre d'outils située à gauche, permet de créer un nouveau bloc par "glisser -déposer". Un clic droit sur le bloc et un clic sur "Block Properties" permet d'accéder aux propriétes du bloc (nom, entrée/sorties,etc...).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;span style="font-family:arial;"&gt;Insertion de "Primitive Symbols"  et de "Megafunctions" :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span style="font-family:arial;"&gt;QuartusII inlcut une bibliothèque de bloc de bases (bascules, compteurs, etc,..). Cette bibliothèque est accessible en double cliquant avec le pointeur de sélection dans un espace vide de la fenêtre d'édition de bloc.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;span style="font-family:arial;"&gt;L'insertion de "Megafunctions" (blocs de bases un peu plus évolués) se fait à l'aide du "Mega Wizard Plug In Manager". Il est également accessible en double-cliquant dans un espace vide de la fenêtre. En bas de la fenêtre "Symbol", le bouton "Mega Wizard Plug-in Manager" ouvre l'assistant. Il suffit ensuite de se laisser guider par l'assistant.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_AKy0iW3F2V8/RoOqESApurI/AAAAAAAAAHA/pluG-lMCK_c/s1600-h/symbol.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_AKy0iW3F2V8/RoOqESApurI/AAAAAAAAAHA/pluG-lMCK_c/s200/symbol.jpg" alt="" id="BLOGGER_PHOTO_ID_5081091795134823090" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_AKy0iW3F2V8/RoOqEiApusI/AAAAAAAAAHI/M9wW5HP6lkE/s1600-h/wizard.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_AKy0iW3F2V8/RoOqEiApusI/AAAAAAAAAHI/M9wW5HP6lkE/s200/wizard.jpg" alt="" id="BLOGGER_PHOTO_ID_5081091799429790402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;&lt;span style="font-family:arial;"&gt;Une fois les différents blocs en place, il faut encore ajouter les entrées et les sorties (à partir du dossier I/O dans la fenêtre  symbole) et connecter les différents blocs.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;span style="font-family:arial;"&gt;Compilation vers la cible :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span style="font-family:arial;"&gt;Le jusqu'à maintenant nous sommes intéressé au design sans tenir compte de la cible. Il faut spécifier au compilateur le FPGA ciblé, lui préciser les contraintes de compilation (vitesse, surface,...) et affecter chaque ports du schéma bloc aux pins du circuit.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_AKy0iW3F2V8/RoOq6iAputI/AAAAAAAAAHQ/tVQB-_788jQ/s1600-h/settings.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_AKy0iW3F2V8/RoOq6iAputI/AAAAAAAAAHQ/tVQB-_788jQ/s200/settings.jpg" alt="" id="BLOGGER_PHOTO_ID_5081092727142726354" border="0" /&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-family:arial;"&gt;Une partie des options est accessible depuis le menu "Assignement" puis "Settings" :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span style="font-family:arial;"&gt; - spécifier la cible : "Device";&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span style="font-family:arial;"&gt; - réglage de la compilation : "Compilation Process Settings";&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span style="font-family:arial;"&gt; - contraintes de compilation : "Analysis &amp; Synthesis Settings"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;br /&gt;Définitions des pins :&lt;br /&gt;Une fois le desing terminé il faut relier les pins du .bdf (indentifés par le nom qu'on leur a donné) aux pins du circuit. Par un clic droit sur le pin du .bdf, on accède au menu "Locate" on choisit "Locate in Assignement Editor". Dans la fenêtre "Assignement Editor" on précise "Location" dans la colone "Assignment Name" et on définit le pin de sortie dans la colone "Value".&lt;br /&gt;Les pin de sortie sont identifié par une (deux) lettre(s) et un nombre. La fenêtre "Pin Planner" donne permet de connaître le positionnement de chaque pin sur le packge.&lt;br /&gt;Dans le cas ou l'on utilise une carte de developpement, les correspondances pin/périphériques sont définies dans la datasheet de la carte.&lt;br /&gt;&lt;br /&gt;Remarques : les différents éditeurs présentés ci-dessus sont accessible par des raccourcis au-dessus du cadre principal.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_AKy0iW3F2V8/RoOvSiApuuI/AAAAAAAAAHY/WUdR7YJo0sA/s1600-h/raccourcis.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_AKy0iW3F2V8/RoOvSiApuuI/AAAAAAAAAHY/WUdR7YJo0sA/s200/raccourcis.jpg" alt="" id="BLOGGER_PHOTO_ID_5081097537506097890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Voilà, vous en savez autant que moi ;). J'ajoute qu'&lt;/span&gt;un &lt;span style="font-family:arial;"&gt;tutoriel complet est accessible dans le menu "Help" rubrique "Tutorial".  Comme tout IDE, la prise en main de quartus vient avec la pratique (lieu commun...). Mais n'hésitez pas à jetter  un coup d'oeil dans  l'aide, qui est plutôt bien documentée, si vous bloquez.&lt;br /&gt;&lt;br /&gt;Bon courage !!&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1524143440886935943-8457605529278308031?l=tezan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tezan.blogspot.com/feeds/8457605529278308031/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1524143440886935943&amp;postID=8457605529278308031' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1524143440886935943/posts/default/8457605529278308031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1524143440886935943/posts/default/8457605529278308031'/><link rel='alternate' type='text/html' href='http://tezan.blogspot.com/2007/06/prise-en-main-de-quartusii.html' title='Prise en main de QuartusII'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/00630894512413946639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_AKy0iW3F2V8/RoOoNiApupI/AAAAAAAAAGw/1ltrqcTZY78/s72-c/new.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
