»óǰ ¾È³» ¹× ȯºÒ, ±³È¯, ¹è¼Û¹®ÀÇ | |
- °¡°Ô ÀüȹøÈ£ : | 1544-1900 |
- Àüȹ®ÀÇ ½Ã°£ : |
¿ÀÀü 9½ÃºÎÅÍ ¿ÀÈÄ 6½Ã±îÁö (¸ÅÁÖ ¿ù¿äÀÏ, È¿äÀÏ, ¼ö¿äÀÏ, ¸ñ¿äÀÏ, ±Ý¿äÀÏ, °øÈÞÀÏ Á¦¿Ü) |
- °¡°Ô À̸ÞÀÏ : | ink@kyobobook.co.kr |
- ÀÌ¿ë Åùèȸ»ç : | CJ´ëÇÑÅë¿î |
ÆÇ¸Å°¡°ÔÁ¤º¸ |
|
- »ç¾÷ÀÚ¸í : | (ÁÖ)±³º¸¹®°í |
- »ç¾÷ÀÚµî·Ï¹øÈ£ : | 102-81-11670 |
- Åë½ÅÆÇ¸Å¾÷½Å°í : | 01-0653 |
- Çö±Ý¿µ¼öÁõ : ¹ß±Þ°¡´É |
|
ÀüÈÁÖ¹® ¹× °áÁ¦¹®ÀÇ |
|
- ²ÉÇÇ´Â ¾ÆÄ§¸¶À» : | 1644-8422 |
°¡°Ô¿Í Á÷°Å·¡¸¦ ÇÏ½Ã¸é ²É¼ÛÀÌ Àû¸³ ¹× °¢Á¾ ÇýÅÿ¡¼ Á¦¿ÜµÇ°í, ¸¸ÀÏÀÇ ¹®Á¦°¡ ¹ß»ýÇÏ´Â °æ¿ì¿¡µµ ²É¸¶ÀÇ µµ¿òÀ» ¹ÞÀ¸½Ç ¼ö ¾ø½À´Ï´Ù. °¡°ÔÀÇ ºÎ´çÇÑ ¿ä±¸, ºÒ°øÁ¤ ÇàÀ§ µî¿¡ ´ëÇØ¼µµ ²É¸¶·Î Á÷Á¢ ÀüÈÁÖ¼¼¿ä. |
»ó¼¼Á¤º¸ | ±¸¸ÅÈıâ (0°³) | »óǰ Q&A (0) | ¹è¼Û/±³È¯/ȯºÒ ¾È³» |
Ã¥¼Ò°³Verilog´Â Çϵå¿þ¾î¼¼ú¾ð¾î(hardware description language ¶Ç´Â HDL) Áß Çϳª·ÎÇϵå¿þ¾îÀÇ µ¿ÀÛÀ» ¼¼ú ¶Ç´Â ¸ðµ¨¸µÇϴµ¥ ÀÌ¿ëµÈ´Ù. º» ¼ÀûÀº ÇÕ¼º °¡´ÉÇÏ°í ½Ç¹«¿¡¼ µðÁöÅÐȸ·Î ¸ðµ¨¸µ¿¡ °¡Àå ¸¹ÀÌ ¾²ÀÌ´Â ¹®¹ý À§ÁÖ·Î Verilog HDL ¹®¹ýÀ» ¼³¸íÇÑ´Ù. Verilog HDLÀÇ Ç¥ÁØÀº ¼ö Â÷·Ê¿¡ °ÉÃÄ °³Á¤µÇ¾ú´Âµ¥, ±× Áß 2005³â¿¡ °³Á¤µÈ IEEEStd 1364-2005¿¡ ¸ÂÃç ¹®¹ýÀÌ ¼³¸íµÈ´Ù.º» ¼Àû¿¡¼ »ç¿ëµÇ´Â Verilog ¿ë¾îµéÀº °¡±ÞÀû ¿µ¾î·Î Ç¥±â¸¦ Çϸç, ÇÊ¿äÇÑ °æ¿ìÇѱ۰ú º´ÇàÇ¥±âÇÑ´Ù. Verilog Ç¥ÁØÀ» Æ÷ÇÔÇÑ ¼ö ¸¹Àº °ü·ÃÀÚ·áµéÀÌ ¿µ¾î·Î µÇ¾î ÀÖ´ÂÁ¡À» °í·ÁÇÏ¸é ¿ë¾îµéÀ» ¿µ¾î·Î ÀÌ¿ëÇÏ´Â °ÍÀº Áß¿äÇÏ´Ù. ´Ù¸¸, Çѱ۷ΠVerilog HDL¼ÀûÀ» ÀÛ¼ºÇÏ¿©, ÇÑ¿µÈ¥¿ëü·Î ¼¼úÇÏ°Ô µÈ Á¡ ³Ê±×·¯ÀÌ ÀÌÇØÇØ Áֽñ⠹ٶø´Ï´Ù. Çѱ۷Π¹ø¿ªÀÌ ÀÚ¿¬½º·¯¿î ¿ë¾îµµ ¿µ¾î ¿ë¾î°¡ ³Î¸® ¾²ÀÌ´Â °æ¿ì¿¡´Â ÀϺη¯ Çѱ۰ú ¿µ¾î¸¦ º´±âÇÏ¿´´Ù. Çѱ۷Π¹ø¿ªÀÌ ¾î·Æ°Å³ª ¾î»öÇÑ ¿ë¾îµéÀº ¿µ¾î ¹ßÀ½À» Çѱ۷Πǥ±âÇÏ¿´´Ù. ¶ÇÇÑ ¸í»ç ¿Ü¿¡ Ưº°ÇÑ ¼ºÁúÀ̳ª ÇàÀ§¸¦ Ç¥ÇöÇϴµ¥ ¾²ÀÌ´Â ¿µ¾î ´Ü¾îÀÇ °æ¿ì,Çѱ۰ú ÇÔ²² º´±âÇÏ¿© µ¶ÀÚµéÀÌ ÇØ´ç ¿µ¾î ´Ü¾î°¡ Verilog °ü·Ã ¿µ¹®ÀÚ·á¿¡ ¾²¿´À» ¶§Àǹ̸¦ µÇ»õ±æ ¼ö ÀÖµµ·Ï ÇÏ¿´´Ù.
¸ñÂ÷1 ¼·Ð
1.1 ¼³°è Ãß»óÈ ¼öÁØ (Design Abstraction Level)
1.2 µðÁöÅÐ ¹ÝµµÃ¼ ¼³°è ÀýÂ÷ (Design Flow)
1.3 Verilog HDL Ç¥Áذú °£·«ÇÑ ¿ª»ç
2 Verilog HDL ±âÃÊ ¹× ¾îÈÖ ±ÔÄ¢ (Lexical Conventions)
2.1 ¹®¹ý ±â¼ú
2.2 °ª ü°è (Value System)
2.3 ¾îÈÖ ÅäÅ« (Lexical Tokens)
2.3.1 °ø¹é (White Space)
2.3.2 ½Äº°ÀÚ (Identifiers)
2.3.3 ÄÚ¸àÆ® (Comments)
2.3.4 ¿¬»êÀÚ (Operator)
2.3.5 ¼ýÀÚ (Numbers)
2.3.6 Ű¿öµå (Keyword)
2.3.7 ½Ã½ºÅÛ Å½ºÅ© ¹× ÇÔ¼ö (System Tasks and Functions)
3 ù ¹øÂ° Verilog ÄÚµå
3.1 ±âº» ±¸¼º ºí·Ï ¸ðµâ (module) ±¸Á¶Ã¼
3.2 Æ÷Æ® (Ports)
3.3 °èÃþÀû ¼³°è (Hierarchical Design)¿Í ÀνºÅϽº (Instance)
3.4 ù ¹øÂ° Å×½ºÆ®º¥Ä¡
3.5 Value Change Dump (VCD) ÆÄÀÏ
4 Á¶ÇÕȸ·Î ¸ðµ¨¸µ
4.1 ÇÁ¸®¹ÌƼºê (Built-In Primitive)
4.2 µ¥ÀÌÅÍŸÀÔ (Data Type)
4.2.1 Net µ¥ÀÌÅÍŸÀÔ
4.2.2 Variable µ¥ÀÌÅÍŸÀÔ
4.3 ÆÄ¶ó¹ÌÅÍ (Parameter)
4.4 Ç¥Çö½Ä (Expressions)
4.4.1 »ê¼ú¿¬»êÀÚ (Arithmetic Operators)
4.4.2 °ü°è¿¬»êÀÚ (Relational Operators)
4.4.3 µî°¡¿¬»êÀÚ (Equality Operators)
4.4.4 ³í¸®¿¬»êÀÚ (Logical Operators)
4.4.5 ºñÆ®º°¿¬»êÀÚ (Bitwise Operators)
4.4.6 ¸®´ö¼Ç¿¬»êÀÚ (Reduction Operators)
4.4.7 ½ÃÇÁÆ®¿¬»êÀÚ (Shift Operators)
4.4.8 Á¶°Ç¿¬»êÀÚ (Conditional Operator)
4.4.9 ¹À½ (Concatenation)°ú º¹Á¦ (Replication)
4.5 ÇÒ´ç (Assignments)
4.5.1 °è¼ÓÇÒ´ç (Continuous Assignments)
4.5.2 ÀýÂ÷ÇÒ´ç (Procedural Assignments)
4.6 Ç¥Çö½Ä °è»ê ±ÔÄ¢
4.6.1 Ç¥Çö½Ä Å©±â (Expression Size ¶Ç´Â Expression Bit Length)
4.6.2 Ç¥Çö½ÄÀÇ Á¾·ù
4.6.3 Ç¥Çö½Ä °è»ê ±ÔÄ¢
4.6.4 ÇÒ´ç¹® °è»ê ±ÔÄ¢
4.6.5 ºÎÈ£°¡ Àִ ǥÇö½Ä¿¡¼ X¿Í Z ó¸®
4.7 ¼³°è ¿¹ - Adder
4.7.1 Ripple Carry Adder
4.7.2 Carry Look Ahead Adder
4.7.3 Áö¿¬½Ã°£ÀÌ Æ÷ÇÔµÈ ½Ã¹Ä·¹À̼Ç
5 ¼øÂ÷ȸ·Î ¸ðµ¨¸µ
5.1 ÇàÀ§Àû ¸ðµ¨ (Behavioral Model) °³¿ä
5.2 ÀýÂ÷±¸Á¶Ã¼ (Procedural Constructs)
5.2.1 always ±¸Á¶Ã¼
5.2.2 initial ±¸Á¶Ã¼
5.2.3 ¼³°è ¿¹ - D Çø³Ç÷Ó
5.3 ÀýÂ÷¹®ÀÇ ½Ã°£Á¦¾î (Timing Control)
5.3.1 Áö¿¬½Ã°£ Á¦¾î (Delay Control)
5.3.2 À̺¥Æ® Á¦¾î (Event Control)
5.4 ºí·Ï¹® (Block Statements)
5.4.1 ¼øÂ÷ºí·Ï
5.4.2 º´·Äºí·Ï
5.5 ÀýÂ÷ÇÒ´ç (Procedural Assignments)
5.5.1 ºí·ÏÅ· ÀýÂ÷ÇÒ´ç (Blocking procedural assignments)
5.5.2 ³íºí·ÏÅ· ÀýÂ÷ÇÒ´ç (Nonblocking procedural assignments)
5.6 ±× ¹ÛÀÇ ÀýÂ÷¹®
5.6.1 Á¶°Ç¹®
5.6.2 case¹®
5.6.3 ¿øÄ¡ ¾Ê´Â ·¡Ä¡ (Latch)¸¦ ÇÇÇÏ´Â ¹æ¹ý
5.6.4 ¼³°è ¿¹ - ¸®¼Â °¡´ÉÇÑ (Resettable) D Çø³Ç÷Ó
5.6.5 ¹Ýº¹¹® (Looping statement)
6 Finite State Machine ±¸Çö
6.1 Finite State Machine
6.2 ¼øÂ÷ȸ·ÎÀÇ ±¸Á¶ °íÂû
6.3 FSM ÄÚµù¹æ½Ä - Verilog FSM coding style with explicitly separated flipflops
6.4 FSM ¿¹ - First-in First-out (FIFO) Memory
7 °èÃþÀû ¼³°è
7.1 ¸ðµâ ÆÄ¶ó¹ÌÅÍ °ª µ¤¾î¾²±â (Overriding module parameter values)
7.2 °èÃþ (Hierarchy) ¹× ½ºÄß (Scope)
7.3 ½ºÄß (Scope) ±ÔÄ¢
7.4 Generate ±¸Á¶Ã¼
7.4.1 Loop generate ±¸Á¶Ã¼
7.4.2 Conditional generate ±¸Á¶Ã¼
7.4.3 À̸§ ¾ø´Â generate ±¸Á¶Ã¼¿¡ ÀÚµ¿ ºÎ¿©µÇ´Â À̸§
8 Appendix
8.1 8°³ÀÇ ÀúÀå¼Ò¸¦ °¡Áø 16-bit FIFO fifo16.v ÄÚµå
8.2 Á¦ÇÑµÈ Á¶°ÇÀÇ ·£´ý Å×½ºÆ®ÆÐÅÏÀ» ÀÌ¿ëÇÑ fifo16 Å×½ºÆ®º¥Ä¡ ¿¹
»öÀÎ |
±³È¯ ¹× ȯºÒ °¡´É |
»óǰ¿¡ ¹®Á¦°¡ ÀÖÀ» °æ¿ì |
1) »óǰÀÌ Ç¥½Ã/±¤°íµÈ ³»¿ë°ú ´Ù¸£°Å³ª ºÒ·®(ºÎÆÐ, º¯Áú, ÆÄ¼Õ, Ç¥±â¿À·ù, À̹°È¥ÀÔ, Áß·®¹Ì´Þ)ÀÌ ¹ß»ýÇÑ °æ¿ì - ½Å¼±½Äǰ, ³ÃÀå½Äǰ, ³Ãµ¿½Äǰ : ¼ö·ÉÀÏ ´ÙÀ½³¯±îÁö ½Åû - ±âŸ »óǰ : ¼ö·ÉÀϷκÎÅÍ 30ÀÏ À̳», ±× »ç½ÇÀ» ¾È ³¯ ¶Ç´Â ¾Ë ¼ö ÀÖ¾ú´ø ³¯·ÎºÎÅÍ 30ÀÏ À̳» ½Åû 2) ±³È¯ ¹× ȯºÒ½Åû ½Ã ÆÇ¸ÅÀÚ´Â »óǰÀÇ »óŸ¦ È®ÀÎÇÒ ¼ö ÀÖ´Â »çÁøÀ» ¿äûÇÒ ¼ö ÀÖÀ¸¸ç »óǰÀÇ ¹®Á¦ Á¤µµ¿¡ µû¶ó Àç¹è¼Û, ÀϺÎȯºÒ, ÀüüȯºÒÀÌ ÁøÇàµË´Ï´Ù. ¹Ýǰ¿¡ µû¸¥ ºñ¿ëÀº ÆÇ¸ÅÀÚ ºÎ´ãÀ̸ç ȯºÒÀº ¹ÝǰµµÂøÀϷκÎÅÍ ¿µ¾÷ÀÏ ±âÁØ 3ÀÏ À̳»¿¡ ¿Ï·áµË´Ï´Ù. |
´Ü¼øº¯½É ¹× ÁÖ¹®Âø¿ÀÀÇ °æ¿ì |
1) ½Å¼±½Äǰ, ³ÃÀå½Äǰ, ³Ãµ¿½Äǰ ÀçÆÇ¸Å°¡ ¾î·Á¿î »óǰÀÇ Æ¯¼º»ó, ±³È¯ ¹× ȯºÒÀÌ ¾î·Æ½À´Ï´Ù. 2) ÈÀåǰ ÇǺΠƮ·¯ºí ¹ß»ý ½Ã Àü¹®ÀÇ Áø´Ü¼ ¹× ¼Ò°ß¼¸¦ Á¦ÃâÇϽøé ȯºÒ °¡´ÉÇÕ´Ï´Ù. ÀÌ °æ¿ì Á¦¹Ýºñ¿ëÀº ¼ÒºñÀÚ ºÎ´ãÀ̸ç, ¹è¼Ûºñ´Â ÆÇ¸ÅÀÚ°¡ ºÎ´ãÇÕ´Ï´Ù. ÇØ´ç ÈÀåǰ°ú ÇǺΠƮ·¯ºí°úÀÇ »ó´çÇÑ Àΰú°ü°è°¡ ÀÎÁ¤µÇ´Â °æ¿ì ¶Ç´Â Áúȯġ·á ¸ñÀûÀÇ °æ¿ì¿¡´Â Áø´Ü¼ ¹ß±Þºñ¿ëÀ» ÆÇ¸ÅÀÚ°¡ ºÎ´ãÇÕ´Ï´Ù. 3) ±âŸ »óǰ ¼ö·ÉÀϷκÎÅÍ 7ÀÏ À̳» ½Åû, ¿Õº¹¹è¼Ûºñ´Â ¼ÒºñÀÚ ºÎ´ã 4) ¸ð´ÏÅÍ ÇØ»óµµÀÇ Â÷ÀÌ·Î »ö»óÀ̳ª À̹ÌÁö°¡ ´Ù¸¥ °æ¿ì ´Ü¼øº¯½É¿¡ ÀÇÇÑ ±³È¯ ¹× ȯºÒÀÌ Á¦ÇÑµÉ ¼ö ÀÖ½À´Ï´Ù. |
|
±³È¯ ¹× ȯºÒ ºÒ°¡ |
1) ½Åû±âÇÑÀÌ Áö³ °æ¿ì 2) ¼ÒºñÀÚÀÇ °ú½Ç·Î ÀÎÇØ »óǰ ¹× ±¸¼ºÇ°ÀÇ Àüü ¶Ç´Â ÀϺΰ¡ ¾ø¾îÁö°Å³ª ÈѼÕ, ¿À¿°µÇ¾úÀ» °æ¿ì 3) °³ºÀÇÏ¿© ÀÌ¹Ì ¼·ÃëÇÏ¿´°Å³ª »ç¿ë(Âø¿ë ¹× ¼³Ä¡ Æ÷ÇÔ)ÇØ »óǰ ¹× ±¸¼ºÇ°ÀÇ °¡Ä¡°¡ ¼Õ»óµÈ °æ¿ì 4) ½Ã°£ÀÌ °æ°úÇÏ¿© »óǰÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì 5) »ó¼¼Á¤º¸ ¶Ç´Â »ç¿ë¼³¸í¼¿¡ ¾È³»µÈ ÁÖÀÇ»çÇ× ¹× º¸°ü¹æ¹ýÀ» ÁöŰÁö ¾ÊÀº °æ¿ì 6) »çÀü¿¹¾à ¶Ç´Â ÁÖ¹®Á¦ÀÛÀ¸·Î ÅëÇØ ¼ÒºñÀÚÀÇ ÁÖ¹®¿¡ µû¶ó °³º°ÀûÀ¸·Î »ý»êµÇ´Â »óǰÀÌ ÀÌ¹Ì Á¦ÀÛÁøÇàµÈ °æ¿ì 7) º¹Á¦°¡ °¡´ÉÇÑ »óǰ µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì 8) ¸À, Çâ, »ö µî ´Ü¼ø ±âÈ£Â÷ÀÌ¿¡ ÀÇÇÑ °æ¿ì |