Forum » Programiranje » VHDL problem
VHDL problem
VolkD ::
V VHDL sem anpisal 24 bitni seštevalnik. Prevajalnik sporoči, da svari ne more povezati, ker ima na razpolago premalo resurcv.
Nekaj časa sem se trudil razmisliti, kako bi to rešil. Nato pa sem napravil sledeče :
Stvar se prevede, še več !
Prevajalnik pravi, da sem porabil vsega skupaj 12 macrocelic !!! Kako je to mogoče ??
Je tu opisano vezje res 24 bitni adder ??
help me!
Nekaj časa sem se trudil razmisliti, kako bi to rešil. Nato pa sem napravil sledeče :
entity adder24 is Port ( BSTEP : in STD_LOGIC_VECTOR ( 7 downto 0); STEP : in STD_LOGIC_vector(15 downto 0); COUNT : out STD_LOGIC_VECTOR (7 downto 0); CLOCK : in STD_LOGIC); end adder24; architecture Behavioral of adder24 is signal co_int : STD_LOGIC_VECTOR (16 downto 0):="00000000000000000"; signal co : STD_LOGIC_VECTOR (7 downto 0):="00000000"; begin process(CLOCK) begin if CLOCK='1' and CLOCK'event then co_int <= co_int + STEP; co <= co + co_int(16); co <= co + BSTEP; end if; end process; COUNT <= co; end Behavioral;
Stvar se prevede, še več !
Prevajalnik pravi, da sem porabil vsega skupaj 12 macrocelic !!! Kako je to mogoče ??
Je tu opisano vezje res 24 bitni adder ??
help me!
Preden zaspiš zapri oči. Preden zapreš oči, ustavi avto.
BluPhenix ::
Kaj tisti oklepaj pri CLOCK: std_logic) imaš tudi v programu?
A je treba sploh CLOCK definirat kot input? Jaz se ne spomnem, da bi to kdaj delali, saj ob compilanju uporabi interni CLOCK.
Tudi vem da smo pisali CLK'event.
Sem že malo pozabil tole. Bom pogledal pa ti povem.
A je treba sploh CLOCK definirat kot input? Jaz se ne spomnem, da bi to kdaj delali, saj ob compilanju uporabi interni CLOCK.
Tudi vem da smo pisali CLK'event.
Sem že malo pozabil tole. Bom pogledal pa ti povem.
Podpisa ni več, ker so me poskušali asimilirati.
VolkD ::
Ja tisto je prav. Saj pravim sintaksa je v redu, ker se stvar skompajla. Verjetno pa je problem v mojem razumevanju definicije SIGNAL .
Moja logika pravi, da če imam signal , ki definira vektorsko polje veliko 17 bitov, bi stvar morala porabiti najmanj 17 makrocelic. Sicer to še nisem spravil v čip pa poskusil, če dela pravilno. Zdelo se mi je, da rezultat ne more biti pričakovan, pa sem se ustavil. Še posebej me je šokiralo dejstvo da Koda ki ima definiran en sam signal dolžine 24bitov porabi toliko resourcev, da je ni mogoče strpati v dotični čip (xc9572). Tale, ki naj bi delala isto pa..!!??
Moja logika pravi, da če imam signal , ki definira vektorsko polje veliko 17 bitov, bi stvar morala porabiti najmanj 17 makrocelic. Sicer to še nisem spravil v čip pa poskusil, če dela pravilno. Zdelo se mi je, da rezultat ne more biti pričakovan, pa sem se ustavil. Še posebej me je šokiralo dejstvo da Koda ki ima definiran en sam signal dolžine 24bitov porabi toliko resourcev, da je ni mogoče strpati v dotični čip (xc9572). Tale, ki naj bi delala isto pa..!!??
Preden zaspiš zapri oči. Preden zapreš oči, ustavi avto.
VolkD ::
Še bolj nerazumljivo mi je sledeče
Dodane vrstice porabijo zdaj za 12 makrocelic več, torej skupno 24. Kar tudi ni logično, saj sem v bistvu obstoječ register le povezal na zunanje pine.
Mi kdo lahko to razloži?
entity adder24 is Port ( BSTEP : in STD_LOGIC_VECTOR ( 7 downto 0); STEP : in STD_LOGIC_vector(15 downto 0); COUNT : out STD_LOGIC_VECTOR (7 downto 0); COUNT1 : OUT STD_LOGIC_vector(7 downto 0); CLOCK : in STD_LOGIC); end adder24; architecture Behavioral of adder24 is signal co_int : STD_LOGIC_VECTOR (16 downto 0):="00000000000000000"; signal co : STD_LOGIC_VECTOR (7 downto 0):="00000000"; begin process(CLOCK) begin if CLOCK='1' and CLOCK'event then co_int <= co_int + STEP; co <= co + co_int(16); co <= co + BSTEP; end if; end process; COUNT <= co; COUNT1(7 downto 0) <= co_int(7 downto 0); end Behavioral;
Dodane vrstice porabijo zdaj za 12 makrocelic več, torej skupno 24. Kar tudi ni logično, saj sem v bistvu obstoječ register le povezal na zunanje pine.
Mi kdo lahko to razloži?
Preden zaspiš zapri oči. Preden zapreš oči, ustavi avto.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Java[naloga]Oddelek: Šola | 884 (691) | Bizkit45 |
» | Analiza kode: goto rabimo po pametiOddelek: Novice / Znanost in tehnologija | 13799 (10359) | one too many |
» | vector::iterator problemi, brisanje podatkov iz vektorjaOddelek: Programiranje | 1121 (972) | mn |
» | std containers vs. own custom containersOddelek: Programiranje | 3763 (3584) | Mmm'Aah |
» | kazalci in poljeOddelek: Programiranje | 1674 (1595) | rasta |