<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>이해와 암기 사이</title>
    <link>https://sodamin.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Sun, 5 Apr 2026 21:38:58 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>이해와암기 사이</managingEditor>
    <item>
      <title>tb_ALU</title>
      <link>https://sodamin.tistory.com/5</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;module&amp;nbsp;tb_ALU_32bit;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Inputs&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reg&amp;nbsp;[31:0]&amp;nbsp;a_in;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reg&amp;nbsp;[31:0]&amp;nbsp;b_in;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reg&amp;nbsp;[3:0]&amp;nbsp;op;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Outputs&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wire&amp;nbsp;[31:0]&amp;nbsp;result;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wire&amp;nbsp;zero;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wire&amp;nbsp;overflow;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Instantiate&amp;nbsp;the&amp;nbsp;Unit&amp;nbsp;Under&amp;nbsp;Tset&amp;nbsp;(UUT)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_32bit&amp;nbsp;uut(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.a_in(a_in),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.b_in(b_in),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.op(op),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.result(result),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.zero(zero),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.overflow(overflow)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initial&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Initialize&amp;nbsp;Inputs&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a_in&amp;nbsp;=0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b_in&amp;nbsp;=0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;op&amp;nbsp;=&amp;nbsp;0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Wait&amp;nbsp;100ns&amp;nbsp;for&amp;nbsp;flobal&amp;nbsp;reset&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#100;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // a b AND&amp;nbsp; , 연산&amp;nbsp; a[n]=1 &amp;amp; a[n+1]=1 이면 result[n]=1 그외엔 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a_in&amp;nbsp;=&amp;nbsp;2000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b_in&amp;nbsp;=&amp;nbsp;1000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;op = 4'b0000;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #50;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;a,b&amp;nbsp;or&amp;nbsp;연산&amp;nbsp;a[n+1]=1&amp;nbsp;이면&amp;nbsp;result[n]=1&amp;nbsp;그외엔&amp;nbsp;0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a_in&amp;nbsp;=&amp;nbsp;2000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b_in&amp;nbsp;=&amp;nbsp;1000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;op = 4'b0001;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#50;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //&amp;nbsp;a,&amp;nbsp;b&amp;nbsp;ADD&amp;nbsp;연산&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a_in&amp;nbsp;=&amp;nbsp;2000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b_in&amp;nbsp;=&amp;nbsp;1000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;op = 4'b0010;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #50;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // a, b 뺄샘 , 결과 양수&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a_in&amp;nbsp;=&amp;nbsp;2000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b_in&amp;nbsp;=&amp;nbsp;1000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;op = 4'b0110;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#50;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;a,b&amp;nbsp;뺄샘&amp;nbsp;a=b&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;0&amp;nbsp;,&amp;nbsp;zero&amp;nbsp;=1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a_in&amp;nbsp;=&amp;nbsp;1000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b_in&amp;nbsp;=&amp;nbsp;1000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;op = 4'b0110;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#50;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // a,b 뺄셈 a&amp;lt;b result = 음수&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a_in&amp;nbsp;=&amp;nbsp;1000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b_in&amp;nbsp;=&amp;nbsp;2000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;op = 4'b0110;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#50;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;a&amp;nbsp;와&amp;nbsp;b의&amp;nbsp;NOR&amp;nbsp;연산&amp;nbsp;b[n+1]=0&amp;nbsp;,&amp;nbsp;b[n]&amp;nbsp;=0&amp;nbsp;이면&amp;nbsp;result[n]=1&amp;nbsp;나머지&amp;nbsp;0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a_in&amp;nbsp;=&amp;nbsp;1000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b_in&amp;nbsp;=&amp;nbsp;2000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;op = 4'b1100;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#50;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // a가 b보다 작은지 체크 result = 00000001 (hex)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a_in&amp;nbsp;=&amp;nbsp;1000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b_in&amp;nbsp;=&amp;nbsp;2000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;op = 4'b0111;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#50;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a_in&amp;nbsp;=&amp;nbsp;2000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b_in&amp;nbsp;=&amp;nbsp;1000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;op&amp;nbsp;=&amp;nbsp;4'b0111;&amp;nbsp;//&amp;nbsp;a가&amp;nbsp;b보다&amp;nbsp;작은지&amp;nbsp;체크&amp;nbsp;result&amp;nbsp;=&amp;nbsp;0&amp;nbsp;예상&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#50;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a_in&amp;nbsp;=&amp;nbsp;1000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b_in&amp;nbsp;=&amp;nbsp;1000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;op&amp;nbsp;=&amp;nbsp;4'b0110;&amp;nbsp;//&amp;nbsp;a&amp;lt;b&amp;nbsp;체크&amp;nbsp;a=b&amp;nbsp;result&amp;nbsp;=0&amp;nbsp;예상&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#50;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //op = 4'b0010; // a,b 덧셈 명령 overflow =1 예상&amp;nbsp;&amp;nbsp;a[31]=0 b[31]=0 co[30]=1&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // carry_out=0 co[30]=1 XOR(carry_out,co[30])=1 overflow&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a_in&amp;nbsp;=&amp;nbsp;&amp;nbsp;32'b01111111111111111111111111111111;&amp;nbsp;//&amp;nbsp;2^31-1&amp;nbsp;32bit&amp;nbsp;max&amp;nbsp;value&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b_in =&amp;nbsp;&amp;nbsp;1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#50;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;a_in&amp;nbsp;=&amp;nbsp;32'b01111111111111111111111111111111;&amp;nbsp;//&amp;nbsp;2^31-1&amp;nbsp;=&amp;nbsp;2147483647&amp;nbsp;(32bit&amp;nbsp;최대&amp;nbsp;숫자)&lt;br /&gt;b_in = 1;&amp;nbsp;&lt;br /&gt;op = 4'b0110;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;//&amp;nbsp;a,b&amp;nbsp;뺼셈&amp;nbsp;result=&amp;nbsp;2'b01111111111111111111111111111110&amp;nbsp;a[31]=0&amp;nbsp;b'+1&amp;nbsp;[31]=1&amp;nbsp;c[30]=1&amp;nbsp;carry_out=1&amp;nbsp;XOR&amp;nbsp;c[30]&amp;nbsp;carry_out&amp;nbsp;=&amp;nbsp;0&lt;br /&gt;#50;&lt;br /&gt;&lt;br /&gt;a_in&amp;nbsp;=&amp;nbsp;1;&amp;nbsp;&lt;br /&gt;b_in = 32'b01111111111111111111111111111111; // 2^31-1 = 2147483647 (32bit 최대 숫자)&amp;nbsp;&lt;br /&gt;op = 4'b0110;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;//SUB&amp;nbsp;overflow&amp;nbsp;=&amp;nbsp;0&amp;nbsp;a[31]=0&amp;nbsp;b'+1&amp;nbsp;[31]&amp;nbsp;=&amp;nbsp;1&amp;nbsp;c[30]=0&amp;nbsp;carry_out=0&amp;nbsp;&lt;br /&gt;#50;&lt;br /&gt;&lt;br /&gt;a_in&amp;nbsp;=&amp;nbsp;32'b10000000000000000000000000000001;&amp;nbsp;//&amp;nbsp;-2^31&lt;br /&gt;b_in&amp;nbsp;=&amp;nbsp;32'b01111111111111111111111111111111;&amp;nbsp;//&amp;nbsp;2^31-1&amp;nbsp;=&amp;nbsp;2147483647&amp;nbsp;(32bit&amp;nbsp;최대&amp;nbsp;숫자)&lt;br /&gt;op = 4'b0110;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;//SUB&amp;nbsp;overflow&amp;nbsp;=&amp;nbsp;1&amp;nbsp;a[31]=1&amp;nbsp;b'+1&amp;nbsp;[31]=1&amp;nbsp;cin=0&amp;nbsp;carry&amp;nbsp;out&amp;nbsp;=1&amp;nbsp;&lt;br /&gt;#50;&lt;br /&gt;&lt;br /&gt;a_in&amp;nbsp;=&amp;nbsp;32'b10000000000000000000000000000001;&amp;nbsp;//-2^31+1&amp;nbsp;=&amp;nbsp;-2147483647&lt;br /&gt;b_in&amp;nbsp;=&amp;nbsp;-1;&amp;nbsp;//&amp;nbsp;b=11111111111111111111111111111111&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;op = 4'b0010;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;//ADD&amp;nbsp;overflow&amp;nbsp;=&amp;nbsp;0?&amp;nbsp;a[31]=1&amp;nbsp;b[31]&amp;nbsp;=&amp;nbsp;1&amp;nbsp;,&amp;nbsp;c[30]&amp;nbsp;=1&amp;nbsp;carry&amp;nbsp;out&amp;nbsp;=&amp;nbsp;1,&amp;nbsp;XOR&amp;nbsp;c[30]&amp;nbsp;carry_out=0&amp;nbsp;&amp;nbsp;&lt;br /&gt;#50;&lt;br /&gt;&lt;br /&gt;a_in&amp;nbsp;=&amp;nbsp;32'b10000000000000000000000000000000;&amp;nbsp;//-2^31&amp;nbsp;=&amp;nbsp;-2147483648&amp;nbsp;(32bit&amp;nbsp;최소&amp;nbsp;숫자)&lt;br /&gt;b_in = -1;&amp;nbsp;&lt;br /&gt;op = 4'b0010;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;//ADD&amp;nbsp;overflow&amp;nbsp;=&amp;nbsp;1&amp;nbsp;a[31]=1&amp;nbsp;b[31]&amp;nbsp;=&amp;nbsp;1&amp;nbsp;,&amp;nbsp;c[30]&amp;nbsp;=0&amp;nbsp;carry&amp;nbsp;out&amp;nbsp;=&amp;nbsp;1,&amp;nbsp;XOR&amp;nbsp;c[30]&amp;nbsp;carry_out=1&amp;nbsp;&lt;br /&gt;#50;&lt;br /&gt;&lt;br /&gt;a_in&amp;nbsp;=&amp;nbsp;0;&lt;br /&gt;b_in = 32'b10000000000000000000000000000000; //-2^31 = -2147483648 (32bit 최소 숫자)&amp;nbsp;&amp;nbsp;&lt;br /&gt;op = 4'b0110;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;// SUB overflow = 1 a[31]=0 b[31] = 1 , c[0]=1 c[30] =1 carry out = 0, XOR c[30] carry_out=1&lt;br /&gt;//&amp;nbsp;invert&amp;nbsp;b&amp;nbsp;하고&amp;nbsp;c[0]=1&amp;nbsp;이니까&amp;nbsp;overflow가&amp;nbsp;되는구나&amp;nbsp;&lt;br /&gt;#50;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;endmodule&lt;/p&gt;</description>
      <author>이해와암기 사이</author>
      <guid isPermaLink="true">https://sodamin.tistory.com/5</guid>
      <comments>https://sodamin.tistory.com/5#entry5comment</comments>
      <pubDate>Sun, 23 Apr 2023 03:31:52 +0900</pubDate>
    </item>
    <item>
      <title>CA ALU</title>
      <link>https://sodamin.tistory.com/4</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;module RISCVALU( ALUctl, A, B, ALUOut, Zero); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;[3:0]&amp;nbsp;ALUctl; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;[63:0]&amp;nbsp;A,B; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;output&amp;nbsp;reg&amp;nbsp;[63:0]&amp;nbsp;ALUOut; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;output&amp;nbsp;Zero; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assign&amp;nbsp;Zero&amp;nbsp;=&amp;nbsp;(ALUOut&amp;nbsp;==0);&amp;nbsp;//&amp;nbsp;ALUOut&amp;nbsp;0&amp;nbsp;이면&amp;nbsp;제로&amp;nbsp;1&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;always&amp;nbsp;@(ALUctl,&amp;nbsp;A,&amp;nbsp;B)&amp;nbsp;begin&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;(ALUctl) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0:&amp;nbsp;ALUOut&amp;nbsp;&amp;lt;=&amp;nbsp;A&amp;nbsp;&amp;amp;&amp;nbsp;B;&amp;nbsp;//&amp;nbsp;0000&amp;nbsp;and &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1:&amp;nbsp;ALUOut&amp;nbsp;&amp;lt;=&amp;nbsp;A&amp;nbsp;|&amp;nbsp;B;&amp;nbsp;//&amp;nbsp;0001&amp;nbsp;or &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2:&amp;nbsp;ALUOut&amp;nbsp;&amp;lt;=&amp;nbsp;A&amp;nbsp;+&amp;nbsp;B;&amp;nbsp;//&amp;nbsp;0010&amp;nbsp;덧셈 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6:&amp;nbsp;ALUOut&amp;nbsp;&amp;lt;=&amp;nbsp;A&amp;nbsp;-&amp;nbsp;B&amp;nbsp;;&amp;nbsp;//0110&amp;nbsp;뺼샘&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7:&amp;nbsp;ALUOut&amp;nbsp;&amp;lt;=&amp;nbsp;A&amp;nbsp;&amp;lt;&amp;nbsp;B&amp;nbsp;?&amp;nbsp;1&amp;nbsp;:&amp;nbsp;0&amp;nbsp;;&amp;nbsp;//&amp;nbsp;0111&amp;nbsp;A가&amp;nbsp;B보다&amp;nbsp;작은지&amp;nbsp;체크&amp;nbsp;set&amp;nbsp;less&amp;nbsp;than &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;12:&amp;nbsp;ALUOut&amp;nbsp;&amp;lt;=&amp;nbsp;~(A&amp;nbsp;|&amp;nbsp;B);&amp;nbsp;//&amp;nbsp;1100&amp;nbsp;Nor&amp;nbsp;00일때&amp;nbsp;참&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;default&amp;nbsp;:&amp;nbsp;ALUOut&amp;nbsp;&amp;lt;=&amp;nbsp;0; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;endcase &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end &lt;br /&gt;endmodule &lt;br /&gt;&lt;br /&gt;module&amp;nbsp;ALU_32bit( &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;[31:0]&amp;nbsp;a_in, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;[31:0]&amp;nbsp;b_in, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;[3:0]&amp;nbsp;op, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;output&amp;nbsp;[31:0]&amp;nbsp;result, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;output&amp;nbsp;zero, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;output&amp;nbsp;overflow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wire&amp;nbsp;[30:0]&amp;nbsp;co; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wire&amp;nbsp;set; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[0],&amp;nbsp;b_in[0],&amp;nbsp;(op[2]&amp;nbsp;&amp;amp;&amp;nbsp;op[1]),&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;set&amp;nbsp;,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[0],&amp;nbsp;co[0]);&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;// op=xx11 result[0]에 set이 입력됨 // op x11x 일때 c_in 1이 들어감 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit u1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[1], b_in[1], co[0], op[3], op[2], 1'b0, op[1:0] , result[1], co[1]); // set에 result[1~31]에는 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[2],&amp;nbsp;b_in[2],&amp;nbsp;co[1],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[2],&amp;nbsp;co[2]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[3],&amp;nbsp;b_in[3],&amp;nbsp;co[2],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[3],&amp;nbsp;co[3]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[4],&amp;nbsp;b_in[4],&amp;nbsp;co[3],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[4],&amp;nbsp;co[4]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[5],&amp;nbsp;b_in[5],&amp;nbsp;co[4],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[5],&amp;nbsp;co[5]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[6],&amp;nbsp;b_in[6],&amp;nbsp;co[5],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[6],&amp;nbsp;co[6]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[7],&amp;nbsp;b_in[7],&amp;nbsp;co[6],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[7],&amp;nbsp;co[7]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[8],&amp;nbsp;b_in[8],&amp;nbsp;co[7],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[8],&amp;nbsp;co[8]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[9],&amp;nbsp;b_in[9],&amp;nbsp;co[8],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[9],&amp;nbsp;co[9]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[10],&amp;nbsp;b_in[10],&amp;nbsp;co[9],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[10],&amp;nbsp;co[10]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[11],&amp;nbsp;b_in[11],&amp;nbsp;co[10],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[11],&amp;nbsp;co[11]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[12],&amp;nbsp;b_in[12],&amp;nbsp;co[11],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[12],&amp;nbsp;co[12]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[13],&amp;nbsp;b_in[13],&amp;nbsp;co[12],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[13],&amp;nbsp;co[13]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[14],&amp;nbsp;b_in[14],&amp;nbsp;co[13],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[14],&amp;nbsp;co[14]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[15],&amp;nbsp;b_in[15],&amp;nbsp;co[14],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[15],&amp;nbsp;co[15]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[16],&amp;nbsp;b_in[16],&amp;nbsp;co[15],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[16],&amp;nbsp;co[16]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u17&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[17],&amp;nbsp;b_in[17],&amp;nbsp;co[16],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[17],&amp;nbsp;co[17]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u18&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[18],&amp;nbsp;b_in[18],&amp;nbsp;co[17],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[18],&amp;nbsp;co[18]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u19&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[19],&amp;nbsp;b_in[19],&amp;nbsp;co[18],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[19],&amp;nbsp;co[19]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[20],&amp;nbsp;b_in[20],&amp;nbsp;co[19],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[20],&amp;nbsp;co[20]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u21&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[21],&amp;nbsp;b_in[21],&amp;nbsp;co[20],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[21],&amp;nbsp;co[21]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u22&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[22],&amp;nbsp;b_in[22],&amp;nbsp;co[21],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[22],&amp;nbsp;co[22]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u23&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[23],&amp;nbsp;b_in[23],&amp;nbsp;co[22],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[23],&amp;nbsp;co[23]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u24&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[24],&amp;nbsp;b_in[24],&amp;nbsp;co[23],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[24],&amp;nbsp;co[24]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[25],&amp;nbsp;b_in[25],&amp;nbsp;co[24],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[25],&amp;nbsp;co[25]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u26&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[26],&amp;nbsp;b_in[26],&amp;nbsp;co[25],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[26],&amp;nbsp;co[26]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[27],&amp;nbsp;b_in[27],&amp;nbsp;co[26],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[27],&amp;nbsp;co[27]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u28&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[28],&amp;nbsp;b_in[28],&amp;nbsp;co[27],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[28],&amp;nbsp;co[28]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u29&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[29],&amp;nbsp;b_in[29],&amp;nbsp;co[28],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[29],&amp;nbsp;co[29]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit&amp;nbsp;u30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a_in[30],&amp;nbsp;b_in[30],&amp;nbsp;co[29],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[30],&amp;nbsp;co[30]); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALU_1bit_overflow&amp;nbsp;u31(a_in[31],&amp;nbsp;b_in[31],&amp;nbsp;co[30],&amp;nbsp;op[3],&amp;nbsp;op[2],&amp;nbsp;1'b0,&amp;nbsp;op[1:0]&amp;nbsp;,&amp;nbsp;result[31],&amp;nbsp;set&amp;nbsp;,&amp;nbsp;overflow); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assign&amp;nbsp;zero&amp;nbsp;=&amp;nbsp;~|(result)&amp;nbsp;;&amp;nbsp;//&amp;nbsp;NOR&amp;nbsp;result&amp;nbsp;모든&amp;nbsp;비트가&amp;nbsp;0이면&amp;nbsp;zero&amp;nbsp;참 &lt;br /&gt;&amp;nbsp; &lt;br /&gt;endmodule &lt;br /&gt;&lt;br /&gt;module&amp;nbsp;ALU_1bit( &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;a_in, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;b_in, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;carry_in, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;invert_a, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;invert_b, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;less, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;[1:0]&amp;nbsp;op,&amp;nbsp;//&amp;nbsp;00&amp;nbsp;AND&amp;nbsp;명령&amp;nbsp;,&amp;nbsp;01&amp;nbsp;OR&amp;nbsp;명령&amp;nbsp;,&amp;nbsp;10&amp;nbsp;ADD&amp;nbsp;명령,&amp;nbsp;11&amp;nbsp;slt&amp;nbsp;명령,&amp;nbsp;00&amp;nbsp;NOR&amp;nbsp;명령&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;output&amp;nbsp;result,&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;output&amp;nbsp;carry_out &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wire&amp;nbsp;a_out,&amp;nbsp;b_out; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wire&amp;nbsp;and_out,or_out,sum; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fulladder_1bit_structuarl&amp;nbsp;add(&amp;nbsp;.a(a_out)&amp;nbsp;,&amp;nbsp;.b(b_out)&amp;nbsp;,&amp;nbsp;.carry_in(carry_in)&amp;nbsp;,&amp;nbsp;.sum(sum)&amp;nbsp;,&amp;nbsp;.carry_out(carry_out)&amp;nbsp;); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mux_operation&amp;nbsp;m2(&amp;nbsp;op,&amp;nbsp;and_out,&amp;nbsp;or_out&amp;nbsp;,&amp;nbsp;sum,&amp;nbsp;less,&amp;nbsp;result); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;MUX에서&amp;nbsp;연산&amp;nbsp;결과중&amp;nbsp;하나를&amp;nbsp;op를&amp;nbsp;보고&amp;nbsp;&amp;nbsp;선택해야함&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and(&amp;nbsp;and_out,&amp;nbsp;a_out&amp;nbsp;,&amp;nbsp;b_out&amp;nbsp;); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;or(&amp;nbsp;or_out,&amp;nbsp;a_out,&amp;nbsp;b_out); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xor(&amp;nbsp;a_out,&amp;nbsp;a_in,&amp;nbsp;invert_a&amp;nbsp;);&amp;nbsp;//&amp;nbsp;invert&amp;nbsp;A&amp;nbsp;명령&amp;nbsp;,&amp;nbsp;invert_a&amp;nbsp;이&amp;nbsp;1이면&amp;nbsp;A가&amp;nbsp;1이면&amp;nbsp;0&amp;nbsp;A가&amp;nbsp;0이면&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xor(&amp;nbsp;b_out,&amp;nbsp;b_in,&amp;nbsp;invert_b&amp;nbsp;);&amp;nbsp;//&amp;nbsp;invert&amp;nbsp;B&amp;nbsp;명령&amp;nbsp;,&amp;nbsp;invert_b&amp;nbsp;이&amp;nbsp;1이면&amp;nbsp;B가&amp;nbsp;1이면&amp;nbsp;0&amp;nbsp;B가&amp;nbsp;0이면&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;invert&amp;nbsp;명령이&amp;nbsp;정해지면&amp;nbsp;a_out,&amp;nbsp;b_out&amp;nbsp;값이&amp;nbsp;정해짐&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;endmodule &lt;br /&gt;&lt;br /&gt;module&amp;nbsp;mux_operation( &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;[1:0]&amp;nbsp;op, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;and_out, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;or_out, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;sum, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;less, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;output&amp;nbsp;result &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assign&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&amp;nbsp;(op==2'b00)&amp;nbsp;?&amp;nbsp;and_out&amp;nbsp;: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(op==2'b01)&amp;nbsp;?&amp;nbsp;or_out&amp;nbsp;: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(op==2'b10)&amp;nbsp;?&amp;nbsp;sum&amp;nbsp;: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(op==2'b11)&amp;nbsp;?&amp;nbsp;less&amp;nbsp;:&amp;nbsp;1'b0;&amp;nbsp;//&amp;nbsp;result[63:1]&amp;nbsp;까지는&amp;nbsp;모두&amp;nbsp;0이&amp;nbsp;들어감&amp;nbsp;result[0]에는&amp;nbsp;A+B'+1=A-B&amp;nbsp;의&amp;nbsp;MSB가&amp;nbsp;할당됌 &lt;br /&gt;&lt;br /&gt;endmodule &lt;br /&gt;&lt;br /&gt;module&amp;nbsp;ALU_1bit_overflow( &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;ai,&amp;nbsp;//&amp;nbsp;a_in &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;bi,&amp;nbsp;//b_in &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;ci,&amp;nbsp;//&amp;nbsp;carry_in &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;aiv,&amp;nbsp;//&amp;nbsp;a_invert &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;biv,&amp;nbsp;//&amp;nbsp;b_invert &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;less, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;[1:0]&amp;nbsp;op, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;output&amp;nbsp;re,&amp;nbsp;//&amp;nbsp;result &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;output&amp;nbsp;set,&amp;nbsp;//&amp;nbsp;less&amp;nbsp;than &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;output&amp;nbsp;of&amp;nbsp;//&amp;nbsp;overflow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wire&amp;nbsp;ao,bo,co; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wire&amp;nbsp;o1,o2,o3; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fulladder_1bit_structuarl&amp;nbsp;add(&amp;nbsp;ao,&amp;nbsp;bo,&amp;nbsp;ci,&amp;nbsp;o3,&amp;nbsp;co);&amp;nbsp;//&amp;nbsp;o3에는&amp;nbsp;sum&amp;nbsp;,&amp;nbsp;co에는&amp;nbsp;carry_out&amp;nbsp;나옴&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mux_operation&amp;nbsp;m2(op,&amp;nbsp;o1,&amp;nbsp;o2,&amp;nbsp;o3,&amp;nbsp;less,&amp;nbsp;re);&amp;nbsp;//&amp;nbsp;o1=and_out&amp;nbsp;,&amp;nbsp;o2=or_out,&amp;nbsp;o3=sum,&amp;nbsp;less=less,&amp;nbsp;re=result &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and(&amp;nbsp;o1&amp;nbsp;,&amp;nbsp;ao,&amp;nbsp;bo); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;or(&amp;nbsp;o2&amp;nbsp;,ao,&amp;nbsp;bo); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xor(ao,&amp;nbsp;ai,&amp;nbsp;aiv&amp;nbsp;); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xor(bo,&amp;nbsp;bi,&amp;nbsp;biv&amp;nbsp;); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assign&amp;nbsp;set&amp;nbsp;=&amp;nbsp;o3;&amp;nbsp;//&amp;nbsp;A+B'+1&amp;nbsp;=A-B&amp;nbsp;했는데&amp;nbsp;MSB가&amp;nbsp;1이면&amp;nbsp;slt&amp;nbsp;0이면&amp;nbsp;sgt &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assign&amp;nbsp;of&amp;nbsp;=&amp;nbsp;(ci^co)&amp;nbsp;;&amp;nbsp;//&amp;nbsp;overflow&amp;nbsp;truthtable&amp;nbsp;.&amp;nbsp;a와&amp;nbsp;b의&amp;nbsp;부호가&amp;nbsp;같을때&amp;nbsp;ci과&amp;nbsp;co&amp;nbsp;가&amp;nbsp;다르면&amp;nbsp;overflow&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;endmodule &lt;br /&gt;&lt;br /&gt;module&amp;nbsp;fulladder_1bit_structuarl( &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;a, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;b, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;carry_in, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;output&amp;nbsp;sum, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;output&amp;nbsp;carry_out &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wire&amp;nbsp;s1,carry_case1,carry_case2; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xor&amp;nbsp;G1(s1,a,b);&amp;nbsp;//&amp;nbsp;s1&amp;nbsp;=&amp;nbsp;&amp;nbsp;a&amp;nbsp;,&amp;nbsp;b&amp;nbsp;둘중&amp;nbsp;하나만&amp;nbsp;1이면 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xor&amp;nbsp;G2(sum,s1,carry_in);&amp;nbsp;//&amp;nbsp;sum&amp;nbsp;=&amp;nbsp;s1&amp;nbsp;,&amp;nbsp;carry_in&amp;nbsp;둘중&amp;nbsp;하나만&amp;nbsp;1이면&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and&amp;nbsp;G3(carry_case1,a,b);&amp;nbsp;//&amp;nbsp;a,b가&amp;nbsp;둘다&amp;nbsp;1이면&amp;nbsp;carry&amp;nbsp;case1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and&amp;nbsp;G4(carry_case2,s1,carry_in);&amp;nbsp;//&amp;nbsp;a,b&amp;nbsp;둘중&amp;nbsp;하나만&amp;nbsp;1이면서&amp;nbsp;carry_in도&amp;nbsp;1이면&amp;nbsp;carry&amp;nbsp;case2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xor&amp;nbsp;G5(carry_out,carry_case2,carry_case1);&amp;nbsp;//&amp;nbsp;carry_case&amp;nbsp;둘중&amp;nbsp;하나만&amp;nbsp;1이면&amp;nbsp;carry_out &lt;br /&gt;&lt;br /&gt;endmodule&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>이해와암기 사이</author>
      <guid isPermaLink="true">https://sodamin.tistory.com/4</guid>
      <comments>https://sodamin.tistory.com/4#entry4comment</comments>
      <pubDate>Sun, 23 Apr 2023 03:11:07 +0900</pubDate>
    </item>
    <item>
      <title>Phasor</title>
      <link>https://sodamin.tistory.com/3</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Phasor 아무리 공부해도 이해가 잘안된다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Phasor 설명은 들으면 너무 당연해서 이해가 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;복소수를 극좌표,오일로공식,벡터로 표현할 수 있다. 얼마나 간단해?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼에도 Phasor가 이해 안됐던건 각각의 극좌표,오일러공식,벡터 표현에 대한 물리적 의미를 모르기 때문이라고 생각한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리가 표현하는 숫자 $1,2,3,4,5$ 같은건 저항이나 질량 어떤 물리량을 나타낸다. 그걸 표현하려고 숫자를 쓴다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 이 물리량들 사이에서 어떤 관계가 있다는걸 알게 됐다. $4=1+3$ 같은 이걸 대수학 $Algebra$에서는 $y=1+x$ 이런식으로 나타냈다. 직각삼각형이 발견되고 $cos(\theta)=$$y\over x$ 이런 식도 얻어 냈다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;음수의 개념이 발견되고 가만히 생각해보니까 이상하다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1029&quot; data-origin-height=&quot;153&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/I45Pz/btr92rUdN1M/NLlLNxnbYlGVwJOeWLrzO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/I45Pz/btr92rUdN1M/NLlLNxnbYlGVwJOeWLrzO0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/I45Pz/btr92rUdN1M/NLlLNxnbYlGVwJOeWLrzO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FI45Pz%2Fbtr92rUdN1M%2FNLlLNxnbYlGVwJOeWLrzO0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;679&quot; height=&quot;101&quot; data-origin-width=&quot;1029&quot; data-origin-height=&quot;153&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$1은 1\times (+1)$ 이다. $5는 5\times (+1)$ 이다.&amp;nbsp; $-1은? 1\times(-1)$이다. $-5는 5\times(-1)$이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대수학에서는 $-x=x\times(-1)$로 나타낸다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;숫자에는 앞으로 가든지$\times(+1)$ 뒤로가든지$\times(-1)$ 어떤 방향이 있다는걸 알아냈다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;그런데 $\times(+1)$ , $\times(-1)$ 이 두 방향의 절반에 해당하는 방향이란것도 있을까? 숫자가 방향을 가진다면 그 방향이 꼭 1과 -1뿐일까? &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp;방향은 크기가 1인 어떤 곱하기로 표현된다. 상상으로 1과 -1사이의 절반에 해당하는 방향을 정의해보자.&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;$\sqrt-1$ $\times$$\sqrt-1$$=-1=i^2$&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$-5는 5\times i^2 $&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 이쯤되면 또 궁금해진다. $i$가 +1과 -1의 방향의 절반을 나타낸다면 $i$ 방향의 절반은 어떻게 정의될까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 그 절반의 절반은? 절반의 절반의 절반은?&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것을 각도 개념으로 생각해보면 1에서 -1까지로 변하는 방향은 각도와 연결지어 생각할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어떤수에 -1을 곱한다는건 방향이 1에서 -1까지 $180^{\circ}$ 변했다는 뜻이고 어떤수에 $i$를 곱한다는건 방향 1에서 -1까지 $90^{\circ}$ 변했다는 말과 같다. i방향의 절반은 $45^{\circ}$ 변했다는 말과 같을 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오일러는 그걸 이렇게 표현했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$e^{j\theta}=cos(\theta)+jsin(\theta)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$e^{j0}=cos(0)+jsin(0)=1+j0=1$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$e^{j\cfrac{\pi}{4}}=cos(\cfrac{\pi}{4})+jsin(\cfrac{\pi}{4})=\cfrac{\sqrt2}{2}+j\cfrac{\sqrt2}{2}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$e^{j\cfrac{\pi}{2}}=cos(\cfrac{\pi}{2})+jsin(\cfrac{\pi}{2})=j$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$e^{j\pi}=cos(\pi)+jsin(\pi)=-1$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다시 처음으로 가서 숫자는 물리량을 표현하기위한 도구라고 했다. $e^{j\theta}$ 라는 숫자는 +1이나 -1처럼 방향을 위해 곱해지는 어떤 수이다. $1\times e^{j\theta}$ 라고 하면 크기가 1인 물리량이 $\theta$ 만큼 회전한 값이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오일러 공식까지 잘 이해가 된 지금 이순간 $e^{2\pi ft}$를 곱해보자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$e^{j2\pi ft}e^{j\theta}=(cos(\theta)+jsin(\theta))(cos(2\pi ft)+jsin(2\pi ft))$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$e^{j2\pi ft}e^{j\theta}=cos(2\pi ft)cos(\theta)+j^2sin(2\pi ft)sin(\theta) +j(cos(2\pi ft)sin(\theta)+sin(2\pi ft)cos(\theta))$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$e^{j2\pi ft}e^{j\theta}=cos(2\pi ft)cos(\theta)-sin(2\pi ft)sin(\theta) +j(cos(2\pi ft)sin(\theta)+sin(2\pi ft)cos(\theta))\tag1$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 좌변을 정리해보자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ e^{j2\pi ft}e^{j\theta}=e^{j(2\pi ft + \theta)} = e^{j\phi}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오일러 공식 꼴로 정리된다. 풀어보면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$e^{j\phi}=cos(\phi)+jsin(\phi)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$e^{j(2\pi ft + \theta)}=cos(2\pi ft + \theta)+jsin(2\pi ft + \theta)\tag2$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1과 2가 같으므로 정리하면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$e^{j(2\pi ft + \theta)}=cos(2\pi ft + \theta)+jsin(2\pi ft + \theta)\\=cos(2\pi ft)cos(\theta)-sin(2\pi ft)sin(\theta) +j(cos(2\pi ft)sin(\theta)+sin(2\pi ft)cos(\theta))\tag3$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3번식을 잘 살펴보고 역으로 $cos$을 정의해보자 $\Re$기호는 Real part라고 읽고 $j$항을 버리고 실수부를 취하는 기호다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$cos(2\pi ft + \theta)=cos(2\pi ft)cos(\theta)-sin(2\pi ft)sin(\theta)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$cos(2\pi ft + \theta)=\Re \{cos(2\pi ft)cos(\theta)-sin(2\pi ft)sin(\theta) +j(cos(2\pi ft)sin(\theta)+sin(2\pi ft)cos(\theta))\}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$cos(2\pi ft + \theta)=\Re \{e^{j2\pi ft}e^{j\theta}\}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 다왔다. 마지막으로 하나만 더 짚고 넘어가자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$cos(0)=1$이고 $cos(\cfrac{\pi}{4})=\cfrac{\sqrt2}{2}$이고 $cos(\cfrac{\pi}{2})=0$이다. 변수로 각도를쓴다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리는 발전소에서 터빈의 시간에 따른 회전에 의해 교류 전류를 얻는다. 그리고 우리는 그 교류전류가 궁금하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전류는 시간에 따라서 정현파(cos sin 모양을 정현파라고 한다) 모양이고 전압도 마찬가지이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 $cos(x)$ 에서 그 값을 결정짓는 변수가 각도가 아닌 1초 2초 3초 4초 5초 이런 시간이어야 한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$cos( radian ) = cos( second \times \cfrac{1}{second} \times radian )$&amp;nbsp;&lt;br /&gt;이렇게 바꾸고 보니 시간변수로 $\pi$를 쓰는건 너무 불편할거 같다. $t=3.14...$초라니 끔찍하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1초가 되면 $2\pi$가 나와서 $cos$함수가 1주기를 가지면 편할거 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$cos( radian ) = cos( second \times \cfrac{1}{second} \times 2\pi )$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$cos( radian ) = cos( t \times f \times 2\pi )=cos(t \times \omega)$ $\quad \omega = 2\pi f$, $\quad f=1/T$ ,$\quad v=\lambda$ ,$\quad f=\cfrac{\lambda}{T}$&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;페이저를 이해하기위한 모든 준비가 끝났다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어떤 교류전기($cos(2\pi ft)$)를 해석함에 있어서 물리량 $V , I , R,L,C$들의 관계가 궁금한데 그것들의 관계는 $cos(2\pi ft)$에 대해서 위상차이($e^{j\theta}$)로만 나타나지 주파수(f)는 바뀌진 않는다는 사실&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$cos(2\pi ft + \theta)=cos(2\pi ft)cos(\theta)-sin(2\pi ft)sin(\theta)$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$cos(2\pi ft + \theta)=cos(\theta)cos(2\pi ft)-sin(\theta)sin(2\pi ft)$&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 이 크기가 1인 숫자를 A배 곱해서 물리량을 나타내보자. 5V 3V 이런식의 의미로&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$ \Re \{Ae^{j2\pi ft}e^{j\theta}\}=Acos(2\pi ft + \theta)=Acos(\theta) cos(2\pi ft)-Asin(\theta)sin(2\pi ft)$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$Acos(2\pi ft + \theta)=Xcos(2\pi ft)-Ysin(2\pi ft)$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$ 2\pi ft$주파수는 이미 알고 있는 물리량이므로 우리가 궁금한 물리량 위상차 $\theta$에 관한 부분을 변수로 바꾸면 위와 같은 식이된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$ X=Acos(\theta), Y=Asin(\theta)$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 페이저의 정의를 따라가서 하나씩 설명해보면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오일러 공식으로 돌아가서 $e^{j2\pi ft}Ae^{j\theta}$ 위상차 부분의 항만 떼서 생각해보자&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$Ae^{j\theta} = Acos(\theta)+jAsin(\theta) = X+jY$ 이걸 주파수 $f$에대한 $Phasor$ 복소표현이라고 부른다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;극좌표 표현은 (X,Y)를 복소평면에 찍고 길이와 각을 구해서 표현한다. $Phasor$ 이해와는 관계 없으므로 여기서 자세히 다루진 않겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;햇갈리지말고 예제를 보면서 따라가자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예제1 $V=2j$ 일때 v(t)는?&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$e^{j2\pi ft}Ae^{j\theta}$ 을 머리속에 넣고 살자&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$Ae^{j\theta}=X+jY=2*0+j2*1=cos(\pi /4)+j2sin(\pi /4)\\=2e^{j\pi /4} ,\quad 2\angle 90^{\circ}$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$v(t)=X\cdot cos(2\pi ft)+Y\cdot -sin(2\pi ft)$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$v(t)=-2sin(2\pi ft)$&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예제2 $v(t)=cos(2\pi ft)$ 의 복소표현은?&lt;br /&gt;$X=1 , Y=0$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$V=1$ $ \quad 1\angle 0^{\circ}$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예제3 $v(t)=cos(2\pi ft)+2sin(2\pi ft)$ 의 복소표현은?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$X=1, Y=-2$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$V=1-2j$ $ \quad \sqrt{5} \angle -63.43^{\circ} $&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정리&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$Phasor$는 주파수 f가 고정일때 $ 2\pi ft + \theta $ 에서 위상차 $\theta$에 대한 부분을 오일러 공식을 이용해 $e^{j2\pi ft}Ae^{j\theta}$ 곱하기로 분리했고 위상차 $\theta$ 항을 $V=X+jY$로 표현했다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;새로운 개념이 어떻게 정의되는지 알았으니 왜? 쓰는지 알아보자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$V=X+jY \quad Acos(\omega t + \theta)= Xcos(\omega t)-Ysin(\omega t) \quad ,for \quad \omega = 2\pi ft$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$V_{1}=X_{1}+jY_{1} \quad Acos(\omega t + \theta_{1})= X_{1}cos(\omega t)-Y_{1}sin(\omega t)$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$V_{2}=X_{2}+jY_{2} \quad Acos(\omega t + \theta_{2})= X_{2}cos(\omega t)-Y_{2}sin(\omega t)$&lt;br /&gt;&lt;br /&gt;$V_{1}+V_{2}= \{ X_{1}+X_{2} \} + j \{Y_{1}+Y_{2}\} = X+jY $&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$X_{1}cos(\omega t)-Y_{1}sin(\omega t)+X_{2}cos(\omega t)-Y_{2}sin(\omega t) = (X_{1}+X_{2})cos(\omega t)-(Y_{1}+Y_{2})sin(\omega t)\\= Xcos(\omega t)-Ysin(\omega t)$&lt;br /&gt;덧셈법칙이 성립하는걸 Additivity 가 성립한다고 한다. 주파수f에 대한 페이저끼리 더해도 결과는 주파수 f에대한 페이저다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$pV=pX+jpY \quad pAcos(\omega t + \theta)= pXcos(\omega t)-pYsin(\omega t)=p\{Xcos(\omega t)-Ysin(\omega t)\}$&lt;br /&gt;p는 실수이다. 위 성질이 성립하는걸 Homogeneity를 만족한다고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오일러공식(=극좌표) 모양으로 정리해서 곱셈을 해보면 더 재밌다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$e^{j2\pi ft}A_{1}e^{j\theta_{1}}$ , $ e^{j2\pi ft}A_{2}e^{j\theta_{2}} $&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;곱하면 $ A_{1}e^{j\theta_{1}}\cdot A_{2}e^{j\theta_{2}} = A_{1}A_{2}e^{j(\theta_{1}+\theta_{2})}=Ae^{j\theta}$&lt;br /&gt;$Phasor$끼리의 곱셈은 극좌표 표현으로 바꾼뒤 크기는 곱하고 각은 더해주면 결과도 $Phasor$이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;미분&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$e^{j2\pi ft}Ae^{j\theta}$&lt;/p&gt;</description>
      <category>2023-1</category>
      <author>이해와암기 사이</author>
      <guid isPermaLink="true">https://sodamin.tistory.com/3</guid>
      <comments>https://sodamin.tistory.com/3#entry3comment</comments>
      <pubDate>Thu, 13 Apr 2023 14:34:46 +0900</pubDate>
    </item>
    <item>
      <title>Basic System Properties</title>
      <link>https://sodamin.tistory.com/2</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;어떤 관측이나 샘플링으로 우리가 시간 $t$에따라 값이 결정되는 함수 $x(t)$를 알고 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 이걸 $System$이란 상자에 넣는다&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자판기에 동전을 넣고 버튼을 누르면 음료수가 나온다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;키보드를 누르면 화면에 글씨가 나온다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;input이 있으면 output이 있다. 그걸 시스템이라고 하자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 $y(t)$란 output을 얻었다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;중고등학교때 배운 $y(t)=x(t)$는 지금 여기서 잊어버려라. 시스템을 배우는데 혼돈을 주는 요인이된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물리적인 현상에 집중해보자. 현재까지 일어난 일을 정리하면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$x(t)$의 정의 : 시간 $t$에 따라 결정되는 $Input, 우리는 이걸 미리 알고 있다.$&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$y(t)$의 정의 : $System$에 입력을 받아서 시간$t$에따라 결정된 $Output$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오로지 정의에 따라서 생각 해보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;간단하게 &amp;nbsp;$t=-1$ (과거), $t=0$ (지금) , $t=1$ (미래) 라고 생각해보자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$x(0)$ 이면 지금에서 input이다. $x(t)$ 정의 자체가 시간 t에서 Input이라고 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$x(-1)$ 이면 과거에서 input이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$x(1)$ 이면 미래에서 input이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기까지가 준비 이제 이걸로 시스템의 6가지 성질을 알아보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시스템은 Input과 Output을 =로 연결해주는 역할을 한다. 어떻게 연결하는지는 시스템 마음이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$y(t) = x(t+5)$ 이녀석은 어떤 시스템일까? 해석해보자 지금(t=0) 과거(t=-1) 미래(t=1) 각각에 대하여&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$y(0) = x(0+5)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재의 결과값 $y(0)$이 $x(5)$이다. 즉, 현재의 아웃풋이 t=5초일때 인풋으로 결정된다는 말과 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$x(5)$는 미래의 입력값이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$y(-1) = x(-1+5)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$y(1) = x(1+5)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마찬가지로 과거의 값이 미래 입력을 받아서 결정된다. 미래의 값또한 미래입력에 대해서 결정된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;몇가지 예제를 보자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$y(t)=x(2t)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$t=0$일때, $y(0)=x(0)$ , $t=0$과 $x(0)$ 시점이 같다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$t=-1$일때, $y(-1)=x(-2)$ , $t=-1$과 $x(-2)$ 시점이 다르다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$t=1$일때, $y(1)=x(2)$ , $t=-2$와 $x(2)$ 시점이 다르다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무조건 괄호안의 숫자만 보고 판단한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$y(t)=x(-t)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$t=0$일때, $y(0)=x(0)$ 아웃풋이 현재 인풋으로 정해진다. $t=0$과 $x(0)$ 시점이 같다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;$t=-1$일때, $y(-1)=x(1)$ 아웃풋이 미래 인풋으로 정해진다. $t=-1$과 $x(1)$이 시점이 다르다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;$t=1$일때, $y(1)=x(-1)$ 아웃풋이 과거인풋으로 정해진다. $t=1$과 $x(-1)$이 시점이 다르다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$y(t)=sin(2t)\times x(t)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$t=0$일때, $y(0)=sin(2\times 0)\times x(0)$ , $t=0$과 $x(0)$이 시점이 같다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;$t=-1$일때, $y(-1)=sin(2\times -1)\times x(-1)$ , $t=-1$과 $x(-1)$이 시점이 같다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;$t=1$일때, $y(1)=sin(2\times 1)\times x(1)$ , $t=1$과 $x(1)$이 시점이 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$y(t)=e^{-x(t)-t}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 눈치 챘으면 안해봐도 $t=-1,0,1$ 일때 $x(-1),x(0),x(1)$ 인풋으로 그 시간의 입력값을 받것을 알 수 있을것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞에 무엇이 곱해졌건 어떤 형태를 띄건간에 그건 시스템이 결정하는 일이고 우리는 그 시스팀이 어떤 인풋을 받아서 t=? 일때 값을 결정하는지만 관심있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$y(t)=\int^t_{-\infty}x(t)dt$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 무작정 $x(t)$만보고 달려들면 안된다. 항상 의미를 잘 생각해야한다. 이 시스템은 어떻게 될까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;편의상 아래와 같은 x(t)가 있다고 생각해보자&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;759&quot; data-origin-height=&quot;591&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYcffk/btr8vxWnFMb/KS3VPuJhKfucJVm7PHqHX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYcffk/btr8vxWnFMb/KS3VPuJhKfucJVm7PHqHX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYcffk/btr8vxWnFMb/KS3VPuJhKfucJVm7PHqHX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYcffk%2Fbtr8vxWnFMb%2FKS3VPuJhKfucJVm7PHqHX0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;385&quot; height=&quot;300&quot; data-origin-width=&quot;759&quot; data-origin-height=&quot;591&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;t=-4이거나 그보다 작을때는 적분값이 0이므로 아웃풋이 0이 될것이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;t=0이면? 적분값은 3.5가 될것이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;t가 1정도 왔다고 해보자 3.5+ 0부터1까지의 x(t) 값을 모두 더한게 y(1)이 될것이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 시스템은 y(1)=y(0)+x(0.1)+...+x(0.2)+...+x(0.3)+...x(0.9)+... 과거의 인풋으로 현재 값이 결정된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 다 알아봤다. 특징을 구분할 수 있는 눈을 가졌으니 특징이 어떤것들이 있는지 살펴보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&lt;b&gt;1. 첫번째 특징 Static and Dynamic (Memoryless / Memory)&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아웃풋이 오직 현재의 입력에만 의존한다. $sin(-3t)$가 곱해지건 $e^{-1/t}$가 곱해지건 $t=T$일때 오직 인풋$x(T)$에만 관계되면 이를 Static 시스템(=Memoryless System)이라고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&lt;b&gt;2. 두번째 특징 Casual&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아웃풋이 오직 현재까지의(지금보다 과거도 됨) 입력에만 의존한다. 즉 $t=T$일때 $x(T+k) ,(k&amp;gt;0)$의 인풋을 요구하지 않는다. 어떤 아웃풋이건 현재나 과거에 입력이 있었다고 생각하면 좋다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;i&gt;3. 세번째 특징 Time invarient&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시스템이 시간에따라 변하지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 직관적으로 이해하려면 시스템과 아웃풋 인풋을 나눠서 생각 할 필요가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아웃풋은 $y(t)$ 인풋은 $x(t)$ 그리고 그 둘을 $=$로 연결해주는게 시스템이라고 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$y(t)=x(2t)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$y(t)=e^t\times x(2t)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 두가지 경우를 생각해보자. 첫번째 시스템은 $t=1$ 일때 $y=x(2)$ 이고 $t=1-1=0$ 일때 $y(0)=x(0)$ 이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두번째 시스템은 어떤가? $t=1$일때 $y=e*x(2) = 2.718..\times x(2)$ $t=1-1$일때 $y(0)=x(0)$이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;t와 input 관계는 두 시스템 모두 동일하지만 Output과 t의 관계에서 차이가 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;간단하게 생각해서 $x(t)=1$이라고 해보자 모든 $t$에대해서 인풋은 항상 1로 결정된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시스템1에서는 어떤 $t$를 집어넣어봐도 (=인풋을 언제 넣더라도) 아웃풋이 항상 동일하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반면 시스템2에서는 $x(t)$의 값과는 상관없이 시간 $t$가 크거나 작아짐에 따라서 아웃풋이 변해버린다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시스템 1을 TI 시스템2를 TV(time varying)이라고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;더 직관적으로 이해하자면 자판기가 있다. 내가 오후 1시에 자판기에 1000원을 넣어도 음료수는 1개가 나오고 오후 4시 오후11시에 넣어도 음료수는 여전히 1개가 나올것이다. 오로지 인풋만 시간항에 관계하면 Ti 이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇지만 택시는 어떤가? 낮에 택시를 타면 4800원이지만 밤 11시에 타면 5300원이 기본요금이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특정시간 $t=0$에만 $x(t)=1$ 이 되는 인풋이있다고 하자 ( $x(t)=1$일때 무언가를 5000원주고 해야지)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력을 시간지연 시켜서 $x(t-오후1시)$, $x(t-오후4시)$, $x(t-오후11시)$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시스템 $T( 자판기, 택시)$ 에 들어 갔더니&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아웃풋 $y( 음료수 5개, 이동거리 다름)$&amp;nbsp; 일정하면 $TI$ 일정하지 않으면 $TV$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;식으로 쓰면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$y(t)=T[x(t)]이면\;\, T[x(t-t_{0})] = y(t-t_{0}) 이다\;\,&amp;nbsp; for\;\, \forall \,t_{1},t_{2} \in t$$&lt;/p&gt;</description>
      <category>신호와시스템</category>
      <author>이해와암기 사이</author>
      <guid isPermaLink="true">https://sodamin.tistory.com/2</guid>
      <comments>https://sodamin.tistory.com/2#entry2comment</comments>
      <pubDate>Thu, 6 Apr 2023 15:20:07 +0900</pubDate>
    </item>
  </channel>
</rss>