„Laboratórium 1 - 10. Mérés: Sorrendi hálózat vizsgálata” változatai közötti eltérés

A VIK Wikiből
Ugrás a navigációhoz Ugrás a kereséshez
(Új oldal, tartalma: „{{GlobalTemplate|Villanyalap|LaborI10esMérés}} ==Xilinx ISE bugok== Ide sorolhatjátok fel a Xilinx ISE használatakor felfedezett bugokat. A tárgy honlapján is …”)
 
9. sor: 9. sor:
 
* Linux alatt érdemes az LC_ALL környezeti változót (meg a LANG-ot, meg a LOCALE-t) en_US-re vagy C-re állítani, különben vacakolhat. Mondjuk a Webpack-nál nem szokott előjönni.
 
* Linux alatt érdemes az LC_ALL környezeti változót (meg a LANG-ot, meg a LOCALE-t) en_US-re vagy C-re állítani, különben vacakolhat. Mondjuk a Webpack-nál nem szokott előjönni.
 
* Van, hogy az ISE nem veszi észre, hogy egy UCF file-t hozzáadtál. Abban nyílvánul ez meg, hogy a jó kódod letöltve nem csinál semmit. Ilyenkor fogod, eltávolítod a projektből az ucf-et, aztán visszarakod. Illetve van, hogy nem a megfelelő modul alá húzza be az ucf-et, ilyenkor egy random verilog modult top modullá alakítasz (jobb egér, set as top module), majd az igazi top modulodat visszacsinálod top module-ra.
 
* Van, hogy az ISE nem veszi észre, hogy egy UCF file-t hozzáadtál. Abban nyílvánul ez meg, hogy a jó kódod letöltve nem csinál semmit. Ilyenkor fogod, eltávolítod a projektből az ucf-et, aztán visszarakod. Illetve van, hogy nem a megfelelő modul alá húzza be az ucf-et, ilyenkor egy random verilog modult top modullá alakítasz (jobb egér, set as top module), majd az igazi top modulodat visszacsinálod top module-ra.
 +
* Amikor első szimulációkor az ISIM hálózati kommunikációt akar nyitni, engedélyezni kell (lokális gépen nyit socketet saját magának, nem köszön ki a netre), különben nem fog működni.
 +
  
 
==Fontos megjegyzés==
 
==Fontos megjegyzés==
23. sor: 25. sor:
  
 
==Mérésről==
 
==Mérésről==
* Nálunk úgy volt, hogy le kellett csekkolni a verilogos progjaink szintaktikailag helyesek e! AZtán ki kellett választanunk az egyikőnkét, majd azt kellett
 
tesztelni a Wave valamivel(Nem kellett túl cifráznunk)! Azt létre kellett hozni egy topmodult, azaz egy tokot a készülékünknek amit terveztél
 
azt össze kell kötni egy előre definiált kézi clock-al, erre írni ucf fájlt, amit a mérési jegyzőkönyv segédletben találsz.
 
Amúgy a Webpack bevezető hasznos, annak a lépései alapján kell haladni. Ja és a végén ezt fel kellett tölteni FPGA-ra, és ott nyomógombokkal tesztelgetni!
 
Aki idáig eljutott az 5-öst kapott, aki nem az 4-est!
 
  
'''Jah és nálunk nem volt beugró, de ez tanárfüggő mert a hétfőiek írtak!''' ''by Szabi 2010''
+
Megváltozott, nincs információ róla. [http://wiki.test.sch.bme.hu/index.php?title=LaboRI_10._m%C3%A9r%C3%A9s_-_Sorrendi_h%C3%A1l%C3%B3zat_vizsg%C3%A1lata&action=edit Írd meg te]!
 
 
* Volt beugró az ellkérdésekből kaptunk kettőt, különböző párosításban. (pl. siznkron sorrendi hálózat tervezése + kritikus versenyhelyzet vagy setup time + Mealy és Moore közötti különbség). Sajnos mi csak 3.3-ig jutottunk, mert a 3.4nél nem tudtuk kicsalni az analizátorra az FPGA-ból az órajelet. Érdemes átnézni előtte, hogy hogy kell toplevel modult csinálni, azaz hogy kell két modult összekötni (verilog bevezetőben van egy nand kapus példa). Összességében jó jegyeket kaptunk, mert a mérésvezető sem tudta, hogy miért nem működik az elvárásainknak megfelelően az analizátor. 2010
 
  
 
==Segítségek==
 
==Segítségek==
* amennyiben ISE Webpack beépített szimulátorával szeretnéd tesztelni a házid win7 alatt, valószínű megakad a szimuláció elindításánál a következő üzenettel: This is a LITE version of ... MEGOLDÁS: winXP, ott működik, ahogy kell.
 
-- [[BucsiAndor|Bandi]] - 2010.11.22.
 
 
  
* [https://wiki.sch.bme.hu/pub/Villanyalap/LaborI10esM%e9r%e9s/aszi_sorr_halo.pdf Aszinkron sorrendi hálózatok - összefoglaló]
+
Megváltozott, nincs információ. [http://wiki.test.sch.bme.hu/index.php?title=LaboRI_10._m%C3%A9r%C3%A9s_-_Sorrendi_h%C3%A1l%C3%B3zat_vizsg%C3%A1lata&action=edit Írd meg te]!
* [https://wiki.sch.bme.hu/pub/Villanyalap/LaborI10esM%e9r%e9s/szink_sorr_halo.pdf Szinkron sorrendi hálózatok - összefoglaló]
 
* [https://wiki.sch.bme.hu/pub/Villanyalap/LaborI10esM%e9r%e9s/allapotmin.pdf Állapotminimalizálás]
 
* Digit gyakok: (felh:digit, jelszó:vifo1016) [http://bagira.iit.bme.hu/~tom/digit/digit_I/gyak/bsc1gy05.pdf 5.gyak - hazárd], [http://bagira.iit.bme.hu/~tom/digit/digit_I/gyak/gyak7.pdf#7 7. gyak - Sorrendi hálózatok], [http://bagira.iit.bme.hu/~tom/digit/digit_I/gyak/gyak_9.pdf 9.gyak - előzetes állapottábla felvétele], [http://bagira.iit.bme.hu/~tom/digit/digit_I/gyak/gyak_11.pdf 11.gyak - állapotösszevonás], [http://bagira.iit.bme.hu/~tom/digit/digit_I/gyak/gyak_12.pdf 12.gyak - állapotkódolás]  
 
  
* '''Topmodul tervezéshez''' ''by Csebisev''
 
<pre>
 
module topmodule(Z,X,NY,kezi,clk,res, state); //egy ún. topmodulba fogjuk össze a kézi órajelet és az elkészült házi feladatot
 
output Z; //ugyanúgy kell bánni vele, mint bármelyik modullall, vannak kimenetei, bemenetei
 
input  X,NY,kezi,clk,res;
 
output wire [2:0] state;
 
Moore m1(clk, res, X, Z, enout, state); //példányosítás, itt konkrétan veszünk a készmodulokból egy-egy "példányt" és beleillesztjük
 
kezi_clk kezi2 (NY,kezi,clk,res,enout); //a topmodulba.
 
endmodule
 
</pre>
 
 
==Hivatkozások==
 
==Hivatkozások==
* [http://bme.ysolt.net/Torlesre_kerulo_anyagok/S1_Digit1/Arato_Peter-Logikai_rendszerek_tervezese.pdf Arató Péter - Logikai rendszerek tervezése]
 
 
* [https://wiki.sch.bme.hu/pub/Villanyalap/DigitII/BenesczkyZoltn-Digitlistervezsfunkcionliselemekkelsmikroprocesszorokkal.pdf Benesóczky ZOltán - Digitális tervezés funkcionális elemekkel]
 
  
 
* [http://www.mit.bme.hu/oktatas/targyak/vimia304/jegyzet MIT-es anyagok]
 
* [http://www.mit.bme.hu/oktatas/targyak/vimia304/jegyzet MIT-es anyagok]
 
  
 
==Házik villanysiteról==
 
==Házik villanysiteról==
  
Ha már ide jutottál, hogy nagyon elakadtál, egy olyan jótanács: ne állapottáblázz, meg Karnaugh-táblázz. A fél órás feladatot három napra hosszabbítod (tapasztalatból mondom). Inkább kérdezz a tárgy listáján és/vagy a mérésvezetőktől, általában segítünk.
+
Ha már ide jutottál, hogy nagyon elakadtál, egy olyan jótanács: ne állapottáblázz, meg Karnaugh-táblázz. A fél órás feladatot három napra hosszabbítod (tapasztalatból mondom). Inkább kérdezz a tárgy listáján és/vagy a mérésvezetőktől, segítünk.
 
 
 
* [https://wiki.sch.bme.hu/pub/Villanyalap/LaboRI/hazi_10_perpernorbi.pdf Koszó Norbert_hazi_10_perpernorbi.pdf]
 
* [https://wiki.sch.bme.hu/pub/Villanyalap/LaborI10esM%e9r%e9s/10eshazi.pdf HF]
 
* [https://wiki.sch.bme.hu/pub/Villanyalap/LaborI10esM%e9r%e9s/sokHF.pdf több HF]
 
 
 
Egy  4 < n < 8  állapotú,  egyetlen  X  bementtel  rendelkező sorrendi automata a következő képpen működik. Bekapcsolás után a kezdő állapotban marad mindaddig, amíg az X bemenete 1-nem lesz, itt Z=0-át ad. Ezután minden órajelre újabb állaptba lép, és egy n-1 hosszúságú kimeneti sorozat következő  elemét adja a Z kimenetén. Ezt mindaddig folytatja, míg az n-edik állapotba nem lép, de X=1 esetén itt marad s a sorozat utolsó elemét adja a kimeneten, X=0 esetén pedig a kezdő állapotba lép és 0-át ad. A kimeneti sorozat természetesen nem lehet konstans és az utolsó bitje mindig 1.
 
 
 
Példa Mealy modell esetén, ha n=5 és a megadott kimeneti sorozat 1101:
 
X:001xxxx1110001x?
 
Z:000110111100001?
 
n=5, x=1011
 
 
 
b. Kapcsolási rajz Mealy modell szerinti automatához, Verilog leírás Moore modell szerintihez
 
<pre>
 
module Moore(X,Z,clk,RESET);
 
  input clk;
 
  input X;
 
  input RESET;
 
output reg Z;
 
  reg[2:0] S;
 
parameter a=3'b000;
 
parameter b=3'b001;
 
parameter c=3'b011;
 
parameter d=3'b010;
 
parameter e=3'b110;
 
parameter f=3'b100;
 
parameter g=3'b101;
 
always@(posedge clk or posedge RESET)
 
begin
 
if(RESET)
 
begin
 
S<=a;
 
Z<=0;
 
end
 
else
 
begin
 
case(S)
 
  a: begin if (X==1) S<=b; else S<=a; Z<=0; end
 
b: begin S<=c; Z<=1; end
 
c: begin S<=d; Z<=0; end
 
d: begin S<=e; Z<=1; end
 
e: begin S<=f; Z<=1; end
 
f: begin if (X==0) S<=g; else S<=f; Z<=1; end
 
g: begin S<=a; Z<=0; end
 
default: begin S<=a; Z<=0; end
 
endcase
 
 
 
end
 
end
 
endmodule
 
</pre>
 
----
 
<pre>
 
/*****************************************************************
 
* *
 
*  Sorrendi automata, x=0 esetén marad alapállapotban, z=0.   *
 
*  x=1 esetén z=0, majd sorban kiadja a kimenetre az 1101 *
 
*  sorozatot x értékétől függetlenül. A kimeneten ezután addig  *
 
*  marad z=1, amíg x=1, ezután alapállapotba kerül. *
 
* *
 
*  Máté Miklós VZ7YRO *
 
* *
 
*****************************************************************/
 
 
 
 
 
module automata(clk, reset, x, z);
 
  input clk;
 
  input reset;
 
  input x;
 
  output z;
 
 
 
  reg [2:0] y;  // Állapot
 
  reg [2:0] Y;  // Új állapot
 
 
 
  // Paraméterekkel állapotkódolás
 
  parameter  a = 3'b000;
 
  parameter S1 = 3'b001;
 
  parameter S2 = 3'b101;
 
  parameter S3 = 3'b110;
 
  parameter S4 = 3'b111;
 
 
 
  // Állapotregiszter (D tároló)
 
  always @(posedge clk or posedge reset)
 
if (reset) y <= a;
 
else y <= Y;
 
 
 
  // Állapotlogika
 
  always @(x or y)
 
case (y)
 
a:  if (x) Y <= S1;
 
else Y <= a;
 
S1:   Y <= S2;
 
S2:   Y <= S3;
 
S3:   Y <= S4;
 
S4: if (x) Y <= S4;
 
else Y <= a;
 
default: Y <= a;
 
endcase
 
 
 
  // Kimeneti logika
 
  assign z = y[0];
 
 
 
endmodule
 
</pre>
 
 
 
-- [[MolnarGabika|GAbika]] - 2010.
 
 
 
 
 
[[Category:Villanyalap]]
 

A lap 2012. november 5., 20:02-kori változata

Ez az oldal a korábbi SCH wiki-ről lett áthozva. Az eredeti változata itt érhető el.

Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor kérlek javíts rajta egy rövid szerkesztéssel.

Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót


Xilinx ISE bugok

Ide sorolhatjátok fel a Xilinx ISE használatakor felfedezett bugokat. A tárgy honlapján is van felsorolás, de ahhoz te nem tudsz írni..

  • A Windows 8 a 14.2-es verziónál még nem támogatott, van, ami a 64 bites verzióval megy csak, van, ami a 32 bitessel. Nekem telepíteni sem sikerült.
  • Telepítéskor a telepítési könyvtár ne tartalmazzon se szóközt, se számot, se ékezetes karaktert, a c: meghajtóra érdemes rakni. C:\Xilinx könyvtár menni szokott, Linux alatt pl. a /opt/Xilinx megfelelő
  • Windows alatt ISE futása alatt ne válts billentyűkiosztást, lefagy a rendszer (évek óta nem javított ISE bug).
  • Linux alatt érdemes az LC_ALL környezeti változót (meg a LANG-ot, meg a LOCALE-t) en_US-re vagy C-re állítani, különben vacakolhat. Mondjuk a Webpack-nál nem szokott előjönni.
  • Van, hogy az ISE nem veszi észre, hogy egy UCF file-t hozzáadtál. Abban nyílvánul ez meg, hogy a jó kódod letöltve nem csinál semmit. Ilyenkor fogod, eltávolítod a projektből az ucf-et, aztán visszarakod. Illetve van, hogy nem a megfelelő modul alá húzza be az ucf-et, ilyenkor egy random verilog modult top modullá alakítasz (jobb egér, set as top module), majd az igazi top modulodat visszacsinálod top module-ra.
  • Amikor első szimulációkor az ISIM hálózati kommunikációt akar nyitni, engedélyezni kell (lokális gépen nyit socketet saját magának, nem köszön ki a netre), különben nem fog működni.


Fontos megjegyzés

  • Az itteni segédletek (főleg a megoldott házipéldák) elavultak, nektek már nem kell állapottáblázni meg ilyenek (bezzeg az én időmben...). Mérésvezetők jókat szoktunk mosolyogni, ha valaki ilyet ad be... :-).
  • A beugrókérdések SEM ezek. És nem feltétlen az ellenőrző kérdések. A segédlet megértésével, készüléskor a mérés fejben végigpörgetésével teljesíthetőek. Nem szoktatok bukni rajta.

-- Main.wachag - 2012.10.08.

Beugró

Ezek eléggé elavult kidolgozások.

Néhány mérésvezetőknek van egy rossz szokása: a segédletben levő kérdést teszi fel, csak megváltoztat benne valamit. Vagy esetenként ugyanarra kérdez rá, csak másik irányból, más szavakkal. Tehát érdemes értve tanulni, nem bevágni.


Mérésről

Megváltozott, nincs információ róla. Írd meg te!

Segítségek

Megváltozott, nincs információ. Írd meg te!

Hivatkozások

Házik villanysiteról

Ha már ide jutottál, hogy nagyon elakadtál, egy olyan jótanács: ne állapottáblázz, meg Karnaugh-táblázz. A fél órás feladatot három napra hosszabbítod (tapasztalatból mondom). Inkább kérdezz a tárgy listáján és/vagy a mérésvezetőktől, segítünk.