디지털논리회로 17

Counter ( # Verilog )

Asynchronous Ripple Counter    JK Flip Flop으로 이루어진 Asynchronous Ripple Counter 입니다.Q0의 출력이 Q1의 CLK 으로 들어가서 작동하는 방식 입니다.앞의 값의 영향을 받기때문에 속도가 느릴 수 있습니다.그러므로 CLK의 영향을 받지 않기 때문에 비동기식 카운터라고 합니다. Synchronous Ripple Counter  JK Flip Flop으로 이루어진 Synchronous Ripple Counter 입니다.모두 CLK와 연결되어있는 동기식 카운터입니다.JK Flip Flop의 hold, toggle 기능을 이용해 And Gate가 사용됩니다.비동기식보다 빠르게 동작합니다.  Verilog  Testbench  Sim

Universal_shift_register

그동안 적은 내용을 통해 Universal_shift_register를 살펴보겠습니다.      4bit 형태의 shift register 입니다. 아래와 같은 기능을 하는 레지스터를 베릴로그로 표현해보려합니다.출력은 앞의 D_FF, 뒤의 D_FF, 본인한테 돌아오는 입력과 나가는 출력이 필요합니다.     4가지의 기능을 하기 위해서 2비트의 select 신호가 필요합니다. AND gate를 통해 CLK와 enable 신호로도 사용할 수 있겠지만 CLK와 동기화 해서 사용하는게 좋기 때문에 4 to 1 Mux를 이용합니다.  Verilog Testbench Sim              자료출처 :http://www.youtube.com/watch?v=KuFLwLrnu-w&t=2309s

T Flip-Flop with D Flip-Flop

T Flip Flop에 대해 살펴봅시다.아래의 진리표를 봐주세요 INPUTOUTPUTTQ( t + 1)0Q(t) no change1Q'(t) compelement   위의 진리표를 통해 다음과 같이 식을 표현 할 수 있습니다.Q(t + 1) = T'Q(t) + TQ'(t)  = T ⊕ Q D Flip Flop, Q(t +1) = D 에 대입하여 아래와 같이 만들 수 있습니다.마찬가지로 JK FlipFlop 에서 JK 신호를 T 신호로 연결해주면 T FlipFlop으로 사용 할 수있습니다.                             자료출처 : https://www.youtube.com/watch?v=lIC5fwci-2U&list=PLrJcoRcsaj2vCVaB8fgDwktmltu1jJTt9&ind..

JK Flip-Flop with D Flip-Flop

JK Flip-Flop에 대해 살펴봅시다.아래의 진리표를 봐주세요 INPUTOUTPUTJKQ( t + 1 )00Q(t) ( Nochange )010 (reset)101 (set)11Q'(t) ( compelement )  위와 같이 4개의 기능을 하기 위해서 2비트의 정보가 필요합니다.위의 진리표를 통해 식을 구하면 다음과 같이 표현 할 수 있습니다Q ( t + 1 ) = K'Q + JQ'  D Flip Flop Enable이 1일때 Q( t + 1) = D 가 됩니다.D 대신 K'Q + JQ' 을 넣을 수 있으며 다음과 같이 만들 수 있습니다                     자료출처: https://www.youtube.com/watch?v=lIC5fwci-2U&list=PLrJcoRcsaj2vCV..

D Filp-Flop ( # Verilog )

D Filp-Flop 에 대해 살펴봅시다.D Filp-Flop은 D Latch 2개로 만들 수 있습니다.  D Latch를 사용할경우 En 신호, 위에서는 Clk 신호가 1로 출력중 일 때 D 값이 변화 할 경우 Q값도 바뀌게 됩니다.D Latch 를 1개 더 사용해 EN = 0 일 때 출력을 Hold 하는 것 을 이용해   Clk 가 1이 되는 순간에 D 값을 출력해 고정할 수 있는 D Flip-Flop을 만들  수 있습니다.  INPUTOUTPUTCLKDQQb0xQ 이전값Qb 이전값11101001  VerilogTestbenchSim

SR Latch , D Latch

SR Latch를 살펴봅시다.아래의 진리표를 봐주세요 INPUTOUTPUTS (Set)R (Reset)QQb10011101011010100011 위의 진리표를 정리하면 아래와 같이 표현할 수 있습니다. INPUTOUTPUTS (Set)R (Reset)QQb00Forbidden0110100111Hold    Sequential logic을 설계하기 위해 값을 유지하는 회로를 SR Latch로 표현 할 수 있습니다.이에 추가로 En 신호를 주어 En = 0 일 때는 값과 상관없이 Hold 할 수 있는 회로를 만들 수 있습니다.  INPUTOUTPUTEnSRnext state of Q0xxNo change100No change101Q = 0 (reset state)110Q = 1 (set state) 111I..

Synchronous, Asynchronous

SynchronousSynchronous 는 clock 에 동기화하여 동작을 실행하는 방식의 회로입니다.예를 들어 데이터가 값이 미리 계산 되어도 바로 출겨하지 않고 clock의 positive edge, negative edge 타이밍에 맞춰서 값을 출력하는 것입니다. Flipflop 을 사용할 때 사용합니다.AsynchronousAsynchronous 는 clock 신호에 무관한 방식의 비동기 회로입니다.예를 들어 reset 과 같은 것을 Asynchronous 로 사용하기도 합니다.

Combinational logic - Sequential logic 차이

Combinational logic현재 입력에 따라 출력이 결정되는 회로를 말합니다. Sequential logic출력이 입력에 의해서만 결정되지 않고 들어왔던 입력들의 영향또한 받는 논리회로를 말합니다.       예를 들어보겠습니다. 지금까지 보았던 AND, OR, NOR, 과 같은 Gate 로만 이루어져 입력에 따라 출력이 바로 결정되는  회로를 Combinational logic이라고 할 수 있습니다. Sequential logic 은 자판기로 예를 들어보면 음료수를 사기 위해서 2000원을 넣어야한다고 가정해봅시다.500원짜리 동전을 넣는다고 할때 500원 , 1000원, 1500원, 2000원까지 넣으면 음료수를 사먹을 수 있습니다.동전을 넣는 동안 기계는 500원, 1000원등 가격 값을 저..

Multiplexer ( # Verilog )

Multiplexer에 대해서 알아봅시다.아래의 진리표를 봐주세요. INPUTOUTPUTS1S0Y00I001I110I211I3 MUX ( Multiplexer ) 는 2n 개의 인풋을 n 개의 Select 신호에 따라 출력을 내보내는 회로입니다.위의 진리표를 통해 식을 구하면 아래와 같이 표현 할 수 있습니다. Y = S1' S0' I0 + S1' S0 I1 + S1 S0' I2 + S1 S0 I3 Gate Level    Verilog (1)Testbench (1)Sim (1)   Verilog (2)Testbench (2)Sim (2)

Decoder ( # Verilog )

2 to 4 Decoder  를 살펴보겠습니다.아래의 진리표를 봐주세요INPUTOUTPUTIN [1]IN [0]OUT [3]OUT [2]OUT [1] OUT [0]000001010010100100111000 Decoder는 Encoder와 반대로 암호화된 데이터를 해석하는 역할을 하는 회로입니다위의 진리표를 통해 식을 구하면 아래와 같이 표현 할 수 있습니다. OUT [0] = IN [0]' IN [1]'OUT [1] = IN [0] IN [1]'OUT [2] = IN [0]' IN [1]OUT [3] = IN [0] IN [1]Gate Level VerilogTestbenchSim