이산 로직 설계


11

간단한 알람 장치를 만드는 일을 맡았습니다. 입력을 몇 개만 측정하면 그에 따라 출력이 반응합니다 (매우 간단하게 말하면됩니다!). 나에게 몇 개의 개별 논리 게이트를 사용하면 작업이 완료되는 것처럼 보였지만 동료 (나와 함께 일한 동료)는 프로그래밍 가능한 논리를 대신 사용해야한다고 결정했습니다. 그의 사례는 첫 번째로 나보다 상급자이기 때문이며 두 번째로 프로그래머블 장치는 미래이며 우리는 미래의 증거 제품을 만들고 싶다는 것이 그의 주장이었습니다.

내 질문은 몇 개의 이산 로직 게이트로 쉽게 구현할 수있는 디자인이 있다면 더 이상 이산 로직으로 디자인 할 가치가 있습니까? 프로그래밍보다 그것들을 사용하면 어떤 이점이 있습니까? 아니면 프로그래밍 가능한 논리에 의해 천천히 완전히 단계적으로 폐지됩니까? 분명히, 나는 '이 경우라고 믿는다'또는 '개인적으로 나는 이것을 생각하지만 ...'에 대한 대답을 원하지 않습니다. 프로그램 가능한 것보다 개별적으로 디자인하여 실제 이점이 있는지 알고 싶습니다. 요즘 소비자 가전 제품에서 디자인 할 가치가 있습니까?


16
이것은 90 년대의 질문처럼 들린다. µC가 이겼다. 공간 소비는 물론이고 6 개의 IC를 함께 연결하는 방법에 대해 생각하는 것보다 훨씬 쉽게 엉켜서 수행 할 수있다.
PlasmaHH

9
개별 게이트는 하나의 큰 장점이 있습니다. 툴체인이 없습니다.
jonk

툴체인이 없습니까? @jonk
Curious

@PlasmaHH 기본적으로 미래에 이산 설계에 이점이 없다고 말하는 것입니까?
Curious

11
@jonk의 의미는 마이크로 컨트롤러를 사용할 때 IDE (그래픽 또는 텍스트 사용자 인터페이스) 및 사용하는 마이크로 컨트롤러 전용 컴파일러 / 링커 / 기타 도구 조합과 같이 마이크로 컨트롤러 용 프로그램을 작성하는 소프트웨어가 필요합니다. 공구 체인.
Michel Keijzers

답변:


15

이산 로직 설계가 완전히 단계적으로 폐지되지는 않습니다. 디스크리트 로직 IC를 사용하는 것이 선호되는 애플리케이션이 항상 있습니다. 지적 된 바와 같이, 많은 응용에서 속도 차이가 그렇게 중요하지는 않지만, 속도는 큰 이점이다.

설계 단계에서 회로의 서로 다른 지점에서 2 개 또는 3 개의 간단한 논리 기능 만 수행해야하는 회로를 설계하는 경우 별도의 게이트를 사용하는 것이 좋습니다. 프로그램도.

더 복잡한 논리 기능을 수행해야하는 시스템의 경우, 항상 진리표를 작성하고 작은 프로그램을 작성할 수있을 때 어떤 논리 게이트가 어디로 가야하는지 파악하는 것은 어리석은 일입니다. 일반적으로 입력이 많을수록 더 많은 게이트가 필요하고 개별 설계에 더 오래 걸립니다.

이산 논리가 실제로 이점을 갖는 곳은 학습에 있습니다. 논리 설계와 게이트 작동 방식에 대해 처음 배우면 실제 논리 게이트를 사용하고 개별 부품으로 다른 기능을 설계하는 것이 좋습니다. 기본을 이해하는 것이 좋습니다. 따라서 이로 인해 이산 논리는 항상 이 세상에서 자리를 차지할 것입니다. 가전 ​​제품은? 미래는 확실히 프로그래밍 가능합니다.


간단한 답변, 좋은 포인트 및 모든 질문에 대한 답변! 감사!
Curious

전자 배경 지식을 가진 프로그래머로서 나는 당신이 진리표를 해결하지 않으면, 당신이 진리표를 설정하는 데 필요한 시간만큼 프로그램을 디버깅하는 데 많은 시간을 할애한다고 말하고 싶습니다. 당신의 진리표는 당신의 프로그램을위한 훌륭한 문서가 될 것입니다.
chthon

네, 동의합니다. 진리표는 항상 유용합니다.이 시나리오와 조금 더 관련이 있도록 답변을 편집하겠습니다.
MCG

1
디스크리트 로직을 사용하여 구현 한 마지막 설계는 5V 로직을 사용하여 "가능한 한 낮은"타이밍 요구 사항과 비교적 간단한 프로그램 요구 사항을 가졌습니다. 멋진 반짝이는 FPGA에 많은 돈을 쓰거나 그냥 "오래된 학교"방식으로 할 수 있습니다. 군용 스펙 칩은 피코 초 단위로 최대 전압 변동을 겪고 바퀴벌레와 함께 핵 종말에서 살아남을 것이며 거의 비용이 들지 않습니다. 이산 논리를위한 장소가 항상있을 것입니다.
Landak

14

저는 전문 전자 엔지니어가 아닙니다 (실제로는 초보자). 그러나 몇 센트는 타이밍이 중요하거나 프로그래머블 로직을 사용하지 않아야하는 경우에만 전용 이산 로직 IC를 사용해야한다는 것입니다.

마이크로 컨트롤러를 사용하면 훨씬 더 복잡한 로직을 구현할 수 있으며 더 유연합니다. 또한 하드웨어를 변경하지 않고도 다시 프로그래밍 할 수 있습니다.

또한 소프트웨어가 따라 올 수없는 매우 빠른 타이밍이 필요한 경우 전용 로직 IC를 사용할 수 있습니다. 그러나 경보 시스템의 경우에는 필요하지 않은 것으로 보입니다 (나노초의 응답 시간이 필요하지 않음).

아래는 장단점에 대한 나의 해석입니다.

                          Discrete logic (ICs)      Programmable logic/
                                                    (Microcontrollers)
 Nanosecond speed                  x                         -
 Just a few 'operators' needed     x                         -
 No tool chain needed              x                         -
 Cost Efficiency *                 -                         x
 PCB / proto size                  -                         x
 Flexibility for changing          -                         x
 Production cost                   -                         x
 Possibility to extend features    -                         x

* Assuming more than a few (different) logic functions needed

1
당신의 의견에서 속도가 가장 큰 장점입니까? 답을 위해 +1, 나는 특히 당신의 테이블을 좋아합니다!
Curious

1
예, 하드웨어는 소프트웨어보다 빠르므로 속도가 정말로 필요하다면 하드웨어 IC가 필요합니다. 그렇지 않으면 '소프트웨어'(마이크로 컨트롤러) 솔루션으로 갈 것입니다. Btw는 오늘날 더 복잡한 속도 감지 솔루션을 위해 FPGA를 사용합니다.
Michel Keijzers

1
FPGA를 사용할 계획이 아니 었습니다. 헤드 엔지니어가 이미 하드웨어를 결정했습니다! 나는 단지 어떤 이점이 있는지 궁금해서 호기심으로 질문했습니다. 그건 그렇고, 다른 답변이 없으면 시간 내에 답변을 받아 들일 것입니다. 조기에 수락하기 전에 다른 사람에게 대답 할 기회를주고 자합니다!
Curious

5
헤드 엔지니어가 올바른 결정을 내렸다고 생각합니다. 알람 시스템은 일반적으로 확장되어 (멀티플 소스에서 더 많은 입력을 받고 그에 따라 행동), 조합하여 심지어 자동 SMS 전송, 신호음 / 알람 신호 시그널링, 아마도 일부 로깅과 같은 기능을 추가합니다. 센서 등
Michel Keijzers

2
@MichelKeijzers 현대 FPGA는 기존의 이산 로직 IC로 달성 할 수있는 것보다 훨씬 빠릅니다.
Tustique

10

상용 제품을 만들려는 경우 "프로그래밍 가능"하거나 상급 동료가 제안했기 때문에 실제로 디자인을 선택하지 않아야합니다. 대신 각 설계와 관련된 위험비용을 추정 하고 비용 이 가장 낮고 허용 가능한 위험 수준이 가장 높은 것을 선택해야합니다. 시작하려면 :

  • 개별 구성 요소의 가격은 비용을 추가
  • 필요한 PCB 크기와 복잡성으로 인해 비용이 추가됩니다
  • 필요한 설계 노력과 도구가 비용을 추가
  • 필요한 테스트 및 인증으로 비용이 추가됩니다

  • 유연성 부족 (예 : 새로운 PCB를 필요로하는 이산 논리의 변화) 위험
  • 팀의 특정 기술에 대한 경험이 부족하면 위험합니다
  • 프로젝트 요구 사항 (예 : 목표 전력 소비)을 충족시킬 수없는 위험

특정 프로젝트에 대해 이산 로직 IC를 소싱하는 것이 더 저렴할 경우, 해당 설계에 대한 경험이 있고 유연성 부족이 중요하지 않다고 생각하면 이산 로직을 사용하지 않을 이유가 없습니다.


매우 사실입니다. 그렇다면 이산 논리의 미래가 있다고 생각하십니까?
Curious

4
@ 호기심 나는 아직도 여기저기서 기본적인 논리 기능을 구현하기 위해 개별 BJT와 MOSFET이 사용되는 것을 본다. 이산 논리는 일부 간단한 작업에 유용한 추상화이므로 완전히 사라지지 않을 것이라고 확신합니다.
Dmitry Grigoryev

7

다른 답변이 잊어 버린 한 가지 측면은 안전입니다. 이산 논리 회로는 훨씬 더 복잡한 마이크로 컨트롤러 설계보다 훨씬 안정적입니다. 수소 프로토 타입 자동차 제작을 도왔으며 모든 안전 회로는 이산 로직을 사용하여 설계되었습니다. 안전 및 신뢰성은 경보 시스템 설계를 고려할 수있는 측면입니다.


3
이것은 일반적으로 사실이 아닙니다. 하나는 엄청나게 안전하지 않은 이산 시스템과 엄청나게 안전하고 강력한 시스템을 프로세서에 구축 할 수 있습니다. 팀에 프로세서를 사용할 수있는 기술이 없었지만 이것이 본질적으로 안전하지는 않습니다. 프로세서에서 대량의 복제를 수행 할 수 있으며 개별 시스템에서는 실용적이지 않습니다.
awjlogan

1
@awjlogan 당신은 그 일을 모두 할 수 있지만 개별 로직 비상 정지입니다 결코 예상치 못한 조건이 무한 루프로의 다른 부분을 전송하기 때문에 활성화에 실패 할 것 없습니다. 안전에 중요한 시스템 은 가능한 한 간단해야합니다 .
user253751

1
@immibis 프로세서 고유의 디자인과 사양이 아닙니다. 시스템, 디스크리트, FPGA 등에서 항상 장애가 발생할 가능성이 있습니다. 페일 세이프는 가능한 한 단순해야한다고 동의했는데, 이것이 반드시 분리해야한다는 의미는 아닙니다.
awjlogan

5
@immibis 이산 로직은 납땜 결함만으로 인해 특정 설계 크기를 초과 한 MCU보다 신뢰성이 떨어집니다. 디스크리트 로직에 트리거가 포함되어 있으면 소프트웨어에서와 같이 금지 된 시스템 상태와 정확히 같은 문제가 발생합니다.
Dmitry Grigoryev

4
개별 부품은 고장 발생시 더 예측 가능하게 작동 할 수 있습니다.
rackandboneman

4

복잡한 조합 논리와 타이머를 수행해야 할 때마다 불연속 논리를 신경 쓰지 않고 항상 ATtiny를위한 최소 어셈블러 프로그램을 코딩합니다 (원하는 경우 PIC를 사용하십시오).

조합 논리는 최대 20 라인의 어셈블러 (여러 조회 테이블)입니다. 각 소프트웨어 타이머는 또 다른 10 개의 라인을 추가합니다. 하드웨어 타이머가 훨씬 적습니다. A / D 컨버터, 비교기, PWM 생성이 필요한 경우 이점을 얻을 수도 있습니다.

유일한 단점은이 부분을 플래시해야한다는 것입니다. 때때로 그것은 쇼 스토퍼이지만, 거의 그렇지 않습니다. 가장 큰 장점은 보드에 훨씬 적은 공간이 필요하고 라우팅이 훨씬 간단하며 필요한 경우 로직 기능을 쉽게 변경할 수 있다는 것입니다.


별도의 로직 IC의 나머지 사용 사례는 1µs보다 빠르게 작동해야하는 경우입니다.


약간의 주제이지만 ATTiny x17 / x16 부품에는 3 개의 입력 LUT가 내장되어 있습니다. 실제로 매우 편리합니다!
awjlogan

4

최종 제품-소비자 디바이스와 이야기 할 때 이산 로직에 대한 이점이 많지 않을 것입니다. 예외는 불리한 조건에 대해 매우 견고해야하거나 완전히 특성화하기 매우 쉬운 것 (펌웨어 기반의 경우 실제 버그의 복잡성 및 잠재적 가능성이 훨씬 높음)이거나 앞으로 수십 년 동안 비슷한 부분 (기술 문자가 변경 되더라도 74xx 발자국은 매우 느리게 변경됩니다)).

이산으로 실제로 더 잘 할 수있는 것은 자기 타이밍, 비동기 논리입니다 (한 가지를 완성하면 즉시 다른 것을 유발합니다). 그러한 디자인의 정당성은 거룩한 전쟁 주제입니다. 걱정하지 마십시오. 동기 사람들이 당신을 이길 원하지만 당신은 단지 그들의 시계를 가져 가야합니다, 그들은 무의미하게 그것을 영원히 기다리고있을 것입니다.

디자인 방법론에 관해서는, 그것은 디자이너의 선호하는 스타일에 달려 있다고 말할 것입니다. 호스트 PC의 전원을 사용하는 경우 (분위기를 위해 핀에 와이어를 만질 때 시뮬레이션 된 스파크가 있음) 분명히 별개의 논리를 선호하는 사람들이 좋아할 것입니다. :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.