Làm cách nào để thiết kế bộ xử lý dựa trên ARM của riêng tôi?


37

Tôi có một số câu hỏi về cách tôi sẽ thiết kế CPU dựa trên ARM của riêng mình?

  • Làm thế nào để bắt đầu với một giấy phép ARM và kết thúc với một gói sẵn sàng để được hàn vào bảng?
  • Tôi nhận được gì từ ARM (Tôi chắc chắn họ có nhiều tùy chọn giấy phép để xử lý - Giấy phép Kiến trúc (kiểu Qualcomm Snapdragon) và Giấy phép lõi (kiểu TI OMAP))?
  • Tôi cần tiến hành những công cụ nào khi tôi có 'cái gì đó' từ ARM?
  • Tôi gửi cái gì cho fab?
  • Tôi tin rằng chỉ có một số nền tảng nhất định được cấp phép để khắc lõi ARM trên một wafer silicon. Tôi có đúng không
  • Là một sinh viên, tôi có thể đủ khả năng để làm điều này trên một đồ họa không? Làm thế nào để tôi có được kinh nghiệm cho một cái gì đó như thế này?

9
Câu trả lời rõ ràng là nói chuyện với ARM.
Olin Lathrop

3
Hãy xem opencores.com - có rất nhiều lõi xử lý khác nhau ở các trạng thái hoàn thiện và chức năng khác nhau. Theo như có được nguồn lõi ARM thực tế ... như @OlinLathrop nói ... hãy nói chuyện với ARM.
akohlsmith

6
Tôi không hiểu các downvote, đây có thể là một câu hỏi ngây thơ, nhưng chắc chắn là IMO hợp pháp.
Jon L

2
Vấn đề là câu hỏi của bạn dành riêng cho quy trình làm việc mà bạn sẽ không theo dõi. Các quy trình công việc bạn có thể làm theo - sử dụng một thiết kế ban đầu hoặc có sẵn miễn phí trong HDL để nhắm mục tiêu vào một đồ họa - khác với thực tế như suy đoán là từ thực tế.
Chris Stratton

2
Các lõi Cortex-M1 dường như được thiết kế để chạy trong bất kỳ FPGA có khả năng phù hợp. Các nhà cung cấp chính của FPGA có giấy phép IP và cung cấp cho nhà thiết kế như bất kỳ lõi mềm nào khác. Tôi cho rằng không miễn phí, nhưng có những chương trình có sẵn dành riêng cho sử dụng học tập.
RBerteig

Câu trả lời:


68

Đây là cách các công ty làm điều đó:

  1. Tăng khoảng 10 triệu đô la Mỹ.
  2. Đàm phán với ARM để có giấy phép. Điều này có thể sẽ có giá ít nhất 1 triệu đô la Mỹ.
  3. Lấy các tập tin thiết kế từ ARM. Nó có thể sẽ ở một số dạng VHDL, Verilog hoặc một danh sách mạng "được mã hóa".
  4. Thiết kế chip của riêng bạn bằng cách sử dụng hỗn hợp logic của riêng bạn (cho các thiết bị ngoại vi) và những gì ARM đã mang lại cho bạn. Bước này có thể sẽ yêu cầu một số phần mềm CAD đắt tiền và một nhóm nhỏ các chuyên gia. Dự kiến ​​sẽ chi ít nhất 5 triệu đô la Mỹ và vài năm nữa.
  5. Lấy mặt nạ làm cho chip. Nếu bạn sử dụng bất kỳ quy trình bán dẫn hiện đại nào thì nó sẽ có giá khoảng 1 triệu USD.
  6. Lấy con chip tự làm. Giá khác nhau, nhưng nên dưới 0,5 triệu USD.
  7. Gỡ lỗi con chip bạn đã tạo, sửa lỗi, sau đó quay lại Bước 5 cho đến khi bạn có thứ gì đó mà bạn có thể bán.

Đây là cách BẠN làm điều đó:

  1. Tham gia một khóa học kiến ​​trúc máy tính cấp độ sau đại học tại địa phương của bạn.
  2. Tham gia nhiều khóa học về logic kỹ thuật số và bất cứ điều gì khác.
  3. Thiết kế CPU từ đầu trong VHDL hoặc Verilog.
  4. Thiết kế CPU khác từ đầu.
  5. Nhìn vào tập lệnh ARM và thiết kế CPU tương thích.
  6. Làm cho CPU tương thích ARM của bạn hoạt động trong một đồ họa.
  7. Không phân phối mã nguồn VHDL / Verilog của bạn trừ khi bạn muốn bị kiện.
  8. Sử dụng kinh nghiệm ARM của bạn để viết một luận án tốt cho tiến sĩ của bạn.
  9. Sử dụng tiến sĩ của bạn để có được một công việc tại ARM, hoặc TI, hoặc bất cứ ai. Sau đó lặp lại quy trình bằng 7 bước trước đó về cách một công ty thực hiện nó.

Ok, vì vậy danh sách này là một ít nói nhưng về cơ bản là chính xác. Vấn đề là, thậm chí đừng bận tâm đến việc giao dịch trực tiếp với ARM vì tỷ lệ cược là bạn không có tiền. Và đừng làm bất cứ điều gì sẽ khiến bạn bị ARM kiện.


1
+1. Câu trả lời tuyệt vời. Những gì tôi sẽ nói, nhưng tốt hơn.
Rocketmagnet

1
Bất kỳ khóa học tốt nào cũng sẽ bao gồm cấu trúc cơ bản của các loại CPU khác nhau và cách tất cả chúng hoạt động. Các chủ đề phải bao gồm vi mã, giải mã hướng dẫn, ALU, truy cập bộ nhớ, bộ đệm, thanh ghi, đường ống dẫn, hazzards dữ liệu, tìm nạp trước lệnh, v.v.

3
Có bất kỳ lý do nào mà bộ hướng dẫn của ARM, về bản thân, sẽ có thể được cấp bằng sáng chế nhiều hơn bất kỳ CPU nào khác có bản sao đầy đủ không? Chắc chắn có một số tính năng kiến ​​trúc được cấp bằng sáng chế, nhưng nếu mục tiêu của một người là thiết kế CPU sẽ hoạt động với các trình biên dịch hiện có, liệu lệnh có tự đặt ra vấn đề không?
supercat

1
@supercat Thông thường các hướng dẫn bản thân không có khả năng bằng sáng chế trừ khi chúng kết hợp một số thứ kiến ​​trúc. MIPS đã làm điều này với CPU của họ, nơi họ đã cấp bằng sáng chế một số hướng dẫn sẽ tải / lưu trữ các từ không liên kết từ cũng như một số nội dung để tự động chuyển đổi giữa endian lớn và nhỏ. Điều này đã bị thách thức tại tòa án khi MIPS đã kiện một nhà sản xuất bản sao MIPS và MIPS đã thắng (khoảng năm 2000). Nhưng hầu hết các bằng sáng chế là về các vấn đề kiến ​​trúc. Thật đáng buồn, bạn không thể tạo ra một CPU tương thích với các trình biên dịch hiện có mà không cần sao chép cả tập lệnh và kiến ​​trúc.

1
@LordLoh bạn có thể thấy những câu hỏi này hữu ích: Electronics.stackexchange.com/questions/28686/ điện
tử.stackexchange.com/a/7051/638

32

ARM có Chương trình Thiết kế Đại học . Là sinh viên, bạn chỉ có thể truy cập tài liệu Cortex-M0 cơ bản. Nhưng nếu bạn thực sự quan tâm, hãy lôi kéo giảng viên của bạn tham gia và sau đó bạn có thể có quyền truy cập vào nhiều tài liệu thiết kế hơn (mã Verilog FPGA, IP đánh giá, Mô phỏng, v.v.)


4
Cảm ơn :-) Tôi sẽ cố gắng để cố vấn của tôi yêu cầu một số trong số này.
Chúa ơi.

WFIW, câu trả lời này hiện đã lỗi thời, cả Cortex-M0 và Cortex-M3 đều có sẵn và một số phần của sản phẩm được mở cho những người không phải là sinh viên / tổ chức.
Sean Houlihane


3

ARM Cortex-M1 (có lẽ là bộ xử lý ARM đơn giản nhất) là bộ xử lý ARM đầu tiên được thiết kế đặc biệt để thực hiện như một bộ xử lý mềm trong các GPU. Nó được tối ưu hóa cho các loại FPGA sau :

Actel (M1 ProASIC3 and M1 Fusion)
Altera (Cyclone-II, Stratix-III)
Xilinx (Spartan-3, Virtex-5)

Bản thân ARM đang chế tạo Bộ công cụ phát triển Cortex-M1 cho Altera Cyclone III mặc dù nó có giá hơi thấp với $ 625 từ DigiKey . Mặc dù vậy, bạn nhận được tất cả IP ARM Cortex-M1 và giấy phép để phát triển (cộng với khoản tiền bản quyền miễn phí cho 1000 bảng cho những người sắp sản xuất, khá tuyệt).

Có thể có một số tùy chọn để tự nhận IP (có lẽ họ có chương trình học, một người khác đã đề cập đến chương trình đại học, nhưng đó là cho M0). Sau đó, bạn có thể mua một bảng phát triển riêng.

Dưới đây là một số thông tin về ARM Cortex-M1 trên Altera .

Dưới đây là một số thông tin về việc đưa ARM Cortex-M1 lên Actel FPGA.

Trong khi đó, có một số quan tâm đến các phiên bản khác của ARM Cortex trên FPGA; đây là bài báo của một người đã triển khai ARM Cortex-M0 trên Xilinx FPGA.


Nếu bạn muốn thay đổi thiết kế, hãy thử tạo một máy 32 bit "phù hợp". Hiện tại, ARM đọc lệnh 32 bit 8 bit mỗi lần, nghĩa là PC tăng thêm 4 cho mỗi lần tìm nạp lệnh.
Alan Campbell

1

Bây giờ bạn có thể có quyền truy cập vào bộ xử lý Cortex-M3 (và hệ thống con AHB / APB có thể mở rộng) thông qua chương trình DesignStart của ARM.

Tùy chọn Eval cung cấp một mục tiêu FPGA (hỗ trợ mô phỏng, với RTL bị xáo trộn của lõi, mọi thứ khác trong Verilog). Điều này hiện đang nhắm mục tiêu ARM MPS2 + FPGA, với sự hỗ trợ mbed.

Phiên bản Pro (chỉ có sẵn cho các công ty / trường đại học có thể ký giấy phép) cho phép sản xuất và bao gồm lõi bộ xử lý trong Verilog (bao gồm cả Cortex-M0 và Cortex-M3).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.