Globální definuje ve VHDL

P

pastro

Guest
Ahoj všem, já jsem pracoval na firmware VHDL pro projekt zahrnující spoustu FPGA. Většina FPGA mají podobné firmware, s jedinou věcí, stejně jako jejich ID přechod z FPGA do FPGA. Chci vytvořit VHDL soubor s konfigurací dat, kde jsou uvedeny všechny konstanty specifické pro FPGA, a pak jakési "include" prohlášení k odkazu konstanty v každém modulu VHDL. Jaký je správný způsob, jak to udělat? Díky!
 
Můžete umístit všechny příslušné konstanty v balíčku např. "defs" a importovat jej do všech konstrukčních entit s odkazem na to.
Code:
 Balíček defs je konstantní MAJOR_VERSION: INTEGER: = 0; konstantou MINOR_VERSION: INTEGER: = 16; - defs konec balíčku; V návrhu soubory KNIHOVNY práce; USE work.defs.all,
skutečný název defs souboru se může lišit, můžete také provádět hierarchie obecně definuje a cílit na konkrétní definice.
 
Všimněte si, že to bude vyžadovat re-compile/synth/PAR pro každý čip vede k jedinečné bitstream za čip. Pokud se zařízení jsou vlastně totožné, s výjimkou několika málo parametrů, jeden by mohl být řešení, aby ty parametry, které mají být naloženy * po Configuration and Power-on-reset, ale před čip nemá žádné skutečné práci. * Naložený: někteří vedoucí CPU se napsat rozhraní pro každý čip. nebo každý čip má logiku vytáhnout config z config eeprom. nebo jinou metodou.
 
Pokud přístroje jsou vlastně totožné, s výjimkou několika málo parametrů, jeden by mohl být řešení, aby ty parametry, které mají být naloženy * po Configuration and Power-on-reset, ale před čip nemá žádné skutečné práce.
Runtime konfigurace je samozřejmě alternativa, a podle mého názoru, neměla by být omezena na zatížení parametry "před čip nemá žádné skutečné práci". Ale kromě režie pro konfiguraci registrů, může to znamenat podstatně vyšší logiku prvek a směrování zdroje požadavku. Nejdůležitější výhodou, především úspora času kompilace je zjednodušení software variantu zásob.
 
K dispozici je také případ, kdy software je vyvinut nezávisle na firmware a používá verzi registru pro kontrolu kompatibility, nebo zjistit, které funkce jsou k dispozici.
 
Něco s nízkou režii může být uložit parametry pro všechny možné žetony 'parta' v bit souboru jako pole (y). Pak použijte pár jinak nepoužívané I / O pinů na staticky kód ", který čip / funkce / ID jsem?" Pak své parametry: = PARAM_ARRAY (to_unsigned (IdPins (5 downto 0));
 

Welcome to EDABoard.com

Sponsor

Back
Top