실생활에서의 논리회로 디자인의 예
위의 예시 처럼 조건이 주어지면 그에 맞추어서 논리회로를 설계할 수 있다.
Three One's detector
Three One's detector 란 여럽 입력이 들어왔을 때에 3개의 수가 연속해서 1일 경우에 1을 출력하도록 하는 것이다.
이때에는 모든 경우의 수를 따지는 minterm을 사용하는것이 아니라 3개씩 끊어서 and게이트로 연결하는 방식으로 설계할 수 있다.
Seven Segment Display
이는 우리가 흔히 보는 디지털 숫자 판인데
위와 같이 7개의 출력 전구에 각각 출력을 하여 숫자를 표현 하는 것이다.
이를 truth table 로 만들게 되면 현재 입력이 7개 고려해야하는 가짓수가 2^7개 이다. 따라서 너무 많기 때문에 이를 모두 truth table을 만들기에는 문제가 있다. 따라서 식으로 나타내는데 위 표를 보게 되면 우리는 0 ~ 9 까지만을 사용하기 때문에 그 아래의 것들은 필요가 없다. 따라서 필요 없는것들의 출력을 1로 출력한다고 하면 minterm을 사용하여 1을 출력하는 것 보다 maxterm을 사용하여 0을 출력하는 것이 더욱 효과적이다. 따라서 a = (w' + x' + y' + z)*(w' + x + y' + z')으로 나타낼 수 있다.
우리가 회로 설계를 할 때에 있어서 고려하는 사항은 비용, 회로의 시간 등이 있다.
위를 고려를 하는데에 있어서 가장 최적의 조합을 만드는 것이 목표인데
위 처럼 f2가 f1보다 훨씬 효율적이라는 것이 자명하면 f2를 사용하면 되지만,
delay 값은 입력부터 도달까지가장 오래걸리는 것을 기준으로 한다.
위처럼 애매한 경우를 tradeoff 라고 한다. 이 뜻은 하나를 얻으면 하나를 잃어야 한다는 것이다.
이 trade off 한 관계들은 optimization (최적화)를 할때에 발견 된다.