<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=A_2005.tavasz_zh_mintak%C3%A9rd%C3%A9sei</id>
	<title>A 2005.tavasz zh mintakérdései - Laptörténet</title>
	<link rel="self" type="application/atom+xml" href="https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=A_2005.tavasz_zh_mintak%C3%A9rd%C3%A9sei"/>
	<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=A_2005.tavasz_zh_mintak%C3%A9rd%C3%A9sei&amp;action=history"/>
	<updated>2026-05-13T04:11:55Z</updated>
	<subtitle>Az oldal laptörténete a wikiben</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://vik.wiki/index.php?title=A_2005.tavasz_zh_mintak%C3%A9rd%C3%A9sei&amp;diff=137637&amp;oldid=prev</id>
		<title>Unknown user: Új oldal, tartalma: „{{GlobalTemplate|Infoalap|MeresLaborEllGy}}  vissza a Mérés 1 tárgyhoz ----  &#039;&#039;&#039;az oldal frissítés, szerkesztés alatt&#039;&#039;&#039;  A [http://portal.mit.bme…”</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=A_2005.tavasz_zh_mintak%C3%A9rd%C3%A9sei&amp;diff=137637&amp;oldid=prev"/>
		<updated>2012-10-21T20:04:30Z</updated>

		<summary type="html">&lt;p&gt;Új oldal, tartalma: „{{GlobalTemplate|Infoalap|MeresLaborEllGy}}  vissza &lt;a href=&quot;/MeresLabor1&quot; class=&quot;mw-redirect&quot; title=&quot;MeresLabor1&quot;&gt;a Mérés 1 tárgyhoz&lt;/a&gt; ----  &amp;#039;&amp;#039;&amp;#039;az oldal frissítés, szerkesztés alatt&amp;#039;&amp;#039;&amp;#039;  A [http://portal.mit.bme…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Új lap&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{GlobalTemplate|Infoalap|MeresLaborEllGy}}&lt;br /&gt;
&lt;br /&gt;
vissza [[MeresLabor1|a Mérés 1 tárgyhoz]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;az oldal frissítés, szerkesztés alatt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
A [http://portal.mit.bme.hu/oktatas/targyak/vimm2224/ml1zh-mintakerd.pdf 2005 tavaszi útmutató] alapján&lt;br /&gt;
&lt;br /&gt;
==Az 5. mérésre alkalmas mérőhelyen==&lt;br /&gt;
		Verilog nyelven tervezzen egy szinkron hálózatot, amely az alant specifikált funkciót valósítja meg. A&lt;br /&gt;
		[[WebPACK]] rendszer segítségével készítse el a leírást! A leírás elkészítésénél a [[WebPACK]] sablonjait&lt;br /&gt;
		(Language Templates) is használhatja. Nem szükséges hierarchikus tervezést végezni. (Szimulációval&lt;br /&gt;
		ellenőrizze a működést!) A leírást fordítsa le, és töltse le az FPGA mérőpanelbe! Demonstrálja a helyes&lt;br /&gt;
		működést!&lt;br /&gt;
&lt;br /&gt;
===5-1 Funkció:===&lt;br /&gt;
&lt;br /&gt;
		 Az SW5-SW8 kapcsolók állását átírja egy regiszterbe, amíg a BTN1 gomb meg van nyomva. A&lt;br /&gt;
		 regiszter a BTN2 gombbal vihető alapállapotba, az alapállapot 4&amp;#039;b1111. A regiszter órajele az FPGA panel&lt;br /&gt;
		  50 MHz-es órajele. A regiszter kimeneteinek állapotát az LD5-8 LED-ek jelzik.&lt;br /&gt;
&lt;br /&gt;
====Megoldás:====&lt;br /&gt;
&lt;br /&gt;
A megoldás hibáit lásd a kód után - direkt nem javítottam át, mert így többet lehet belőle tanulni.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
module gyak1(CLK,BTN1,BTN2,SW5,SW6,SW7,SW8,LED5,LED6,LED7,LED8);&lt;br /&gt;
	 input CLK;&lt;br /&gt;
	 input BTN1;&lt;br /&gt;
	 input BTN2;&lt;br /&gt;
	 input SW5;&lt;br /&gt;
	 input SW6;&lt;br /&gt;
	 input SW7;&lt;br /&gt;
	 input SW8;&lt;br /&gt;
	 output LED5;&lt;br /&gt;
	 output LED6;&lt;br /&gt;
	 output LED7;&lt;br /&gt;
	 output LED8;&lt;br /&gt;
&lt;br /&gt;
reg [3:0] Q;&lt;br /&gt;
reg LED5, LED6, LED7, LED8;&lt;br /&gt;
&lt;br /&gt;
always @(posedge CLK)&lt;br /&gt;
begin&lt;br /&gt;
	if (BTN1)&lt;br /&gt;
	begin&lt;br /&gt;
		if (BTN2)&lt;br /&gt;
			Q = 4&amp;#039;b1111;&lt;br /&gt;
		else&lt;br /&gt;
		begin&lt;br /&gt;
			Q[3] = SW5;&lt;br /&gt;
			Q[2] = SW6;&lt;br /&gt;
			Q[1] = SW7;&lt;br /&gt;
			Q[0] = SW8;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if (BTN2)&lt;br /&gt;
		Q = 4&amp;#039;b1111;&lt;br /&gt;
	LED5 = Q[3];&lt;br /&gt;
	LED6 = Q[2];&lt;br /&gt;
	LED7 = Q[1];&lt;br /&gt;
	LED8 = Q[0];&lt;br /&gt;
end&lt;br /&gt;
endmodule	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Always blokkban blokkoló (&amp;#039;=&amp;#039;) értékadást csak indokolt esetben szabad használni, mivel mérés laboron nem tanítjuk, hogy ez mi, always-en belül ne írjatok ilyet, helyette a nem blokkolót (&amp;#039;&amp;lt;=&amp;#039;) kell használni! Ellenőrző ZH-n 3 pont levonás járt a hibáért.&lt;br /&gt;
&lt;br /&gt;
A LED-ekre kikötni ennél sokkal elegánsabban is lehet, de ha már így kötöd ki, akkor is használj inkább assign-t. A dupla regiszterezést a kimeneten felejtsd el, semmi értelme, hogy késleltesd egy órajellel - ez a hiba mondjuk csak onnantól jelentkezik, hogy áttérsz nem blokkoló értékadásra; a szintézer ebben a kódban LED5-8 regisztereit automatikusan eldobja (&amp;quot;kombinációs hálózat procedurális leírása&amp;quot;).&lt;br /&gt;
&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
-- [[SzellAndras|Bandita]] - 2006.05.17.&lt;br /&gt;
&lt;br /&gt;
===5-2 Funkció:===&lt;br /&gt;
&lt;br /&gt;
		 A hálózat egy 4 bites Johnson számláló (léptető regiszter, melynek soros kimenete invertálva van&lt;br /&gt;
		 visszavezetve a soros bemenetre). A számláló a BTN2 gombbal vihető alapállapotba, az alapállapot 4&amp;#039;b0000.&lt;br /&gt;
		 A hálózat órajele az FPGA panel 50 MHz-es órajele. A számláló léptetését egy kb. másodpercenként érkező,&lt;br /&gt;
		 1 órajel szélességű engedélyező jel végzi. Ezt a jelet is a hálózat állítja elő. A számláló kimeneteinek&lt;br /&gt;
		 állapotát az LD5-8 LED-ek jelzik.&lt;br /&gt;
&lt;br /&gt;
====Megoldás:====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
		  &amp;lt;pre&amp;gt;&lt;br /&gt;
module gyak2(CLK,BTN2,LED5,LED6,LED7,LED8,PUSH);&lt;br /&gt;
	 input CLK;&lt;br /&gt;
	 input BTN2;&lt;br /&gt;
	 output LED5;&lt;br /&gt;
	 output LED6;&lt;br /&gt;
	 output LED7;&lt;br /&gt;
	 output LED8;&lt;br /&gt;
	 output PUSH;&lt;br /&gt;
&lt;br /&gt;
reg [25:0] Q = 26&amp;#039;d0;&lt;br /&gt;
reg [3:0] J = 4&amp;#039;b0000;&lt;br /&gt;
reg PUSH;&lt;br /&gt;
reg TMP;&lt;br /&gt;
reg LED5, LED6, LED7, LED8;&lt;br /&gt;
&lt;br /&gt;
always @(posedge CLK)&lt;br /&gt;
begin&lt;br /&gt;
//	PUSH = (Q == 26&amp;#039;d1);	// ModelSimben teszteléshez&lt;br /&gt;
	PUSH = (Q == 26&amp;#039;d49999999);&lt;br /&gt;
	if (BTN2) J = 4&amp;#039;b0000;&lt;br /&gt;
	if (PUSH)&lt;br /&gt;
	begin&lt;br /&gt;
		TMP = ~J[0];&lt;br /&gt;
		J[0] = J[1];&lt;br /&gt;
		J[1] = J[2];&lt;br /&gt;
		J[2] = J[3];&lt;br /&gt;
		J[3] = TMP;&lt;br /&gt;
		Q &amp;lt;= 0;&lt;br /&gt;
	end&lt;br /&gt;
	else Q &amp;lt;= Q+1;&lt;br /&gt;
	LED5 = J[3];&lt;br /&gt;
	LED6 = J[2];&lt;br /&gt;
	LED7 = J[1];&lt;br /&gt;
	LED8 = J[0];&lt;br /&gt;
end				 &lt;br /&gt;
endmodule&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;quot;100&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
Javított változat:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
module gyak2(CLK,BTN2,LED);&lt;br /&gt;
	input CLK;&lt;br /&gt;
	input BTN2;&lt;br /&gt;
	output reg [3:0] LED;&lt;br /&gt;
&lt;br /&gt;
	reg [25:0] Q = 26&amp;#039;d0;&lt;br /&gt;
&lt;br /&gt;
always @(posedge CLK)&lt;br /&gt;
begin&lt;br /&gt;
	if (BTN2) LED &amp;lt;= 4&amp;#039;b0000;&lt;br /&gt;
	else begin&lt;br /&gt;
//		if (Q == 26&amp;#039;d3)  // Modelsimben teszteléshez&lt;br /&gt;
		if (Q == 26&amp;#039;d49999999)&lt;br /&gt;
		begin&lt;br /&gt;
			LED[2:0] &amp;lt;= LED[3:1];&lt;br /&gt;
			LED[3] &amp;lt;= ~LED[0];&lt;br /&gt;
			Q &amp;lt;= 0;&lt;br /&gt;
		end&lt;br /&gt;
		else Q &amp;lt;= Q + 1;&lt;br /&gt;
	end&lt;br /&gt;
end				 &lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;=&amp;#039; vs &amp;#039;&amp;lt;=&amp;#039; ld. előző feladat, viszont ha csak szimplán lecseréled az értékadás-jeleket, akkor azzal baj van, mert úgy öt bitessé válik a számláló; megoldás a TMP eldobása, hiszen nem blokkoló értékadásnál a jobboldalak értékelődnek ki először, és a baloldalak csak az összes kiértékelés után (órajelre) kapnak új értéket.&lt;br /&gt;
&lt;br /&gt;
A nem blokkoló értékadásnál a nem reset állapotot else ágba kell tenni, különben hibásan működik.&lt;br /&gt;
&lt;br /&gt;
Mivel van kijelölt reset (BTN2), értelmetlen a szimulációhoz értékadás a J regiszter deklarációjában.&lt;br /&gt;
&lt;br /&gt;
A J-k shiftelése rövidebben is történhet a LED[2:0] &amp;lt;= LED[3:1] sorral.&lt;br /&gt;
&lt;br /&gt;
LED-ekre kivezetés itt is hibás, ld. első feladat. A busz kivezetéseire az UCF fájlban LED&amp;lt;3&amp;gt;, LED&amp;lt;2&amp;gt;...-vel hivatkozhatsz.&lt;br /&gt;
&lt;br /&gt;
A Q számláló külön always blokkban opcionális, nagyobb design esetén jó ha szétválasztod az egymástól független funkciókat, a szintézer is hatékonyabban kezeli és jobban átlátható, itt nem feltétlenül növeli az olvashatóságot, ezért bennhagytam.&lt;br /&gt;
&lt;br /&gt;
A szintézis során az eredeti és az általam leírt megoldás kb. ugyanannyira jók, de a kód kicsit áttekinthetőbb.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[SzellAndras|Bandita]] - 2006.05.17.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===5-3 Funkció:===&lt;br /&gt;
&lt;br /&gt;
		 A hálózat egy 4 bites bináris felfelé számláló. A hálózat az SW1 kapcsoló 0 állásában alapállapotba&lt;br /&gt;
kerül. A számláló alapállapota 4&amp;#039;b0000. A hálózat órajele az FPGA panel 50 MHz-es órajele. Az SW1&lt;br /&gt;
kapcsoló 1 állásában számláló számol. A számlálást egy kb. másodpercenként érkező, 1 órajel szélességű&lt;br /&gt;
engedélyező jel ütemezi. Ezt a jelet is a hálózat állítja elő. A számláló állapotát a hétszegmenses display&lt;br /&gt;
egyik számjegye jelzi, hexadecimális formában. &lt;br /&gt;
&lt;br /&gt;
====Megoldás:====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
module gyak3(CLK,SW1,A4,PUSH,CA,CB,CC,CD,CE,CF,CG);&lt;br /&gt;
	 input CLK;&lt;br /&gt;
	 input SW1;&lt;br /&gt;
	 output A4;&lt;br /&gt;
	 output CA,CB,CC,CD,CE,CF,CG;&lt;br /&gt;
	 output PUSH;&lt;br /&gt;
&lt;br /&gt;
reg [25:0] Q = 26&amp;#039;d0;&lt;br /&gt;
reg [3:0] C = 4&amp;#039;b0000;&lt;br /&gt;
reg PUSH;&lt;br /&gt;
reg CA,CB,CC,CD,CE,CF,CG,A4;&lt;br /&gt;
&lt;br /&gt;
always @(posedge CLK)&lt;br /&gt;
begin&lt;br /&gt;
//	PUSH = (Q == 26&amp;#039;d1);	// ModelSimben teszteléshez&lt;br /&gt;
	PUSH = (Q == 26&amp;#039;d49999999);&lt;br /&gt;
	if (SW1)&lt;br /&gt;
	begin&lt;br /&gt;
		if (PUSH)&lt;br /&gt;
		begin&lt;br /&gt;
			if (C == 4&amp;#039;d15) C &amp;lt;= 4&amp;#039;b0;&lt;br /&gt;
			else C &amp;lt;= C+1;&lt;br /&gt;
			Q &amp;lt;= 26&amp;#039;b0;&lt;br /&gt;
		end&lt;br /&gt;
		else Q &amp;lt;= Q+1;&lt;br /&gt;
	end&lt;br /&gt;
	else C &amp;lt;= 4&amp;#039;b0;&lt;br /&gt;
	case(C)&lt;br /&gt;
		4&amp;#039;h0 :&lt;br /&gt;
		begin&lt;br /&gt;
			CA = 0; CB = 0; CC = 0; CD = 0; CE = 0; CF = 0; CG = 1; A4 = 1;&lt;br /&gt;
		end&lt;br /&gt;
		4&amp;#039;h1 :&lt;br /&gt;
		begin&lt;br /&gt;
			CA = 1; CB = 0; CC = 0; CD = 1; CE = 1;	CF = 1; CG = 1; A4 = 1;&lt;br /&gt;
		end&lt;br /&gt;
		4&amp;#039;h2 :&lt;br /&gt;
		begin&lt;br /&gt;
			CA = 0; CB = 0; CC = 1; CD = 0; CE = 0;	CF = 1; CG = 0; A4 = 1;&lt;br /&gt;
		end&lt;br /&gt;
		4&amp;#039;h3 :&lt;br /&gt;
		begin&lt;br /&gt;
			CA = 0; CB = 0; CC = 0; CD = 0; CE = 1;	CF = 1; CG = 0; A4 = 1;&lt;br /&gt;
		end&lt;br /&gt;
		4&amp;#039;h4 :&lt;br /&gt;
		begin&lt;br /&gt;
			CA = 1; CB = 0; CC = 0; CD = 1; CE = 1;	CF = 0; CG = 0; A4 = 1;&lt;br /&gt;
		end&lt;br /&gt;
		4&amp;#039;h5 :&lt;br /&gt;
		begin&lt;br /&gt;
			CA = 0; CB = 1; CC = 0; CD = 0; CE = 1;	CF = 0; CG = 0; A4 = 1;&lt;br /&gt;
		end&lt;br /&gt;
		4&amp;#039;h6 :&lt;br /&gt;
		begin&lt;br /&gt;
			CA = 0; CB = 1; CC = 0; CD = 0; CE = 0;	CF = 0; CG = 0; A4 = 1;&lt;br /&gt;
		end&lt;br /&gt;
		4&amp;#039;h7 :&lt;br /&gt;
		begin&lt;br /&gt;
			CA = 0; CB = 0; CC = 0; CD = 1; CE = 1;	CF = 1; CG = 1; A4 = 1;&lt;br /&gt;
		end&lt;br /&gt;
		4&amp;#039;h8 :&lt;br /&gt;
		begin&lt;br /&gt;
			CA = 0; CB = 0; CC = 0; CD = 0; CE = 0;	CF = 0; CG = 0; A4 = 1;&lt;br /&gt;
		end&lt;br /&gt;
		4&amp;#039;h9 :&lt;br /&gt;
		begin&lt;br /&gt;
			CA = 0; CB = 0; CC = 0; CD = 0; CE = 1;	CF = 0; CG = 0; A4 = 1;&lt;br /&gt;
		end&lt;br /&gt;
		4&amp;#039;hA :&lt;br /&gt;
		begin&lt;br /&gt;
			CA = 0; CB = 0; CC = 0; CD = 0; CE = 0;	CF = 1; CG = 0; A4 = 1;&lt;br /&gt;
		end&lt;br /&gt;
		4&amp;#039;hB :&lt;br /&gt;
		begin&lt;br /&gt;
			CA = 1; CB = 1; CC = 0; CD = 0; CE = 0;	CF = 0; CG = 0; A4 = 1;&lt;br /&gt;
		end&lt;br /&gt;
		4&amp;#039;hC :&lt;br /&gt;
		begin&lt;br /&gt;
			CA = 1; CB = 1; CC = 1; CD = 0; CE = 0;	CF = 1; CG = 0; A4 = 1;&lt;br /&gt;
		end&lt;br /&gt;
		4&amp;#039;hD :&lt;br /&gt;
		begin&lt;br /&gt;
			CA = 1; CB = 0; CC = 0; CD = 0; CE = 0;	CF = 1; CG = 0; A4 = 1;&lt;br /&gt;
		end&lt;br /&gt;
		4&amp;#039;hE :&lt;br /&gt;
		begin&lt;br /&gt;
			CA = 0; CB = 0; CC = 1; CD = 0; CE = 0;	CF = 0; CG = 0; A4 = 1;&lt;br /&gt;
		end&lt;br /&gt;
		4&amp;#039;hF :&lt;br /&gt;
		begin&lt;br /&gt;
			CA = 0; CB = 1; CC = 1; CD = 1; CE = 0;	CF = 0; CG = 0; A4 = 1;&lt;br /&gt;
		end&lt;br /&gt;
	endcase&lt;br /&gt;
end				 &lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
module szaml(CLK,SW1,A4,COUT);&lt;br /&gt;
	 input CLK;&lt;br /&gt;
	 input SW1;&lt;br /&gt;
	 output A4;&lt;br /&gt;
	 output [6:0] COUT;&lt;br /&gt;
&lt;br /&gt;
reg [25:0] Q = 26&amp;#039;d0;&lt;br /&gt;
reg [3:0] C = 4&amp;#039;b0000;&lt;br /&gt;
wire PUSH;&lt;br /&gt;
&lt;br /&gt;
assign A4 = 1;&lt;br /&gt;
assign PUSH = (Q == 26&amp;#039;d1);	// ModelSimben teszteléshez&lt;br /&gt;
//assign PUSH = (Q == 26&amp;#039;d49999999);&lt;br /&gt;
&lt;br /&gt;
always @(posedge CLK)&lt;br /&gt;
begin&lt;br /&gt;
	if (SW1)&lt;br /&gt;
	begin&lt;br /&gt;
		if (PUSH)&lt;br /&gt;
		begin&lt;br /&gt;
			if (C == 4&amp;#039;d15) C &amp;lt;= 4&amp;#039;b0;&lt;br /&gt;
			else C &amp;lt;= C+1;&lt;br /&gt;
			Q &amp;lt;= 26&amp;#039;b0;&lt;br /&gt;
		end&lt;br /&gt;
		else Q &amp;lt;= Q+1;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
hexa dekoder(C,COUT);&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&lt;br /&gt;
module hexa(IN, OUT);&lt;br /&gt;
	input [3:0] IN;&lt;br /&gt;
	&lt;br /&gt;
	output [6:0] OUT;&lt;br /&gt;
	reg[6:0] OUT;&lt;br /&gt;
	always @(IN)&lt;br /&gt;
		case (IN)&lt;br /&gt;
		 4&amp;#039;b0001 : OUT = 7&amp;#039;b1111001;	// 1&lt;br /&gt;
		 4&amp;#039;b0010 : OUT = 7&amp;#039;b0100100;	// 2&lt;br /&gt;
		 4&amp;#039;b0011 : OUT = 7&amp;#039;b0110000;	// 3&lt;br /&gt;
		 4&amp;#039;b0100 : OUT = 7&amp;#039;b0011001;	// 4&lt;br /&gt;
		 4&amp;#039;b0101 : OUT = 7&amp;#039;b0010010;	// 5&lt;br /&gt;
		 4&amp;#039;b0110 : OUT = 7&amp;#039;b0000010;	// 6&lt;br /&gt;
		 4&amp;#039;b0111 : OUT = 7&amp;#039;b1111000;	// 7&lt;br /&gt;
		 4&amp;#039;b1000 : OUT = 7&amp;#039;b0000000;	// 8&lt;br /&gt;
		 4&amp;#039;b1001 : OUT = 7&amp;#039;b0010000;	// 9&lt;br /&gt;
		 4&amp;#039;b1010 : OUT = 7&amp;#039;b0001000;	// A&lt;br /&gt;
		 4&amp;#039;b1011 : OUT = 7&amp;#039;b0000011;	// b&lt;br /&gt;
		 4&amp;#039;b1100 : OUT = 7&amp;#039;b1000110;	// C&lt;br /&gt;
		 4&amp;#039;b1101 : OUT = 7&amp;#039;b0100001;	// d&lt;br /&gt;
		 4&amp;#039;b1110 : OUT = 7&amp;#039;b0000110;	// E&lt;br /&gt;
		 4&amp;#039;b1111 : OUT = 7&amp;#039;b0001110;	// F&lt;br /&gt;
		 default : OUT = 7&amp;#039;b1000000;	// 0&lt;br /&gt;
		endcase&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
A hexa modul megtalálható: Edit/Languge Templates/Verilog/Synthesis Constructs/Coding Examples/Misc/7-Segment Display Hex Conversion&lt;br /&gt;
&lt;br /&gt;
Ez a a verzió elvileg [[ModelSimben]] működik, FPGA-ra sosem lett feltöltve. &lt;br /&gt;
&lt;br /&gt;
-- [[PrieglRoland|Roli]] - 2006.05.18.&lt;br /&gt;
&lt;br /&gt;
[Az eredeti változaton módosítás: assign az A4-re és a PUSH-ra, push az előző példához hasonlóan kihagyható amúgy. FPGA-n ellenőrizve, működik. -- [[SzellAndras|Bandita]] - 2006.05.18. ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
-- [[SzentimreyHarrachDanielMatyas|Đani]] - 2005.05.11&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Baloldali: blokkoló vs. nem blokkoló hibás ugyanúgy mint eddig, itt CA-CF esetén, plusz önkínzás ezt begépelni. Az engedélyező anódra nincs értelme minden sorban kiadni az 1-et, fixen ki kell kötni assignnal.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[SzellAndras|Bandita]] - 2006.05.17.&lt;br /&gt;
&lt;br /&gt;
===5-4 Funkció:===&lt;br /&gt;
&lt;br /&gt;
		A hálózat egy 4 bites léptető regiszter, melynek kimenete vissza van kötve a bemenetre. A hálózat&lt;br /&gt;
		az SW1 kapcsoló 0 állásában alapállapotba kerül. A regiszter alapállapota 4&amp;#039;b1000. A hálózat órajele az&lt;br /&gt;
		FPGA panel 50 MHz-es órajele. Léptetés az SW1 kapcsoló 1 állásában történik. A számlálást egy kb.&lt;br /&gt;
		másodpercenként érkező, 1 órajel szélességű engedélyező jel ütemezi. Ezt a jelet is a hálózat állítja elő. A&lt;br /&gt;
		regiszter kimeneteinek állapotát az LD5-8 LED-ek jelzik..&lt;br /&gt;
&lt;br /&gt;
====Megoldás:====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
module regiszter(CLK, LED, SW1, PUSH);&lt;br /&gt;
		  input CLK;&lt;br /&gt;
	input SW1;&lt;br /&gt;
	output PUSH;&lt;br /&gt;
	output reg [3:0] LED;&lt;br /&gt;
	reg PUSH;&lt;br /&gt;
	reg [25:0] Q = 26&amp;#039;d0;&lt;br /&gt;
&lt;br /&gt;
always @(posedge CLK)&lt;br /&gt;
	begin&lt;br /&gt;
	 PUSH = (Q == 26&amp;#039;d1);	// ModelSimben teszteléshez&lt;br /&gt;
		  // PUSH = (Q == 26&amp;#039;d49999999);&lt;br /&gt;
		  if (SW1)&lt;br /&gt;
			  begin&lt;br /&gt;
				  if (PUSH)&lt;br /&gt;
					 begin&lt;br /&gt;
						LED[3]&amp;lt;=LED[0];&lt;br /&gt;
						LED[0] &amp;lt;=LED[1]; &lt;br /&gt;
						LED[1]&amp;lt;=LED[2]; &lt;br /&gt;
						LED[2]&amp;lt;=LED[3]; &lt;br /&gt;
&lt;br /&gt;
						Q &amp;lt;= 26&amp;#039;b0;&lt;br /&gt;
					 end&lt;br /&gt;
										  &lt;br /&gt;
				  else Q &amp;lt;= Q+1;&lt;br /&gt;
			  end&lt;br /&gt;
		  else&lt;br /&gt;
			 LED &amp;lt;= 4&amp;#039;b1000;		 &lt;br /&gt;
		end&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ez sem lett FPGA-ra töltve, csak [[ModelSimben]] tesztelve.&lt;br /&gt;
&lt;br /&gt;
-- [[PrieglRoland|Roli]] - 2006.05.18.&lt;br /&gt;
* {{InLineFileLink|Infoalap|MeresLaborEllGy|EM-Kidolgozottfeladatok.pdf|EM-Kidolgozottfeladatok.pdf}}: Kidolgozott EM kiadott feladatok&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Infoalap]]&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>