Nem ertem....

Radó-Láng rado-lang at axelero.hu
Sun Jan 22 16:15:16 CET 2006


Nem olvastad az előző leveleim figyelmesen. :-(

Egy regisztert (VHDL-ben SIGNAL) (Verilogban: Reg) csak egy
process-ből lehet módosítani. Te mindkét processben módosítani akarod.
Megoldás alább. (a szintaktikát majd kitalálod)

Ne úgy állj a feladathoz, hogy egy helyen szerepel az összes teendő,
amit egy resetnél meg kell csinálni! Minden process-ben meg kell a reset
feladatokat csinálni azokra a regiszterekre, amiket reset esetén fix
értékre akarsz állítani. Mindazonáltal bár nem kötelező, de
rendszerint a reset nem élvezérelt bemenet, hanem szintvezérelt.
(kevesebb logika szükséges)

És megint csak az tudom mondani, hogy elő egy könyvet és ELOLVASNI és
MEGÉRTENI!!! Addig tényleg felesleges kódolni. Ez olyan, mintha C-ben
akarnál kódolni anélkül, hogy tudnád, hogy melyik jel mit jelent, és
milyen sorrendben értékel ki egy sort a fordító. Pl. *változó++

Üdv.: Zoli



__________________ Amit próbáltál_______________________________________
reg reset_bit = 0;

always @(posedge reset or posedge clk_sys)
begin
     if (posedge reset)
     begin
          reset_bit = 1;
     else
     if (posedge clk_sys) and (reset_bit == 1)
     begin
          reset_bit = 0;
          //tovabbi tennivalok
     end
end
______________ Minden process, amiben resetet akarsz ________________

always @(reset or posedge clk_sys)
begin
     if reset == 1
         begin
              //Regiszterek beállítása
     else
         begin
              // Órajeleknél futó dolgok

     end
end



HA> Masik dolog amit nem ertek a verilogban az ez:

HA> reg reset_bit = 0;

HA> always @(posedge reset)
HA> begin
HA>   reset_bit = 1;
HA> end


HA> always @(posedge clk_sys)
HA> begin
HA>   if (reset_bit == 1)
HA>   begin
HA>      reset_bit = 0;
HA>      //tovabbi tennivalok
HA>   end
HA> end

HA> Ezt igy nem engedi megvalositani mert arra panaszkodik, hogy a reset_bit
HA> tobb forrasbol kap egyszere erteket. Termeszetesen ezt maskepp is meg
HA> lehet oldani, de tegyuk fel, hogy en megis igy akarom megoldani. Az
HA> alabbi megoldast taltam ra:

HA> letrehoztam egy RS flipflopot kulon modulban. Beraktam az adott modulba.
HA> Majd a Set labat bekotottem az egyik always blokba a reset labat a
HA> masikba. Ezt mar igy elfogadta. Fura dolog ez.

HA> Gondolom, ha vettem voln a faradsagot es tobbet foglalkozom a veriloggal
HA> akkor ismernem az ilyen buktatokat. De valahogy a xilinx forditoja
HA> elkedvtelenitett es a vizsgaidoszak is eljott...






More information about the Elektro mailing list