VHDL, scitacka a CarryOut

Marek Pavlu pavlu@HWserver.cz
Čtvrtek Duben 20 14:17:58 CEST 2006


Zdravim, 

Otazecka:). Nedalo by se vyuzit interni promennou v procesu? 
Ale asi by to vygenerovalo sadu registru, ze? Safra ale ony tam stejne
budou, jen to nebude signal, ale varible, nebo jsem uplne mimo misu? :)

Teda kdyz uvazuji toto: 

   CntAdd <= '0'&Cnt + AddReg; 
   process (Fin) begin 
     if (Fin='1' and Fin'event) then 
       Cnt <= CntAdd(7 downto 0); 
     end if; 
   end process; 





S pozdravem, 
                Marek Pavlu 

//  -----Original Message----- 
//  From: hw-list-bounces@list.hw.cz [mailto:hw-list-bounces@list.hw.cz] On 
//  Behalf Of Milan 
//  Sent: Thursday, April 20, 2006 9:52 AM 
//  To: HW-news 
//  Subject: Re: VHDL, scitacka a CarryOut 
//  
//  Ja to skonkretizujem, napr. 
//  
//     signal AddReg: std_logic_vector (7 downto 0); 
//     signal CntAdd: std_logic_vector (8 downto 0); 
//  
//     CntAdd <= AddReg & '0'; 
//          alebo podla potreby napr: 
//     CntAdd <= AddReg(7 downto3) & '1' & AddReg(2 downto0); 
//  
//  Milan 
//  ----- Original Message ----- 
//  From: "Daniel Valuch" <daniel.valuch@wanadoo.fr> 
//  To: "HW-news" <hw-list@list.hw.cz> 
//  Sent: Thursday, April 20, 2006 9:31 AM 
//  Subject: Re: VHDL, scitacka a CarryOut 
//  
//  
//  naformatujte si ten 8 bitovy vektor do 9 bitoveho tak ze MSB bude nula 
//  (spojite 8 bitovy vektor a konstantu '0'). Potom scitate, viete ze k 
//  preteceniu nemoze dojst a viete ze MSB bude carry out. Nemam tu moje 
//  poznamky (som v Bratislave), takze konkretne vam neporadim. 
//  Jedna zo zakladnych vlastnosti VHDL je jednoznacnost. Pri vsetkych 
//  operaciach mozete pouzivat len rovnake (alebo definovane) operandy. 
//  Zamedzi sa tym veciam typu sucet signed a unsigned vektora a podobne. 
//  b. 
//  
//  p.s. nemali by byt vsetky operacie vo vnutri procesu? 
//  
//  
//  Hynek Sladky wrote: 
//  
//  >Uz zas nevim, jak dal. Potrebuju dostat signal CarryOut ze scitacky, 
//  ale 
//  >nejak se nedari... 
//  > 
//  >mam registr 
//  >   signal AddReg: std_logic_vector (7 downto 0) := "10000000"; 
//  >dale vysledek 
//  >   signal CntAdd: std_logic_vector (8 downto 0); 
//  >a operace 
//  >   CntAdd <= Cnt + AddReg; 
//  >   process (Fin) begin 
//  >     if (Fin='1' and Fin'event) then 
//  >       Cnt <= CntAdd(7 downto 0); 
//  >     end if; 
//  >   end process; 
//  > 
//  >Myslel jsem, ze CntAdd(8) bude obsahovat CarryOut, ale zda se, ze ne. 
//  >Preklad vyhodi Warning: 
//  >Width mismatch. <CntAdd> has a width of 9 bits but assigned expression 
//  >is 8-bit wide. 
//  > 
//  >Jak by se to dalo vyresit? 
//  > 
//  >Diky, 
//  >Hynek Sladky 
//  > 
//  > 
//  
//  
//  _______________________________________________ 
//  HW-list mailing list  -  sponsored by www.HW.cz 
//  Hw-list@list.hw.cz 
//  http://list.hw.cz/mailman/listinfo/hw-list 
//  
//  
//  
//  
//  
//  
//  
//  
//  
//  __________ Informacia od NOD32 1.1497 (20060419) __________ 
//  
//  Tato sprava bola preverena antivirusovym systemom NOD32. 
//  http://www.eset.sk 
//  
//  
//  _______________________________________________ 
//  HW-list mailing list  -  sponsored by www.HW.cz 
//  Hw-list@list.hw.cz 
//  http://list.hw.cz/mailman/listinfo/hw-list 



  _____  

avast! Antivirus <http://www.avast.com>  : Odchozi zprava cista. 


Virova databaze (VPS): 0616-2, 18.04.2006
Testovano: 20.4.2006 14:17:57
avast! - copyright (c) 2000-2003 ALWIL Software.






Další informace o konferenci Hw-list