VHDL 또는 Verilog에서 CPU의 읽기 쉽고 교육적인 구현을 권장 할 수 있습니까? 바람직하게는 잘 문서화 된 것.
추신 : 나는 내가 볼 수 있다는 것을 알고 opencores
있지만, 사람들이 실제로 보았고 흥미로운 것을 발견 한 것에 관심이 있습니다.
PS2. 짜증나는 태그에 대해 죄송하지만 새로운 사용자는 새로운 태그를 만들 수 없습니다
VHDL 또는 Verilog에서 CPU의 읽기 쉽고 교육적인 구현을 권장 할 수 있습니까? 바람직하게는 잘 문서화 된 것.
추신 : 나는 내가 볼 수 있다는 것을 알고 opencores
있지만, 사람들이 실제로 보았고 흥미로운 것을 발견 한 것에 관심이 있습니다.
PS2. 짜증나는 태그에 대해 죄송하지만 새로운 사용자는 새로운 태그를 만들 수 없습니다
답변:
오래 전에 Circuit Cellar 잡지 인 FPGA에 RISC 시스템 구축을 위해 쓴 기사 시리즈를 즐길 수 있습니다 .
행복한 해킹!
코드를 공부하려는 목적이 무엇입니까? 다시 말해, 흥미로운 것은 당신에게 무엇을 의미합니까?
CPU에 얼마나 많은 복잡성이 들어갈 수 있는지 확인하기 위해 OpenSPARC 아키텍처 의 소스를 연구하는 데 더 관심이있을 수 있습니다 . 다이빙하는 데 시간이 오래 걸리지 만 복잡한 마이크로 프로세서 의 전체적인 큰 그림을 감상 할 수 있습니다.
그런 다음 특정 컴퓨터 마이크로 아키텍처 기능을 연구하려면 작고 빠른 다중 스레드 32 비트 RISC 프로세서 (shameless plug) 인 AEMB 와 같은 간단한 RISC 시스템을 살펴보고 싶을 것 입니다.
그런 다음 원하는 코딩 스타일과 규칙을 배우고 싶은 경우 LEON2 디자인은 VHDL 코딩 스타일을 배우기에 좋은 장소입니다.
그러나 프로세서를 연구하는 목적이 자신을 설계하는 방법을 배우는 것이라면 가장 좋은 방법은 간단한 8 비트 시스템 중 하나에서 시작하는 것입니다 (인터넷에는 많은 AVR, 8051, PIC 예제가 있습니다).
일부 Forth CPU 설계를 검토해 볼 수 있습니다. Forth는 스펙과 구현이 두 개의 스택 스택 (하나는 데이터와 하나는 리턴 주소)을 통해 정의되는 간단한 프로그래밍 언어입니다.
여러 소형 VHDL / Verilog 프로세서를 자유롭게 사용할 수 있습니다.
더 많은 링크는 여기에서 찾을 수 있습니다 :
추신. Forth는 상당히 오래되고 모호한 언어 임에도 불구하고 많은 최신 스택 기반 VM (Java, 빠른 JavaScript VM)은 비슷한 저수준 디자인을 갖추고 있으므로 이에 대한 학습이 유익 할 수 있습니다.
PicoBlaze는 훌륭하지만 공급 업체 독립적 인 VHDL에서는 사용할 수 없습니다.
다른 선택 사항은 다음과 같습니다.
또한 CPU 용 컴파일러를 찾고 있다면 16 비트 CPU 용 컴파일러를 얻는 것이 가장 좋습니다. C와 같은 언어에서 Picoblaze까지 Poderico의 컴파일러가 있었지만 웹에서 제외되었습니다.
Xilinx PicoBlaze 프로세서를 살펴볼 수 있습니다 . 최소 8 비트 임베디드 마이크로 컨트롤러이며 소스 코드를 사용할 수 있어야합니다.
너무 늦었지만 작은 답변을 제공합니다.
예루살렘 대학의 Nand2Tetris 라는 과정이 있습니다.이 과정은 코스 라에도 있습니다. 나는 그 과정에서 만든 컴퓨터를 만들었습니다. 컴퓨터가 가장 자세하게 작동하는 방식을 직접 볼 수 있도록 언어를 체계적으로 구현했습니다. 그리고 나는 그들이 자바로 만든 시뮬레이터가 내가보고 싶은 모든 것을 할 수는 없다는 것을 성공했습니다.