<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://www.alse.fr/spip.php?page=backend.xslt" ?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>Formations ALSE (France)</title>
	<link>https://www.alse.fr/</link>
	<description>Leader en France des Formations FPGA &amp; HDL.</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://www.alse.fr/spip.php?id_rubrique=1&amp;page=backend" rel="self" type="application/rss+xml" />

	<image>
		<title>Formations ALSE (France)</title>
		<url>https://www.alse.fr/sites/alse.fr/local/cache-vignettes/L144xH42/siteon0-f94c5.png?1782754102</url>
		<link>https://www.alse.fr/</link>
		<height>42</height>
		<width>144</width>
	</image>



<item xml:lang="fr">
		<title>Bonne Ann&#233;e !</title>
		<link>https://www.alse.fr/Bonne-Annee.html</link>
		<guid isPermaLink="true">https://www.alse.fr/Bonne-Annee.html</guid>
		<dc:date>2025-01-08T08:36:38Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		
		



		<description>
&lt;p&gt;https://alse-fr.com Toute l'&#233;quipe A.L.S.E vous pr&#233;sente ses Meilleurs Voeux&#8230; &#8230;en attendant de vous accompagner dans vos Projets FPGA et Syst&#232;mes embarqu&#233;s ! Notez notre nouvelle adresse ! ALSE 38b avenue Ren&#233; Coty 75014 PARIS +33 (0)1 84 16 32 32 - FPGA.fr - ALSE.fr&lt;/p&gt;


-
&lt;a href="https://www.alse.fr/-NewsLetter-.html" rel="directory"&gt;NewsLetter&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;div class='spip_document_151 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href=&#034;https://alse-fr.com&#034; class=&#034;spip_out spip_doc_lien&#034;&gt; &lt;img src='https://www.alse.fr/sites/alse.fr/local/cache-vignettes/L500xH348/hny2026balse800-b0159.jpg?1782754102' width='500' height='348' alt=' ' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Toute l'&#233;quipe A.L.S.E vous pr&#233;sente ses Meilleurs Voeux&#8230;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&#8230;en attendant de vous accompagner dans vos &lt;a href=&#034;https://www.alse-fr.com&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Projets FPGA et Syst&#232;mes embarqu&#233;s&lt;/a&gt; !&lt;/p&gt;
&lt;p&gt;Notez notre &lt;strong&gt;nouvelle adresse&lt;/strong&gt; !&lt;/p&gt;
&lt;p&gt;ALSE 38b avenue Ren&#233; Coty 75014 PARIS&lt;br class='manualbr' /&gt;+33 (0)1 84 16 32 32 - &lt;abbr title=&#034;Field Programmable Gate Array. Composants &#233;lectroniques standard que l'utilisateur &#171; personnalise &#187; en utilisant des langages HDL pour impl&#233;menter des fonctions logiques sp&#233;cifiques de son choix. Un fichier de programmation permet (souvent &#224; la mise sous tension) au composant de se configurer et d'avoir le fonctionnement voulu par le concepteur.&#034;&gt;FPGA&lt;/abbr&gt;.fr - ALSE.fr&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>V&#233;rification</title>
		<link>https://www.alse.fr/Verification-111.html</link>
		<guid isPermaLink="true">https://www.alse.fr/Verification-111.html</guid>
		<dc:date>2023-01-05T13:53:08Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		
		<enclosure url="https://www.alse.fr/sites/alse.fr/IMG/logo/uvmcode_1920-2.jpg" length="352443" type="image/jpeg" />


		<dc:subject>CycloShow</dc:subject>

		<description>&lt;p&gt;Depuis toujours, la V&#233;rification est la partie dominante et la plus co&#251;teuse des projets ASIC. &lt;br class='manualbr' /&gt;Mais c'est d&#233;sormais le cas de la plupart des projets FPGAs ! Langages, M&#233;thodologies, Comp&#233;tences, Outils&#8230;&lt;br class='manualbr' /&gt;Nous avons les formations (et les services) pour vous aider.&lt;/p&gt;

-
&lt;a href="https://www.alse.fr/-Fourre-tout-.html" rel="directory"&gt;Fourre-tout&lt;/a&gt;

/ 
&lt;a href="https://www.alse.fr/+-CycloShow-+.html" rel="tag"&gt;CycloShow&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://www.alse.fr/sites/alse.fr/local/cache-vignettes/L150xH50/uvmcode_1920-2-2002f.jpg?1782754103' class='spip_logo spip_logo_right' width='150' height='50' alt=&#034;&#034; /&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Pourquoi se former ?</title>
		<link>https://www.alse.fr/Pourquoi-se-former.html</link>
		<guid isPermaLink="true">https://www.alse.fr/Pourquoi-se-former.html</guid>
		<dc:date>2023-01-05T13:21:40Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		
		<enclosure url="https://www.alse.fr/sites/alse.fr/IMG/logo/keeplearning_1920.jpg" length="416479" type="image/jpeg" />


		<dc:subject>CycloShow</dc:subject>

		<description>&lt;p&gt;Pour acc&#233;der &#224; des m&#233;tiers passionnants&#8230; avec un profil tr&#232;s recherch&#233; ! ou pour faire du meilleur travail, plus facilement.&lt;/p&gt;
&lt;p&gt;&lt;em class=&#034;spip&#034;&gt;Keep Learning !&lt;/em&gt;&lt;/p&gt;

-
&lt;a href="https://www.alse.fr/-Fourre-tout-.html" rel="directory"&gt;Fourre-tout&lt;/a&gt;

/ 
&lt;a href="https://www.alse.fr/+-CycloShow-+.html" rel="tag"&gt;CycloShow&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://www.alse.fr/sites/alse.fr/local/cache-vignettes/L150xH84/keeplearning_1920-89052.jpg?1782754103' class='spip_logo spip_logo_right' width='150' height='84' alt=&#034;&#034; /&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Compar&#233;e &#224; d'autres m&#233;tiers, la Conception des Syst&#232;mes Num&#233;riques est finalement d'une complexit&#233; raisonnable, et accessible au plus grand nombre. Pourtant, ce savoir-faire est actuellement tr&#232;s recherch&#233;, &#224; tel point que des programmes Europ&#233;ens sont en train de voir le jour pour combler ce retard.&lt;/p&gt;
&lt;p&gt;ALSE est un Organisme de Formation Certifi&#233; Qualiopi &#171; Actions de Formation &#187;, vous pouvez consulter notre certificat ici :&lt;/p&gt;
&lt;div class='spip_document_148 spip_document spip_documents spip_document_file spip_document_avec_legende' data-legende-len=&#034;57&#034; data-legende-lenx=&#034;x&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href='https://www.alse.fr/sites/alse.fr/IMG/pdf/certificats_2022_2025.pdf' class=&#034; spip_doc_lien&#034; title='PDF - 749.3 kio' type=&#034;application/pdf&#034;&gt;&lt;img src='https://www.alse.fr/sites/alse.fr/local/cache-vignettes/L64xH64/pdf-b8aed.svg?1782753873' width='64' height='64' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-148 '&gt;&lt;strong&gt;Certificat Qualiopi ALSE
&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif crayon document-descriptif-148 '&gt;Certificats Qualiopi 2022-2028
&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;Sans surprise, la condition incontournable pour concevoir des Syst&#232;mes Num&#233;riques est d'en ma&#238;triser sans faille tous les fondamentaux. Et malheureusement, contrairement &#224; d'autres domaines, la formation initiale est mauvaise ou inexistante, la litt&#233;rature est affligeante, et l'apprentissage par l'exp&#233;rience ne fonctionne pas !&lt;/p&gt;
&lt;p&gt;C'est pourquoi depuis 25 ans nous avons form&#233; plusieurs milliers d'Ing&#233;nieurs avec succ&#232;s, tout en &#233;tant le premier utilisateur de ce que nous enseignons, puisque notre premier m&#233;tier est celui de &lt;em class=&#034;spip&#034;&gt;Design House&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Nous pouvons, en seulement cinq jours, vous enseigner les bases solides de la conception &lt;abbr title=&#034;Field Programmable Gate Array. Composants &#233;lectroniques standard que l'utilisateur &#171; personnalise &#187; en utilisant des langages HDL pour impl&#233;menter des fonctions logiques sp&#233;cifiques de son choix. Un fichier de programmation permet (souvent &#224; la mise sous tension) au composant de se configurer et d'avoir le fonctionnement voulu par le concepteur.&#034;&gt;FPGA&lt;/abbr&gt; en langage &lt;abbr title=&#034;VHDL = VHSIC Hardware Description Language. Ce Langage de Description Mat&#233;rielle (normalis&#233; IEEE 1076) issu du programme du d&#233;partement am&#233;ricain de la d&#233;fense &#171; VHSIC &#187; (1980), &#233;tait destin&#233; au d&#233;part &#224; d&#233;crire sans ambigu&#239;t&#233; le comportement de ces circuits rapides. Aujourd'hui, il c&#232;de graduellement le pas au SystemVerilog mais il reste encore aujourd'hui utilis&#233; (surtout dans la conception FPGA).&#034;&gt;VHDL&lt;/abbr&gt;, pratiquement sans pr&#233;-requis (par exemple si vous &#234;tes ing&#233;nieur logiciel).&lt;/p&gt;
&lt;p&gt;Si vous avez une exp&#233;rience en VHDL, nous pouvons vous apporter les comp&#233;tences en &lt;abbr title=&#034;Le premier Langage de Description Mat&#233;rielle (au m&#234;me titre que le VHDL qui l'a suivi quelques ann&#233;es apr&#232;s). Normalis&#233; IEEE 1364.&#034;&gt;Verilog&lt;/abbr&gt;+&lt;abbr title=&#034;SystemVerilog (IEEE std 1800) est le premier HDVL (Hardware Description &amp;#38; Verification Language). Il est appel&#233; &#224; remplacer aussi bien le Verilog (qu'il a absorb&#233;) que le VHDL &#224; qui il manque d&#233;sormais trop de choses dans le domaine de la V&#233;rification. C'est donc le Langage des 20 prochaines ann&#233;es et il est incontournable pour les projets complexes (m&#234;me FPGA), pour les ASICs et pour les SOCs. SystemVerilog est le langage sur lequel est fond&#233;e la M&#233;thodologie UVM.&#034;&gt;SystemVerilog&lt;/abbr&gt; en quatre jours.&lt;/p&gt;
&lt;p&gt;Se former avec ALSE : votre meilleur investissement !&lt;/p&gt;
&lt;div class='spip_document_126 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;17&#034; data-legende-lenx=&#034;&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://www.alse.fr/sites/alse.fr/IMG/jpg/keeplearning_800.jpg' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/jpeg&#034;&gt; &lt;img src='https://www.alse.fr/sites/alse.fr/local/cache-vignettes/L500xH280/keeplearning_800-aa40b.jpg?1782754103' width='500' height='280' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre '&gt;&lt;strong&gt;Keep learning !
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Embarqu&#233;</title>
		<link>https://www.alse.fr/Embarque-109.html</link>
		<guid isPermaLink="true">https://www.alse.fr/Embarque-109.html</guid>
		<dc:date>2022-12-07T10:25:12Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		
		<enclosure url="https://www.alse.fr/sites/alse.fr/IMG/logo/linuxcode_1920-2.jpg" length="568760" type="image/jpeg" />


		<dc:subject>CycloShow</dc:subject>

		<description>&lt;p&gt;Nous avons des formations pour les syst&#232;mes embarqu&#233;s, et notamment pour les processeurs ARM des &lt;abbr title=&#034;Field Programmable Gate Array. Composants &#233;lectroniques standard que l'utilisateur &#171; personnalise &#187; en utilisant des langages HDL pour impl&#233;menter des fonctions logiques sp&#233;cifiques de son choix. Un fichier de programmation permet (souvent &#224; la mise sous tension) au composant de se configurer et d'avoir le fonctionnement voulu par le concepteur.&#034;&gt;FPGA&lt;/abbr&gt; &lt;abbr title=&#034;System On Chip. Un composant qui contient sur la m&#234;me puce un (ou plusieurs) syst&#232;me(s) &#224; base de microprocesseur(s) ainsi que d'autres blocs logiques. Un SoC-FPGA est une puce qui contient &#224; la fois un/des Syst&#232;mes &#224; base de microprocesseurs &#171; en dur &#187; et une partie de Logique Programmable.&#034;&gt;SOC&lt;/abbr&gt;.&lt;/p&gt;
&lt;p&gt;C&#244;t&#233; Langages, nous avons des formations Embedded C et C++, Linux Embarqu&#233; &amp; Drivers, Linux Security&#8230; Et une formation YOCTO tr&#232;s compl&#232;te.&lt;/p&gt;

-
&lt;a href="https://www.alse.fr/-Fourre-tout-.html" rel="directory"&gt;Fourre-tout&lt;/a&gt;

/ 
&lt;a href="https://www.alse.fr/+-CycloShow-+.html" rel="tag"&gt;CycloShow&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://www.alse.fr/sites/alse.fr/local/cache-vignettes/L150xH50/linuxcode_1920-2-7044b.jpg?1782754103' class='spip_logo spip_logo_right' width='150' height='50' alt=&#034;&#034; /&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Intel-FPGA</title>
		<link>https://www.alse.fr/Intel-FPGA.html</link>
		<guid isPermaLink="true">https://www.alse.fr/Intel-FPGA.html</guid>
		<dc:date>2022-12-07T10:18:59Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		
		<enclosure url="https://www.alse.fr/sites/alse.fr/IMG/logo/agilex3-2.jpg" length="269148" type="image/jpeg" />


		<dc:subject>CycloShow</dc:subject>

		<description>&lt;p&gt;ALSE a d&#233;velopp&#233; de nombreuses formations pratiques et modulaires pour faciliter l'adoption des circuits programmables Altera, devenus &lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Intel-&lt;abbr title=&#034;Field Programmable Gate Array. Composants &#233;lectroniques standard que l'utilisateur &#171; personnalise &#187; en utilisant des langages HDL pour impl&#233;menter des fonctions logiques sp&#233;cifiques de son choix. Un fichier de programmation permet (souvent &#224; la mise sous tension) au composant de se configurer et d'avoir le fonctionnement voulu par le concepteur.&#034;&gt;FPGA&lt;/abbr&gt;&lt;/strong&gt;. Depuis les environnements de d&#233;veloppement jusqu'au Langage SDC en passant par les processeurs embarqu&#233;s, nous vous aidons &#224; r&#233;ussir vos projets les plus complexes.&lt;/p&gt;

-
&lt;a href="https://www.alse.fr/-Fourre-tout-.html" rel="directory"&gt;Fourre-tout&lt;/a&gt;

/ 
&lt;a href="https://www.alse.fr/+-CycloShow-+.html" rel="tag"&gt;CycloShow&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://www.alse.fr/sites/alse.fr/local/cache-vignettes/L150xH50/agilex3-2-c38af.jpg?1782754103' class='spip_logo spip_logo_right' width='150' height='50' alt=&#034;&#034; /&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Conception</title>
		<link>https://www.alse.fr/Conception.html</link>
		<guid isPermaLink="true">https://www.alse.fr/Conception.html</guid>
		<dc:date>2022-12-07T10:16:46Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		
		<enclosure url="https://www.alse.fr/sites/alse.fr/IMG/logo/workbench1920.jpg" length="325052" type="image/jpeg" />


		<dc:subject>CycloShow</dc:subject>

		<description>&lt;p&gt;Formations &lt;abbr title=&#034;VHDL = VHSIC Hardware Description Language. Ce Langage de Description Mat&#233;rielle (normalis&#233; IEEE 1076) issu du programme du d&#233;partement am&#233;ricain de la d&#233;fense &#171; VHSIC &#187; (1980), &#233;tait destin&#233; au d&#233;part &#224; d&#233;crire sans ambigu&#239;t&#233; le comportement de ces circuits rapides. Aujourd'hui, il c&#232;de graduellement le pas au SystemVerilog mais il reste encore aujourd'hui utilis&#233; (surtout dans la conception FPGA).&#034;&gt;VHDL&lt;/abbr&gt;, &lt;abbr title=&#034;Property Specification Language. Normalis&#233; IEEE 1850 et maintenant int&#233;gr&#233; au VHDL-2008, ce langage permet de d&#233;crire Propri&#233;t&#233;s et Assertions pour la M&#233;thodologie de V&#233;rification par Assertions (Assertion Based Verification). PSL est relativement simple &#224; ma&#238;triser (formation de 2 jours) et constitue une aide consid&#233;rable pour la V&#233;rification des circuits logiques. On trouve un &#233;quivalent &#224; PSL &#224; l'int&#233;rieur du langage SystemVerilog (SVA).&#034;&gt;PSL&lt;/abbr&gt;, &lt;abbr title=&#034;Le premier Langage de Description Mat&#233;rielle (au m&#234;me titre que le VHDL qui l'a suivi quelques ann&#233;es apr&#232;s). Normalis&#233; IEEE 1364.&#034;&gt;Verilog&lt;/abbr&gt;, &lt;abbr title=&#034;SystemVerilog (IEEE std 1800) est le premier HDVL (Hardware Description &amp;#38; Verification Language). Il est appel&#233; &#224; remplacer aussi bien le Verilog (qu'il a absorb&#233;) que le VHDL &#224; qui il manque d&#233;sormais trop de choses dans le domaine de la V&#233;rification. C'est donc le Langage des 20 prochaines ann&#233;es et il est incontournable pour les projets complexes (m&#234;me FPGA), pour les ASICs et pour les SOCs. SystemVerilog est le langage sur lequel est fond&#233;e la M&#233;thodologie UVM.&#034;&gt;SystemVerilog&lt;/abbr&gt;, &lt;abbr title=&#034;Universal Verification Methodology. C'est la convergence d&#233;finitive et Universelle de nombreuses M&#233;thodologies de V&#233;rifications propri&#233;taires qui l'ont pr&#233;c&#233;d&#233;e (eRM, URM, AVM, OVM, RVM, et VMM), et la seule appel&#233;e &#224; perdurer. Elle est construite sur la partie &#171; Objet &#187; (Classes) du SystemVerilog. UVM est complexe et difficile &#224; apprendre et ma&#238;triser.&#034;&gt;UVM&lt;/abbr&gt;, Tcl/Tk, SDC, SystemC, Embedded C, C++, Embedded Linux, Linux Kernel &amp; Drivers, Yocto etc&#8230; nous savons vous apporter la ma&#238;trise de tous ces langages.&lt;br class='manualbr' /&gt;Disponibles OnLine (&#224; distance), en inter- et en intra-entreprise (chez vous ou chez nous).&lt;/p&gt;

-
&lt;a href="https://www.alse.fr/-Fourre-tout-.html" rel="directory"&gt;Fourre-tout&lt;/a&gt;

/ 
&lt;a href="https://www.alse.fr/+-CycloShow-+.html" rel="tag"&gt;CycloShow&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://www.alse.fr/sites/alse.fr/local/cache-vignettes/L150xH80/workbench1920-5efa9.jpg?1782754104' class='spip_logo spip_logo_right' width='150' height='80' alt=&#034;&#034; /&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Design Center &amp; IPs</title>
		<link>https://www.alse.fr/FPGA-106.html</link>
		<guid isPermaLink="true">https://www.alse.fr/FPGA-106.html</guid>
		<dc:date>2022-12-07T10:13:45Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		
		<enclosure url="https://www.alse.fr/sites/alse.fr/IMG/logo/ipchess_1920.jpg" length="718149" type="image/jpeg" />


		<dc:subject>CycloShow</dc:subject>

		<description>&lt;p&gt;ALSE est Leader en France pour les formations sur les Syst&#232;mes Num&#233;riques. Mais notre &lt;strong&gt;premier m&#233;tier&lt;/strong&gt; est la &lt;strong&gt;Conception&lt;/strong&gt; ! Cliquez dans ce panneau pour visiter notre site (en Anglais) d&#233;di&#233; &#224; notre activit&#233; de Conception (Design) et de Propri&#233;t&#233;s Intellectuelles (IPs).&lt;/p&gt;

-
&lt;a href="https://www.alse.fr/-Fourre-tout-.html" rel="directory"&gt;Fourre-tout&lt;/a&gt;

/ 
&lt;a href="https://www.alse.fr/+-CycloShow-+.html" rel="tag"&gt;CycloShow&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://www.alse.fr/sites/alse.fr/local/cache-vignettes/L150xH79/ipchess_1920-2bab3.jpg?1782754104' class='spip_logo spip_logo_right' width='150' height='79' alt=&#034;&#034; /&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>On recrute !</title>
		<link>https://www.alse.fr/On-recrute.html</link>
		<guid isPermaLink="true">https://www.alse.fr/On-recrute.html</guid>
		<dc:date>2018-07-24T17:45:31Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		
		<enclosure url="https://www.alse.fr/sites/alse.fr/IMG/logo/arton102.png" length="10460" type="image/png" />



		<description>

-
&lt;a href="https://www.alse.fr/-Fourre-tout-.html" rel="directory"&gt;Fourre-tout&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src='https://www.alse.fr/sites/alse.fr/local/cache-vignettes/L150xH150/arton102-6c910.png?1782791333' class='spip_logo spip_logo_right' width='150' height='150' alt=&#034;&#034; /&gt;
		
		</content:encoded>


		
		<enclosure url="https://www.alse.fr/sites/alse.fr/IMG/pdf/profil_poste_6_r_d.pdf" length="215883" type="application/pdf" />
		

	</item>
<item xml:lang="fr">
		<title>Numeric_std issue.</title>
		<link>https://www.alse.fr/Numeric_std-issue.html</link>
		<guid isPermaLink="true">https://www.alse.fr/Numeric_std-issue.html</guid>
		<dc:date>2017-02-21T18:42:37Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		
		



		<description>
&lt;p&gt;This article describes an error that I found only recently in NUMERIC_STD. Conclusion : do not multiply signed or unsigned vectors by an integer ! Description The IEEE numeric_std library issued (eg) in Nov 1994, and which (as of March 2017) is still used in the latest versions of the Simulation and Synthesis tools, implements incorrectly the multiplications of signed/unsigned vectors by an integer. Fixing these functions is not difficult but my attempt to have the VHDL working (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.alse.fr/-NewsLetter-.html" rel="directory"&gt;NewsLetter&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;This article describes an error that I found only recently in NUMERIC_STD.&lt;/p&gt;
&lt;p&gt;Conclusion : do not multiply signed or unsigned vectors by an integer !&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Description&lt;/h2&gt;
&lt;p&gt;The IEEE numeric_std library issued (eg) in Nov 1994, and which (as of March 2017) is still used in the latest versions of the Simulation and Synthesis tools, implements incorrectly the multiplications of signed/unsigned vectors by an integer.&lt;/p&gt;
&lt;p&gt;Fixing these functions is not difficult but my attempt to have the &lt;abbr title=&#034;VHDL = VHSIC Hardware Description Language. Ce Langage de Description Mat&#233;rielle (normalis&#233; IEEE 1076) issu du programme du d&#233;partement am&#233;ricain de la d&#233;fense &#171; VHSIC &#187; (1980), &#233;tait destin&#233; au d&#233;part &#224; d&#233;crire sans ambigu&#239;t&#233; le comportement de ces circuits rapides. Aujourd'hui, il c&#232;de graduellement le pas au SystemVerilog mais il reste encore aujourd'hui utilis&#233; (surtout dans la conception FPGA).&#034;&gt;VHDL&lt;/abbr&gt; working group adopt the fix has been so far unsuccessful. But even if I had quickly succeeded, the change would not have been available probably for many (many) years !&lt;/p&gt;
&lt;p&gt;So it's best that you understand the problem and learn how to avoid it.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Functions affected&lt;/h2&gt;
&lt;p&gt;Here are the original prototypes (in IEEE.numeric_std) :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; -- Id: A.17 function &#034;*&#034; ( L: UNSIGNED; R: NATURAL) return UNSIGNED; -- Result subtype: UNSIGNED((L'length+L'length-1) downto 0). -- Result: Multiplies an UNSIGNED vector, L, with a non-negative -- INTEGER, R. R is converted to an UNSIGNED vector of -- SIZE L'length before multiplication. -- Id: A.18 function &#034;*&#034; ( L: NATURAL; R: UNSIGNED) return UNSIGNED; -- Result subtype: UNSIGNED((R'length+R'length-1) downto 0). -- Result: Multiplies an UNSIGNED vector, R, with a non-negative -- INTEGER, L. L is converted to an UNSIGNED vector of -- SIZE R'length before multiplication. -- Id: A.19 function &#034;*&#034; ( L: SIGNED; R: INTEGER) return SIGNED; -- Result subtype: SIGNED((L'length+L'length-1) downto 0) -- Result: Multiplies a SIGNED vector, L, with an INTEGER, R. R is -- converted to a SIGNED vector of SIZE L'length before -- multiplication. -- Id: A.20 function &#034;*&#034; ( L: INTEGER; R: SIGNED) return SIGNED; -- Result subtype: SIGNED((R'length+R'length-1) downto 0) -- Result: Multiplies a SIGNED vector, R, with an INTEGER, L. L is -- converted to a SIGNED vector of SIZE R'length before -- multiplication.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Issue&lt;/h2&gt;
&lt;p&gt;As we can see above (in the comments), when multiplying a vector by an integer, the integer is converted into a vector &lt;em class=&#034;spip&#034;&gt;of the same width as the other operand&lt;/em&gt; !!!&lt;/p&gt;
&lt;p&gt;As a consequence, the result's width is forced to two times the width of the signed/unsigned vector, just as if the vector was squared (multiplied by itself), which absolutely does NOT make sense.&lt;/p&gt;
&lt;p&gt;The result is either too short or too large.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Consequences&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Multiplying a vector by 1 (or a small integer) creates a vector twice as large. &lt;br class='manualbr' /&gt;Quite inefficient, a bit ridiculous, but relatively harmless.&lt;/li&gt;&lt;li&gt; Multiplying a 128-bits vector by 7 (eg) creates a 256-bits results.&lt;br class='manualbr' /&gt;Same remark as above.&lt;/li&gt;&lt;li&gt; The result of Multiplying an 8-bits unsigned vector by 256 is a 16-bits vector (okay by chance) but &lt;strong class=&#034;caractencadre-spip spip&#034;&gt;with a value of ZERO&lt;/strong&gt; ! See the test case included.&lt;br class='manualbr' /&gt;This is definitely VERY WRONG :-( and the multiplication result is not usable.&lt;/li&gt;&lt;li&gt; Multiplying a 8-bits signed vector by 1000 (decimal) produces an incorrect result (actually V * 232) and the result is limited to 16 bits anyway.&lt;br class='manualbr' /&gt;This is also very wrong.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Note that simulators will typically issue truncation warnings &lt;em class=&#034;spip&#034;&gt;during the simulation&lt;/em&gt; (run-time) in the most offending cases, or refuse to compile if the result width is not what the user believed (which is how I uncovered the issue).&lt;br class='manualbr' /&gt;But Synthesis tools will compile and generate hardware which can potentially produce incorrect results, and this is not acceptable.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Are these functions useful ?&lt;/h2&gt;
&lt;p&gt;Certainly. They are required by the principle of numeric_std which is to extend arithmetic operators to vectors that represent numbers (signed and unsigned).&lt;/p&gt;
&lt;p&gt;Moreover, Synthesis tools are usually relatively smart when they see multiplications by constants, in which case they know how to replace the multiplication by adder(s).&lt;/p&gt;
&lt;p&gt;However, their use has been limited (which explains why the incorrect implementation hasn't been reported heavily before).
One can note that the older Synopsys library &#171; std_logic_arith &#187; did not provide the multiplication of signed/unsigned vector by integers, and therefore could not have the same problem.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Repairing NUMERIC_STD ?&lt;/h2&gt;
&lt;p&gt;Fixing the affected functions is not complicated : it suffices to convert the natural or integer into a &lt;strong class=&#034;caractencadre-spip spip&#034;&gt;32-bits&lt;/strong&gt; vector !
The resulting width at least starts making some sense (=Operand width + 32) and no truncation / incorrect result can occur.
If the result is still too large for you (like when you multiply by an integer &lt;em class=&#034;spip&#034;&gt;range&lt;/em&gt;), you just have to resize the result. If you loose information in the resize (you resized into a too short vector), you might think you would get a run time warning&#8230; Unfortunately, this is yet another issue with numeric_std ! The synthesis or a good linter would warn you though.&lt;/p&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre-spip spip&#034;&gt;BUT, the issue is that numeric_std will probably never be fixed !&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;So you have to take care of your code and make sure you are not affected by the library errors, as explained below.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;In spite of the library clumsiness (shift operators, and this bug in particular), I still keep recommending using numeric_std instead of other non-IEEE libraries.&lt;/p&gt;
&lt;p&gt;My &lt;strong&gt;VHDL Coding Style Guide&lt;/strong&gt; is updated :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Do not multiply signed/unsigned vectors by Integers.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Use slices and adders if you multiply by an integer constant&lt;/li&gt;&lt;li&gt; Convert the integer in a properly sized signed or unsigned vector before multiplying.&lt;/li&gt;&lt;li&gt; Do not count on &lt;em class=&#034;spip&#034;&gt;resize&lt;/em&gt; to warn you if the result is incorrect.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;and the older recommendation remains :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Avoid using shift/rotate operators from numeric_std (use slices &amp; concatenation)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="https://www.alse.fr/sites/alse.fr/IMG/zip/num_std_bug.zip" length="1263" type="application/zip" />
		

	</item>
<item xml:lang="fr">
		<title>T&#233;moignages clients</title>
		<link>https://www.alse.fr/Temoignages-clients.html</link>
		<guid isPermaLink="true">https://www.alse.fr/Temoignages-clients.html</guid>
		<dc:date>2016-10-06T21:09:12Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		
		<enclosure url="https://www.alse.fr/sites/alse.fr/IMG/logo/group-of-people-svgrepo-com.svg" length="4182" type="image" />


		<dc:subject>Livre d'Or</dc:subject>

		<description>
&lt;p&gt;Notez bien : ces articles expriment uniquement l'exp&#233;rience et l'opinion de leurs auteurs. Ils ne sont donc pas n&#233;cessairement endoss&#233;s par leurs employeurs.&lt;/p&gt;


-
&lt;a href="https://www.alse.fr/-Fourre-tout-.html" rel="directory"&gt;Fourre-tout&lt;/a&gt;

/ 
&lt;a href="https://www.alse.fr/+-Livre-d-Or-+.html" rel="tag"&gt;Livre d'Or&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://www.alse.fr/sites/alse.fr/local/cache-vignettes/L150xH150/group-of-people-svgrepo-com-b6dbe.svg?1782791333' class='spip_logo spip_logo_right' width='150' height='150' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Notez bien : ces articles expriment uniquement l'exp&#233;rience et l'opinion de leurs auteurs. &lt;br class='manualbr' /&gt;Ils ne sont donc pas n&#233;cessairement endoss&#233;s par leurs employeurs.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>