을 사용하여 CPU 구현하기 “555 타이머를 쉽게 사용할 수 있었을 때”마이크로 컨트롤러를 사용 했습니까? “라는 줄을 따라이 페이지에 수많은 의견이 있습니다!” 그리고 어떤 경우에 어떤 경우 에든 감정에 동의하지만 Hackaday.IO 사용자가 보는 기회가 주위를 볼 때 [Tim Böscke]는 555 개의 타이머 중 555 타이머 중 마이크로 컨트롤러를 짓고 마이크로 컨트롤러를 구축하고 정말로 실제로 던졌습니다. 이제는 분명하자, 이것은 우리 가이 아이디어를 처음으로 온 것은 처음으로 우리가 10 년 전에 빌드하는 Build Build가 있었지만, 이것은 PCB를 타겟팅하는 오픈 소스 합성을 활용하여 우리가 수행 한 처음입니다. …에!
첫 번째 로직 요소는 설정된 끄기 및 임계 값 핀을 함께 묶어서 만들어진 쉽게 인버터였습니다.
555 및 다이오드로 구현 된 NAND 게이트의 LTSPICE 모델
거기에서 NAND2 게이트와 NOR2 게이트를 효과하기 위해 입력에 몇 개의 다이오드 저항 네트워크를 추가하는 것이 쉬운 일이었습니다. 개발은 LTSPICE의 논리 회로를 모델링하여 부품 값의 최상의 조합을 찾아서 조금 빠른 속도를 높였습니다. 이러한 쉬운 요소에서 모든 논리 기능을 모두 구현할 수 있습니다. 다음으로 메모리 요소가 필요했습니다. 행운이 있으므로 555는 이중 비교기 입력에 의해 공급되는 회로의 일부로 RS 플립 플롭을 가지고 있습니다. 필요한 것은 VDD / 2에서 THR 입력을 바이어스 한 다음 패스 트랜지스터를 통해 데이터를 공급하고 Presto Hello Presto를 사용하는 것이 었습니다! 수리 할 수없는 느린 래치.
[TIM]은 이전에 MCPU라는 미니멀리스트 CPU를 만들었습니다. MACPELL FPGA에 맞게 개발 된 MERE 4 개의 명령어가 있으므로이 프로젝트의 설계를 재사용 할 수있었습니다. 재미있는 부분은 PCBFlow Toolchain [TIM] 유지 관리를 활용하여 맞춤형 장소 및 경로 (PNR) 백엔드가있는 Yosys 합성 흐름을 구현합니다. Liberty 파일은 회로 (Macrocells) [Tim]를 사용하여 Yosys / GHDL을 사용하여 플로우를 구현하여 설계를 자선으로 정의하고 이전에 정의 된 기술에 맵핑하고 넷리스트를 쓸 수 있습니다. PNR 도구가 사용할 수 있습니다. 유용한 요스는 또한 디자인의 PDF와 향신료 넷리스트를 씁니다. 도구가 무엇입니까!
PCBFlow 용으로 생성 된 PNR 도구 [TIM]는 Python으로 작성되었으며 독수리가 사용할 수있는 XML 형식을 출력합니다. 그것의 일은 모든 수동을 포함하여 적절한 물리적 회로를 조사하고, 상호 연결을 추가하고, 상호 연결을 추가 한 다음, 시뮬레이션 된 어닐링을 사용하여 최소한의 추적 길이를 최적화하는 레이아웃을 최적화하여 적절한 물리적 회로를 조회하여 Macrocells (의도적으로 만든 사각형)를 배치하는 것입니다. 우리는 결과가 꽤 매끄러운 것을보고 있으며,이 방법은 미래의 다른 프로젝트에 쉽게 재사용 할 수있는 것입니다.
고마워 [YGDES]를 보내!