|
1.Spec
À̹ø¿¡ ¼³°èÇÑ mini vending machineÀº State MachineÀ» »ç¿ëÇÏÁö ¾Ê°í
IF¹®À» »ç¿ëÇÑ ºñ±³Àû °£´ÜÇÑ vending machineÀÔ´Ï´Ù.
coin(¿©±â¿¡¼´Â 4°¡Áö Á¾·ùÀÇ coinÀ» »ç¿ëÇÕ´Ï´Ù. 10¿ø, 50¿ø, 100¿ø, 500¿øÂ¥¸®ÀÔ´Ï´Ù.)À»
¹ÞÀ¸¸é coinÀÇ °ªÀÌ ´õÇØÁ®¼ sum¿¡ ÀúÀåÀ̵ǰí, ¼±ÅùöưÀ¸·Î menu(coffee, tea, orange_juce)Áß Çϳª¸¦
¼±ÅÃÇϸé, ÇØ´ç menuÀÇ Ãâ·Â ½ÅÈ£(coffee_out, tea_out, orange_jout)°¡ '1'ÀÌ µË´Ï´Ù.
¸¸¾à sum¿¡ ÀúÀåµÈ coin°ª¿¡¼ menu°ªÀ» »« Àܾ×ÀÌ ÀÖ¾î Àܵ· ¹Ýȯ¹öư(change_return)À»
´©¸£¸é sum¿¡ ÀÖ´ø ³²Àº ±Ý¾×ÀÌ change(Àܾ×)·Î Ãâ·ÂµÇ°í sumÀº '0'·Î µË´Ï´Ù.
¿©±â¿¡¼ coinÀÇ °ªÀ» ±×´ë·Î »ç¿ëÇÏÁö ¾Ê°í ÆíÀÇ»ó °¢°¢ 1, 5, 10, 50À¸·Î °è»êÇÏ¿´½À´Ï´Ù.
sum°ú changeÀÇ data bit¼öµµ ¿øÇÏ´Â °ªÀÇ ¹üÁÖ¸¦ °í·ÁÇÏ¿© Àû´çÈ÷ ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀúÈñ design¿¡¼´Â 8bit·Î Á¤ÀÇÇß½À´Ï´Ù.
2.Input/Output
3.Timing
4.Block Diagram
5.VHDL Code : mini_vending_machine.vhd
Test Vector : mini_vending_machine_tb.vhd
|
|