Some of my Published Papers

ÁÖ·Î ÇÏ´Â ÀÏÀÌ °³¹ß, ±× Áß¿¡¼­µµ ASIC °³¹ßÀÌ´Ùº¸´Ï ³í¹®ÀÌ ¸ðµÎ ±¸Çö(implemetation)¿¡ °üÇÑ °ÍÀÔ´Ï´Ù.
Due to the nature of my works, they are all papers on implementations

Some of my patents

  • 11 Korean patents(mostly in ATM communication)
  • "STM-based ATM cell physical layer processing circuit", US patent 5978377, Nov.1999
  • "Direct memory read and cell transmission apparatus for ATM cell segmentation system", US patent 6275504, Aug. 14. 2001

  • ÀÚÀ¯·Ó°Ô ¾´ ±Û ¸î °³

    ÀúÈñ ¿¬±¸¼Ò Á¤Áö¼º¾¾°¡ Á¦ÀÇÇÑ °Íµµ ÀÖÁö¸¸, ½Ã°£ÀÌ µÇ´Â ´ë·Î, »ý°¢³ª´Â ´ë·Î Ȥ½Ã ´Ù¸¥ »ç¶÷µé¿¡°Ô µµ¿òÀÌ µÉ ¸¸ÇÑ ±ÛµéÀ» ½á¼­ ¿Ã·Á µÎ·Á°í ÇÕ´Ï´Ù. Á¦°¡ ¾´ conference ³í¹®µéµµ ¸ðµÎ ¿Ã·Á ³õ°í ½ÍÁö¸¸ ºÒÇàÈ÷µµ ¿Ü±¹¿¡ ÆÄ°ß³ª°¡ ÀÖ´Â »çÀÌ Á¦ ÄÄÇ»ÅÍ¿¡ virus°¡ ħÀÔÇؼ­ ³í¹® ÆÄÀϵéÀÌ ¸ðµÎ Áö¿öÁ® ¹ö·È´õ±º¿ä. ÈæÈæ!.. ±×·¡µµ °¡²û¾¿ ã¾Æ¿Í ÁÖ¼¼¿ä. ÀÏ´Ü ÃÖ±Ù¿¡ ¿¬±¸¼Ò °Ô½ÃÆÇ¿¡ ¿Ã·È´ø ±ÛÀ» ¿©±â ¿Ã¸³´Ï´Ù.

    Àß ¾²¸é Æí¸®ÇÑ UNIX ¸í·É¾î 3°³


    ´©°¡ °£´ÜÇÏ°Ô ¼Ò°³Çؼ­ °Ô½ÃÆÇ¿¡ ¿Ã·Á ÁÖ¸é ÁÁ°Ú´Ù°í Çؼ­..
    UNIX¿¡¼­ ¾Ë¾ÆµÎ¸é Æí¸®ÇÑ ¸í·É¾îµé·Î´Â
    1. sed (stream editor)
    ¸¸¾à ¾î¶² file¿¡¼­ ¸ðµç "lion"À̶ó´Â ¸»À» "cat"À¸·Î ¹Ù²Ù¾î tmp¶ó´Â file·Î ¸¸µé°í ½ÍÀ¸¸é
    > sed -e '1,$s/lion/cat/g' filename > tmp
    ÇÏ¸é µË´Ï´Ù. Á÷Á¢ ¿­Áö ¾Ê¾Æµµ µÇÁÒ.
    ±×·³ "lion"À̶ó´Â ¸»ÀÌ µé¾î°£ ÁÙÀº ¸ðµÎ Áö¿ö¼­ tmp¶ó´Â file·Î ¸¸µé°í ½ÍÀ¸¸é
    > sed -e '/lion/D' filename > tmp
    ÇÏ¸é µË´Ï´Ù.
    fileµéÀ» ÁöÁ¤ÇÒ ¶§
    */*.list (¸ðµç directory ¹Ù·Î ¹Ø¿¡ ÀÖ´Â *.list)
    ¿Í °°Àº °Íµµ µË´Ï´Ù. ¿¹¸¦ µé¾î
    > rm */*.obj
    °°ÀÌ ¸»ÀÔ´Ï´Ù.

    2. foreach
    ¿¹¸¦ ¸ðµç *.vhd fileÀ» ¿­¾î¼­ lionÀ» tiger·Î ¹Ù²Ù°í ½ÍÀ¸¸é
    foreach i (*.vhd)
    sed -e '1,$s/lion/tiger/g' $i
    end
    ÀÌ·¸°Ô ÇÏ¸é µÇÁö¿ä.
    ¶Ç´Â ¸ðµç *.vhd fileÀ» ¿­¾î¼­ lionÀ» tiger·Î ¹Ù²Û µÚ¿¡ ÆÄÀÏ È®ÀåÀÚ¸¦ .v·Î ¹Ù²Ù°í ½ÍÀ¸¸é
    foreach i (*.vhd)
    sed -e '1,$s/lion/tiger/g' $i > tmp
    mv tmp `cat $i | sed -e '1,$s/vhd/v/g'`
    end
    ÀÌ·¸°Ô ÇÏ¸é µË´Ï´Ù. À§¿¡¼­ ` `´Â ¾î¶² ¸í·ÉÀÇ Ãâ·ÂÀ» ¶æÇϱ⠶§¹®¿¡ fileÀ̸§À» catÇÑ ÈÄ¿¡ vhd¸¦ v·Î ¹Ù²Û »õ·Î¿î À̸§À» ¸¸µé ¶§ »ç¿ëÇÑ °ÍÀÔ´Ï´Ù.
    foreach´Â find¿Í °°ÀÌ »ç¿ëÇϸé Æí¸®ÇÒ ¶§°¡ ¸¹½À´Ï´Ù.
    ¿¹¸¦ µé¾î ÇöÀç directoryÀÇ ¹Ø¿¡ À§Ä¡ÇÏ´Â ¸ðµç .vhd file¿¡ ´ëÇؼ­ line¼ö¸¦ ¾Ë°í ½ÍÀ¸¸é
    foreach i (`find . -name \*.vhd -print`)
    wc -l $i
    end
    ÀÌ·¸°Ô ÇÏ¸é µÇÁö¿ä.

    3. awk ( '¿ÀÅ©'·Î ¹ßÀ½)
    Text fileÀÇ lineµéÀ» ÀÐÀ» ¶§¸¶´Ù patternÀ» °Ë»çÇؼ­ ¾î¶² actionÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù. Ä÷³ ´ÜÀ§·Î ¾î¶² ÀÏÀ» Çϱ⵵ ÆíÇÕ´Ï´Ù.
    ¿¹¸¦ µé¾î lionÀ̶ó´Â ÆÐÅÏÀÌ ³ª¿À´Â ÁÙ¸¶´Ù ¼¼ ¹ø° À§Ä¡ÇÏ´Â ¸»À» ²¨³»¾î »Ì°í ½Í´Ù¸é
    awk '/lion/{print $3}' filename
    ÇÏ¸é µÇ´Â °ÍÀÔ´Ï´Ù. ¸¸¾à summary¶ó´Â ¸»ÀÌ ³ª¿À´Â ÁÙ¸¶´Ù ¼¼ ¹ø° À§Ä¡ÇÑ °ª¸¸ ¸ðµÎ ÇÕÇؼ­ ¸¶Áö¸·¿¡ ÇÁ¸°Æ®ÇÏ°í ½ÍÀ¸¸é
    awk '/summary/{sum = sum + $3}; END{print sum}' filename
    ÀÌ·¸°Ô ÇÏ¸é µÇ´Â °ÍÀÔ´Ï´Ù. ƯÁ¤ Á¤º¸¸¦ »Ì¾Æ ¿¬»êÀ» ÇÒ ¼öµµ ÀÖ°í ³»ºÎ¿¡ º¯¼ö¸¦ µÎ¾î »ç¿ëÇÒ ¼öµµ Àֱ⠶§¹®¿¡ Àß ¾²¸é º°ÁþÀ» ´Ù(?) ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº manualÀ̳ª internetÀ» ÂüÁ¶Çϼ¼¿ä. º¸Åë awk -f aa.awk filename ¿Í °°ÀÌ awk script¸¦ ¸¸µé¾î »ç¿ëÇÕ´Ï´Ù.
    ½¬¿î ¿¹¸¦ ¸î°³¸¸ Ãß°¡ÇØ º¸ÁÒ(2001.8.30)
    ¿¹¸¦ µé¾î ù¹ø° Ä÷³°ú ¼¼¹ø° Ä÷³¸¸ printÇÏ°í ½Í´Ù¸é
    awk '{print $1 $3}' file > tmp
    ÀÌ·¸°Ô ÇÏ¸é µÇ°í¿ä
    Å« verilog netlist¿¡¼­ assign abc = abc; ¿Í °°ÀÌ self assignment°¡ ÀÖ´Â ºÎºÐ¸¸ commentó¸®ÇÏ°í ½ÍÀ¸¸é(ÁÙ ½ÃÀÛ¿¡ //¸¦ »ðÀÔ)
    /assign/ {if ($2 ";" == $4 ) print "//" $0; else print $0}
    !/assign/{print $0}
    ÀÌ·¸°Ô ÇÏ¸é µË´Ï´Ù.
    ¶Ç ÇÕ¼º script¿¡¼­ compileÀ̶ó´Â ¸í·É¾î°¡ ÀÖÀ¸¸é ±× ¾Õ¿¡ ¿¹¸¦ µé¾î set_max_transition = 1.2 ¶ó´Â ÁÙÀ» »ðÀÔÇÏ°í ½ÍÀ¸¸é
    /compile/{printf "set_max_transition\n"; printf $0}
    !/compile/{print}
    ÀÌ·¸°Ô ÇÏ¸é µË´Ï´Ù.
    ¸¸¾à¿¡ ¿©·¯°³ÀÇ *.scr ÆÄÀϵ鿡 ´ëÇØ À§¿Í °°Àº 󸮸¦ ÇÏ°í ½ÍÀ» ¶§ À§ÀÇ script¸¦ tt.awk¿¡ ½á µÎ¾ú´Ù¸é
    foreach i (*.scr)
    awk -f tt.awk $i >! tmp
    \mv tmp $i
    end
    ÀÌ·¸°Ô ÇÏ¸é µÇÁö¿ä. ¸¸¾à ƯÁ¤ fileµé¿¡ ´ëÇØ ÇÏ°í ½Í°í ±× fileµéÀÇ ¸í´ÜÀÌ list¶ó´Â file¿¡ ÀÖÀ¸¸é
    foreach i (`cat list`)
    ..¸¶Âù°¡Áö·Î ÀÌ·¸°Ô ÇÏ¸é µË´Ï´Ù.

    Àß ¾²¸é Æí¸®ÇÑ vi ¸í·É¾î


    ´ÙÀ½¿¡´Â vi¿¡ ´ëÇؼ­ ¾Ë¾ÆµÎ¸é ¸·°­ÇÑ ±â´Éµé¿¡ ´ëÇØ °£´ÜÈ÷ ¼Ò°³ÇØ º¸ÁÒ.
    ¸¹Àº »ç¶÷µéÀº vi°¡ ¾ÆÁÖ ´Ü¼øÇÏ°í Ãʺ¸ÀûÀÎ editor·Î ¾Ë°í Àִµ¥ »ç½ÇÀº °¡Àå ¸·°­ÇÑ editorÀÔ´Ï´Ù. ¸¸¾à text editing ´ëȸ°¡ ÀÖ´Ù¸é vi¸¦ »ç¿ëÇÏ´Â °í¼ö°¡ ¿ì½ÂÇÏÁö ¾ÊÀ»±î..
    ¸¶¿ì½º ¿òÁ÷ÀÌ´Â °ÍÀÌ ¾ó¸¶³ª ½Ã°£ÀÌ ¸¹ÀÌ °©´Ï±î, ¶Ç window¿¡ Ä¿¼­¸¦ À§Ä¡ÇÏ°í type-inÇÏ´Â °Íµµ ½Ã°£ÀÌ ¸¹ÀÌ °É¸®°í¿ä. vi¿¡¼­´Â ±×³É Å°º¸µå¿¡¼­ ¸ðµç °ÍÀ» ³¡³À´Ï´Ù.
    ¿©±â¼­´Â ±âº»ÀûÀÎ °ÍÀº(h,j,k,l,p,P,a,A,b,u,w,r,R,d,D,dd,J,yy ...µî vi¿¡´Â ±â´ÉÀÌ ¾ø´Â Å°¸¦ ã±â°¡ Èûµé Á¤µµÀÔ´Ï´Ù. ¹°·Ð ¸ðµÎ command ¸ðµå¿¡¼­ µ¿ÀÛ) ¼³¸íÇÏÁö ¾Ê°í, »ç¶÷µéÀÌ ¸ô¶ó¼­ Àß ¾²Áö ¾Ê´Â Æí¸®ÇÑ ±â´ÉÀ» ¼Ò°³ÇÏ°Ú½À´Ï´Ù.

    1. Mark
    ¸í·É¾î´Â m ÀÔ´Ï´Ù. ƯÁ¤ lineÀ» a¶ó°í markÇÏ°í ½ÍÀ¸¸é ±×³É maÇÏ½Ã¸é µË´Ï´Ù.
    ³ªÁß¿¡ a·Î °¡°í ½ÍÀ¸¸é 'a ÇÏ¸é µÇ°í¿ä, aÀ§Ä¡¿¡¼­ ÇöÀç ÁÙ±îÁö lionÀ» tiger·Î ¹Ù²Ù°í ½ÍÀ¸¸é
    :'a,.s/lion/tiger/g'
    ÇÏ¸é µË´Ï´Ù. ¶Ç enterµµ Ç¥½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. Ctrl V ´ÙÀ½¿¡ enter¸¦ Ä¡¸é ^MÀ¸·Î Ç¥½ÃµÇ¸é¼­ enter°¡ µË´Ï´Ù. ±×·¯´Ï±î ¸ðµç ÁÙ¿¡¼­ comma¸¦ ã¾Æ¼­ '=>'·Î ¹Ù²Ù°í ÁÙÀ» ¹Ù²Ù°í ½ÍÀ¸¸é
    $s/,/=> ^M/g
    ÇÏ¸é µÇÁö¿ä. À§¿¡¼­ ^MÀ» Âï±â À§Çؼ­ ½ÇÁ¦·Î´Â Ctrl+VÇÑ ÈÄ¿¡ enterÅ°¸¦ Ä£ °ÍÀÔ´Ï´Ù.
    ¶Ç´Â ¾î´À ±¸°£ a¿¡¼­ b±îÁö (¹°·Ð markingÇÑ ÈÄ¿¡) lineÀÇ ½ÃÀÛ¿¡´Ù°¡ tabÀ» µÎ°í entry¶ó´Â ¸»À» ³Ö°í ½ÍÀ¸¸é
    : 'a,'b s/^/ entry/g'
    ¶ó°í ÇÏ¸é µÇÁö¿ä.(entry ¾Õ¿¡ tabÀ» µÎ¾ú½À´Ï´Ù.) ¸Ç µÚ¿¡ ÀÖ´Â g ¿É¼ÇÀ» »©¸é ÇÑ ÁÙ¿¡ ´ëÇؼ­ ÇÑ ¹ø¸¸ ÇÑ´Ù´Â ¶æÀÔ´Ï´Ù.
    ¶Ç a¿Í b»çÀ̸¦ ¸ù¶¥ copyÇؼ­ ´Ù¸¥ À§Ä¡¿¡ °¡¼­ placeÇÏ°í ½ÍÀ¸¸é
    : 'a,'b y
    ÇÑ ÈÄ¿¡ ÇØ´ç À§Ä¡¿¡ °¡¼­ p ÇÏ¸é µÇ´Â °ÍÀÔ´Ï´Ù. Èûµé°Ô ¸¶¿ì½º·Î ½ºÅ©·ÑÇÒ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. a¿¡¼­ b±îÁö Áö¿ì·Á¸é 'a,'b d ÇÏ¸é µÇ°ÚÁÒ?

    2. search & replace
    À§¿¡µµ ³ª¿ÔÁö¸¸ ^´Â ÁÙÀÇ Ã³À½, $´Â ÁÙÀÇ ¸¶Áö¸·À» ¶æÇϹǷΠsearch¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯´Ï±î ÁÙÀÇ ½ÃÀÛ¿¡ ÀÖ´Â lion¸¸ ã¾Æ¼­ tiger·Î ¹Ù²Ù°í ½ÍÀ¸¸é
    :s/^lion/tiger
    ÇÏ¸é µÇ°í a Ç¥½ÃÇÑ °÷ºÎÅÍ ÇöÀç line±îÁö aa¸¦ bb·Î ¹Ù²Ù°í ½ÍÀ¸¸é :'a,. s/aa/bb/g ÇÏ¸é µË´Ï´Ù.
    ÁøÁ¤ÇÑ viÀÇ power´Â regular expressionÀ» ¾µ ¶§ ³ªÅ¸³³´Ï´Ù. (Lenarning vi editor¶ó´Â Ã¥¿¡ Àß ³ª¿É´Ï´Ù.)
    ¿¹¸¦ µé¾î ¸ðµç ÁÙ¿¡¼­ abc¶ó´Â patternºÎÅÍ ÁÙ ³¡±îÁö¸¦ tiger·Î °íÄ¡°í ½ÍÀ¸¸é
    :%s/abc.*/tiger
    ÇÏ¸é µÇ°í¿ä,
    abc : out std_logic_vector(7 downto 0);
    go_gen : in std_logic;
    ...
    °ú °°Àº ºÎºÐÀ»
    abc => abc,
    go_gen => go_gen,
    ...
    ·Î ¹Ù²Ù°í ½ÍÀ¸¸é
    :'a,.s/ \(.*\) :.*/\1 => \1,
    ·Î ÇÏ¸é µË´Ï´Ù.
    ¶Ç tabÀ̳ª space°¡ ¿©·¯°³ ÀÖ´Â °ÍÀ» ÇϳªÀÇ tabÀ¸·Î Ç¥½ÃÇÏ°í ½ÍÀ¸¸é
    :s/[ ][ ]*/ /g
    ·Î ÇÏ¸é µË´Ï´Ù. ¿©±â¼­ bracket¾È¿¡´Â tab°ú space¸¦ Çϳª¾¿ Àû¾ú½À´Ï´Ù.
    g ¸í·Éµµ Æí¸®ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î schoolÀ̶ó´Â ¸»ÀÌ ³ª¿À´Â ÁÙ¸¶´Ù middleÀ» high·Î ¹Ù²Ù°í ½ÍÀ¸¸é
    :%g/shcool/s/middle/high/g
    ·Î ÇÏ¸é µË´Ï´Ù.
    ¶Ç dog¶ó´Â ¸»ÀÌ ³ª¿À´Â ÁÙÀ» ¸ðµÎ Áö¿ì°í ½ÍÀ¸¸é
    :%g/dog/d
    ÇÏ¸é µÇÁö¿ä.
    ¸ðµç ÁÙÀ» ´ë¹®ÀÚ·Î ¹Ù²Ù°í ½ÍÀ¸¸é
    :%s/\(.*\)/\U\1
    ·Î ÇÏ¸é µË´Ï´Ù. ¿¹°¡ ³Ê¹« ¸¹¾Æ¼­ ´Ù µé ¼ö°¡ ¾ø½À´Ï´Ù.

    3. Macro ÁöÁ¤
    ÀÌ°ÍÀº ¹Ýº¹µÇ´Â key ÀÔ·ÂÀ» ÇϳªÀÇ macro·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Â ±â´ÉÀÔ´Ï´Ù. ¿¹¸¦ µé¾î ¾î´À file¿¡¼­ ¸î ÁÙ¿¡ °ÉÃÄ aa,bb,cc,dd,ee,..ÀÌ·± ÁÙÀÌ Àִµ¥ ÀÌ°ÍÀ»
    aa => aa,
    bb => bb,
    cc => cc,
    ¶ó°í ¹Ù²Ù°í ½Í´Ù°í ÇսôÙ. ±×·¯¸é ¸ÕÀú
    $s/,/ => ^M/g
    ÇÑ ÈÄ¿¡
    /[a-z]
    ·Î Çؼ­ ã±â¸¦ ÇØ µÐ µÚ (¾ËÆĺª ¼Ò¹®ÀÚ¸¦ ã´Â °ÍÀÔ´Ï´Ù.) ³ªÁß¿¡ n (new:°è¼Óã±â)¸¦ »ç¿ëÇϱâ À§ÇØ ¹Ì¸® ¼öÀÛ(?)À» ºÎ¸®´Â °ÍÀÓ.
    map t yw$pn
    À̶ó°í Çϸé (word¸¦ yankÇؼ­ ÁÙ ³¡À¸·Î °£ ÈÄ¿¡ yankÇÑ word¸¦ placeÇÏ°í, ´ÙÀ½ alphabet patternÀ» ã¾Æ ´ÙÀ½ À§Ä¡·Î °£´Ù.) Ä¿¼­¸¦ aaÀÇ ½ÃÀÛÀ§Ä¡¿¡ µÎ°í ±×³É ttttt... ÀÌ·¸°Ô Çϸé t¸¦ Çѹø Ä¥ ¶§¸¶´Ù ÇÑ ÁÙ¾¿ 󸮵˴ϴÙ. ÀÏÀÏÀÌ copy-À̵¿-paste-À̵¿ ÇÒ ÇÊ¿ä°¡ ¾øÁö¿ä.
    ¶Ç
    10000000000
    01000000000
    00100000000
    00010000000
    ¹¹ ÀÌ·± ÆÐÅÏÀ» ¸¸µç´Ù°í Çصµ
    00000000000À» ¸¸µé¾î yankÇؼ­ ¿©·¯ ÁÙÀ» ¸¸µç ÈÄ¿¡
    map t r1jl Çؼ­ (1·Î replaceÇÑ ÈÄ¿¡ ¹ØÀ¸·Î ÇÑ Ä­, ¿À¸¥ÂÊÀ¸·Î ÇÑ Ä­) Á¤ÀÇÇÏ°í ±×³É tttt..Çϸé ÀÚµ¿À¸·Î ¹Ù²î´Â °ÍÀÔ´Ï´Ù.
    ¶Ç ¾î¶² patternÀ» ãÀº ÈÄ¿¡ ±× ÁÙ µÚ±îÁö ¸ðµÎ Áö¿ì°í ½ÍÀ¸¸é ¸ÕÀú ã±â¸¦ ÇØ µÐ ÈÄ¿¡
    map T nd$
    ÀÌ·¸°Ô ÇÏ¸é µÇ°ÚÁö¿ä?

    3. ±×¿Ü
    ¶Ç line 255·Î °¥ ¶§µµ ±×³É 255G ÇÏ¸é µÇ°í¿ä, tabÀÇ Å©±â¸¦ Á¶Á¤ÇÒ ¶§µµ set tabstop=4¿Í °°ÀÌ Çؼ­ tabÀÇ °£°ÝÀ» Á¶ÀýÇϱ⵵ ÇÕ´Ï´Ù. ã±â¸¦ ÇÒ ¶§µµ case insensitiveÇÏ°Ô ÇÏ°í ½ÍÀ¸¸é set icÇÏ¸é µÇ°í¿ä.
    ÀÌ·± ¸ðµç settingÀº home directoryÀÇ .exrc¿¡¼­ ¼³Á¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

    ±× ¿Ü¿¡µµ ÁÁÀº ±â´ÉÀÌ ¸¹Àº °Í °°Àºµ¥ »ý°¢ÀÌ ³ªÁö ¾Ê´Â±º¿ä.