VHDL sveikasis klaidą ????????????

L

lmtg

Guest
uostų (
x į std_logic;
Y: į visumą nuo 0 iki 32;
Z: iš sveikojo skaičiaus nuo 0 iki 32;
m: iš std_logic);

Dėl paprastų virš entiy gauti tokį klaidos pranešimą:

Eilutė 17: KLAIDA, nepriklausomas standartas IEEE tipo "integer", naudojami uosto "y"
Eilutė 17: KLAIDA, VITAL aukščiausio lygio uosto "y" yra "sveikomis" tipo ženklu, kad nereiškia kokio tipo / potipio deklaruotos pakuotės std_logic_1164
Eilutė 17: ĮSPĖJIMAS, dimensijos / Range apibrėžimo "(0 32)", ir "y", neatsižvelgia į mažėjančia tvarka konvencijos

HOW CAN I Solve?

 
Naudojant sveikais skaičiais tipų aukščiausio lygio uostuose gali būti remiami savo VHDL įrankis.Į synthesizable dizaino, planavimo sveikasis uosto bitai įgyvendinimas išlaikytinį.

Kaip daugiau paprastos priežasties, jūs galbūt neimportavo skaitmeninė biblioteka.

 
Jei aš teisingai, Integer deklaruotų uosto deklaracijos dalis nėra synthasizable.
Galite paskelbti kaip std_logic_vector į uostą ir jį.

 
Gal pabandykite apibrėžti tipo ar subtipas pavadinimas paketo

paketas MyComponentPack yra
subtipas MyInt_t yra natūralus nuo 0 iki 32;
pabaigos pakete;

ir naudoti ją, kur jums reikia, kad tipo signalas

naudoti work.MyComponentPack.all;
...
uostų (
...
Y: į MyInt_t;
...

 
Aš nematau, kad naudojant paketą tipo apibrėžimo pakeitimus nieko.

supported by some synthesis tools, eg A.ltera Q.uartus, but apparently unsupported by some others.

Integer tipo aukščiausio lygio uostus remia
kai kurių sintezės priemones, pvz A.ltera Q.uartus, bet akivaizdžiai netinkamas kai kurių kitų.Tai gerai, nes VHDL standartas nereikalauja, kad jis, kiek aš suprantu.

 

Welcome to EDABoard.com

Sponsor

Back
Top