대량 생산 전 적절한 하드웨어 검증 및 스트레스 테스트를 통해 리콜 및 재설계 비용을 수백만 달러 절약할 수 있습니다. 이 애플리케이션 노트에서는 Moku:Go 로직 분석기/패턴 생성기 입력을 토글하고 해당 출력을 기록하여 디지털 4비트 가산기를 검증하는 데 활용됩니다. 또한 클럭 속도는 증가하는 클럭 주파수로 하드웨어의 스트레스 테스트를 위해 변경되어 사용자에게 오류에 대한 통찰력을 제공합니다.
Moku:Go는 아날로그 입력 2개, 아날로그 출력 2개, 디지털 I/O 핀 16개 및 통합 전원 공급 장치 옵션을 갖춘 하나의 고성능 장치에 13개 이상의 실험실 장비를 결합합니다.
데모 모드에서 Moku를 사용해 보세요
Moku 앱을 다운로드하세요 →
FAQ에 대한 답변을 받으세요
지식 기반을 방문하세요 →
Moku 사용자와 연결
사용자 포럼에 참여하세요 →
Moku:Go
Moku:Go는 아날로그 입력 2개, 아날로그 출력 2개, 디지털 I/O 핀 16개 및 통합 전원 공급 장치 옵션을 갖춘 하나의 고성능 장치에 13개 이상의 실험실 장비를 결합합니다.
개요
모든 디지털 회로의 중심에는 전기 신호를 켜거나 끄는 데 사용되는 기본 반도체 장치인 트랜지스터가 있습니다. 이러한 스위치의 다양한 배열은 컴퓨팅의 기본 요소를 구성하는 논리 연산자로 대체됩니다. 가장 복잡한 통합 칩(IC)도 이러한 기본 구성 요소를 사용하여 구성할 수 있습니다. 본 애플리케이션 노트에서는 다양한 논리 게이트를 사용하여 4비트 가산기 회로를 구성하여 디지털 회로 설계 과정을 따라가볼 것입니다. 디자인 검증은 Moku:Go 로직 분석기/패턴 생성기를 활용하여 이루어집니다. 그 후, Moku:Go MATLAB API를 활용하여 검증 프로세스를 확장 및 자동화하고 스트레스 테스트를 실행하여 회로의 최대 클럭 속도를 결정합니다.회로 설계
4비트 가산기는 4개의 완전한 1비트 가산기 회로로 구성되었습니다. 각 가산기는 두 개의 데이터 입력 An과 Bn, 그리고 하나의 올림 입력 C를 포함합니다.in논리 연산을 거친 후, 입력 Sn의 합을 출력하고, 그 결과를 C로 출력합니다.아웃 논리 게이트에는 시판되는 논리 집적 회로(IC) 74LS86, 74LS08, 74LS32를 XOR, AND, OR 게이트에 사용했습니다. 논리 IC의 상세 배치와 논리 게이트 간의 배선 연결은 그림 1(a)와 (b)에서 각각 확인할 수 있습니다.
그림 1: (a) AND, XOR 및 OR 게이트로 사용된 논리 IC. (b) 1비트 전가산기를 구축하는 논리.
4비트 가산기 회로는 C를 연결하여 구성되었습니다.아웃 하위 자릿수 가산기에서 C로의 포트in 다음 유효 숫자. Cin 최하위 자릿수는 낮은 상수 값으로 유지되었습니다. C아웃 가장 중요한 가산기(C)의 경우3)는 시스템 전체에서 최상위 자릿수를 나타내는 데 사용되었습니다. 4비트 가산기는 포트 A를 통해 두 개의 4비트 숫자를 입력받았습니다.0-3, B0-3그리고 그 결과를 S 핀에 표시했습니다.0-3두 입력값이 모두 0b1111로 설정되었을 때, C3 그렇지 않으면 높은 상태를 유지하고, 그렇지 않으면 낮은 상태를 유지합니다. 그림 2는 회로도(a)와 브레드보드에 실제로 제작된 회로를 보여줍니다.
그림 2: (a) 4비트 가산기의 회로도 및 (b) 브레드보드 레이아웃.
Moku:Go의 로직 분석기를 사용한 시스템 검증
기기 연결
회로를 검증하기 위해 4비트 가산기의 입력과 출력을 Moku:Go 16핀 디지털 I/O에 연결했습니다. 자세한 연결 및 핀아웃 맵은 그림 3에 나와 있습니다.
그림 3: Moku:Go 디지털 I/O와 4비트 가산기 간의 자세한 연결 맵.
단일 입력 테스트
먼저 입력 레벨을 수동으로 전환하여 회로를 테스트했습니다. 그림 4에서 로직 분석기의 출력(핀 0~8)은 0b8(A) 및 0b0101(b)로 설정되었으며 이는 10진수에서 5 + 4로 변환됩니다. 핀 9~12에서 십진수 9에 해당하는 0b1001을 읽습니다. 핀 10의 수행 신호가 낮았으며 이는 오버플로가 없음을 나타냅니다.
그림 4: 먼저 입력 논리 레벨을 수동으로 전환하여 회로를 테스트했습니다.
무작위 패턴 및 스트레스 테스트
테스트 세트를 확장하고 한계를 파악하기 위해 Moku:Go 로직 분석기의 랜덤 패턴 생성 함수를 활용했습니다. 1024Hz에서 62.5MHz까지 가변 클록 주파수에서 62.5개의 길이를 갖는 랜덤 패턴을 생성했습니다. 랜덤하게 생성된 출력 패턴과 입력 패턴은 모두 MATLAB을 사용하여 기록하고 분석했습니다.
그림 5: 무작위로 생성된 패턴을 사용하여 회로의 스트레스 테스트를 수행했습니다.
자동화된 검증을 위한 MATLAB 스크립트
자동 검증 스크립트에서 각 가산기 내 논리 게이트의 동작은 MATLAB 내장 논리 연산자를 사용하여 명시적으로 시뮬레이션되었습니다. 다음 코드 조각은 1번 핀과 2번 핀에서 무작위로 생성된 신호를 읽고 S에 대한 예상 출력을 계산합니다.0 및 C1 전가산기 1(FA1)의 경우.계산된 C1은 다음 FA의 동작을 시뮬레이션하기 위해 다음 코드 블록에서 사용되었습니다.%%%FA1 을 통한 i = 1:n S0(i) = xor(xor(data(i,2),data(i,3)),Cin); C1(i) = or(and(Cin,xor(data(i,2),data(i,3))),and(data(i,2),data(i,3))); end
전체 회로의 최종 히트 레이트는 다음 코드 블록을 통해 계산되었습니다.%%%FA2 을 통한 i = 1:n S1(i) = xor(xor(data(i,4),data(i,5)),C1(i)); C2(i) = or(and(C1(i),xor(data(i,4),data(i,5))),and(data(i,4),data(i,5))); end
클록 주파수에 따른 4비트 가산기 회로의 최종 적중률을 그림 6에 나타냈습니다. 적중률은 y축에 적중률(%)로, 클록 주파수는 헤르츠(Hz) 단위로 x축에 표시했습니다. 회로는 1.25MHz까지 안정적이었습니다. 클록 속도가 더 증가함에 따라 성능이 크게 저하되었습니다. 이 회로는 31.25Hz~1.25MHz 사이에서 안정적인 조건에서 작동한다고 결론지을 수 있습니다.hit = 0; 을 통한 i = 1:n if data(i,10)==S3(i) && data(i,11)==S2(i) && data(i,12)==S1(i) && data(i,13)==S0(i) hit = hit +1; end end hit_rate = hit/n*100;

그림 6: 클록 진동수에 따른 4비트 가산기의 적중률.




