* Karnaugh Maps(K-maps)
ex)
ex) Seven-segment display decoder
※ Prime Implecant : K-maps에서 최대한의 크기로 만들 수 있는 circle(원)
* Tri-state buffer
- S가 1이면 통과, S가 0이면 통과시키지 않는다.
- S가 들어가기전에, not symbol을 만나면 결과는 반대로 일어난다.
(not symbol은 buffer에 종속되있다.)
* Combinational building blocks
ex) 2개의 input이 있다면 2개의 select bit(스위치)가 필요하다.
> 위의 mux를 Tri-state buffer로 표시하면...
> mux를 사용하면 AND, OR, XOR, NAND, NOR, XNOR등을 표현 할 수 있다.
ex) Y = AB
※ Reducing : 진리표를 2개씩 묶어서 행을 반으로 줄이는 법으로 규칙이 보이면 사용한다.
ⓑ decoders
> N개의 입력과 2^N개의 출력을 가진다. (mux와 반대개념)
> 2^N개의 output중 단, 한개 만이 1이 된다. 이를 one-hot output이라고 한다.
ex)
> mux처럼 decoder를 이용해서도 로직을 표현할 수 있다.
* Timing
- Input이 들어와서 Output으로 변하는데 delay가 존재한다.
- circuit설계에서 timing은 매우 중요한 역할을 한다.
ⓐ Propagation delay : Input에서 Output으로 변하는데 걸리는 최대 시간.
ⓑ Contamination delay : Input에서 Output으로 변하는데 걸리는 최소 시간.
> Glitches나 외부영향(저항, 속도의 제한성, gate 수)등에 따라서 output의 변화가 한번에 일어 나지 않는다.
> Propagation delay와 contamination delay가 존재하는 이유는 회로의 값의 변화(상승, 하강)시간의 차이와
회로를 이동하는데 걸리는 시간이 상의하고, 온도가 더워져서 이다.
ex)
2개의 AND gate는 똑같다고 가정.
* Glitches
- 하나의 Input 변화가 여러개의 output에 영향을 준다.
- 위 회로를 통해서 예를 들면...
- Glitches를 없에기 위한 방법
ⓐ K-map에서 primary implecant 경계에 만들 수 있는 원이 있다면, 원을 그린다.
(K-maps에 예제 참조)
- Glitches를 막는 것은 매우 힘든일이다. 단지 이러한 것이 존재한다는 것을 인지하고 있자.