ฉันจะออกแบบโปรเซสเซอร์ที่ใช้ ARM ของตัวเองได้อย่างไร


37

ฉันมีคำถามหลายข้อเกี่ยวกับวิธีออกแบบ CPU ที่ใช้ ARM ของตัวเอง?

  • หนึ่งจะเริ่มต้นด้วยใบอนุญาต ARM และจบลงด้วยแพคเกจพร้อมที่จะบัดกรีบนกระดาน?
  • ฉันจะได้อะไรจาก ARM (ฉันแน่ใจว่าพวกเขามีตัวเลือกสิทธิ์การใช้งานหลายอย่างเพื่อล้างข้อมูล - ใบอนุญาตสถาปัตยกรรม (สไตล์ Qualcomm Snapdragon) และใบอนุญาตหลัก (สไตล์ TI OMAP)?
  • ฉันต้องใช้เครื่องมืออะไรในการดำเนินการเมื่อมี 'สิ่งนั้น' จาก ARM?
  • ฉันจะส่งอะไรไปที่ fab?
  • ฉันเชื่อว่ามีเพียงบางฐานรากเท่านั้นที่ได้รับใบอนุญาตให้กัดแกน ARM ลงบนแผ่นเวเฟอร์ซิลิคอน ฉันถูกไหม?
  • ในฐานะนักเรียนฉันสามารถทำสิ่งนี้กับ FPGA ได้หรือไม่ ฉันจะได้รับประสบการณ์อย่างนี้ได้อย่างไร

9
คำตอบที่ชัดเจนคือการพูดคุยกับ ARM
Olin Lathrop

3
ลองดูที่opencores.com - มีคอร์โปรเซสเซอร์มากมายที่มีอยู่ในสถานะต่างๆของความสมบูรณ์และการใช้งาน เท่าที่ได้รับแหล่งที่มาของ ARM ที่แท้จริง ... @OlinLathrop พูดว่า ... คุยกับ ARM
akohlsmith

6
ฉันไม่เข้าใจ downvote นี่อาจเป็นคำถามที่ไร้เดียงสา แต่ IMO ที่ถูกต้องตามกฎหมายอย่างแน่นอน
Jon L

2
ปัญหาคือคำถามของคุณเฉพาะกับเวิร์กโฟลว์ที่คุณจะไม่ได้รับตาม เวิร์กโฟลว์ที่คุณสามารถติดตามได้ - โดยใช้การออกแบบดั้งเดิมหรือพร้อมใช้งานฟรีใน HDL เพื่อกำหนดเป้าหมาย FPGA - นั้นแตกต่างจากการเก็งกำไรจากความเป็นจริง
Chris Stratton

2
หลัก Cortex-M1ดูเหมือนว่าจะมีความตั้งใจที่จะทำงานในใด ๆ FPGA ที่มีความสามารถเหมาะสม ผู้ค้า FPGA รายใหญ่มีใบอนุญาต IP และส่งมอบให้กับนักออกแบบเช่นเดียวกับแกนหลักอื่น ๆ ฉันถือว่าไม่ได้ฟรี แต่มีโปรแกรมที่น่าสนใจสำหรับการใช้งานทางวิชาการโดยเฉพาะ
RBerteig

คำตอบ:


68

นี่คือวิธีที่ บริษัท ทำ:

  1. เพิ่มประมาณ 10 ล้านเหรียญสหรัฐ
  2. เจรจาต่อรองกับ ARM เพื่อรับใบอนุญาต ซึ่งอาจมีค่าใช้จ่ายอย่างน้อย 1 ล้านดอลลาร์สหรัฐ
  3. รับไฟล์ออกแบบจาก ARM มันอาจจะอยู่ในรูปแบบ VHDL, Verilog หรือ netlist "ที่เข้ารหัส"
  4. ออกแบบชิปของคุณเองโดยใช้ตรรกะของคุณเอง (สำหรับอุปกรณ์ต่อพ่วง) และสิ่งที่ ARM มอบให้คุณ ขั้นตอนนี้อาจต้องใช้ซอฟต์แวร์ CAD ราคาแพงและทีมผู้เชี่ยวชาญเล็กน้อย คาดว่าจะใช้จ่ายอย่างน้อย 5 ล้านเหรียญสหรัฐและหลายปี
  5. รับมาสก์ที่ผลิตขึ้นมาเพื่อชิป หากคุณใช้กระบวนการเซมิคอนดักเตอร์ที่ทันสมัยสิ่งนี้จะทำงานประมาณ 1 ล้านเหรียญสหรัฐ
  6. รับชิปทำเอง ราคาแตกต่างกัน แต่ควรน้อยกว่า 0.5 ล้านเหรียญสหรัฐ
  7. ตรวจแก้จุดบกพร่องชิปที่คุณสร้างแก้ไขข้อบกพร่องจากนั้นกลับไปที่ขั้นตอนที่ 5 จนกว่าคุณจะมีสิ่งที่คุณสามารถขายได้

นี่คือวิธีที่คุณทำ:

  1. เรียนหลักสูตรสถาปัตยกรรมคอมพิวเตอร์ระดับบัณฑิตศึกษาที่มหาวิทยาลัยในพื้นที่ของคุณ
  2. ใช้หลักสูตรเพิ่มเติมในตรรกะดิจิตอลและสิ่งอื่น
  3. ออกแบบ CPU ตั้งแต่เริ่มต้นใน VHDL หรือ Verilog
  4. ออกแบบ CPU อื่นตั้งแต่เริ่มต้น
  5. ดูชุดคำสั่ง ARM และออกแบบ CPU ที่ใช้งานร่วมกันได้
  6. ทำให้ซีพียู ARM-Compatible ของคุณทำงานใน FPGA
  7. อย่าแจกจ่ายซอร์สโค้ด VHDL / Verilog ของคุณจนกว่าคุณจะถูกฟ้องร้อง
  8. ใช้ประสบการณ์ ARM ของคุณเพื่อเขียนวิทยานิพนธ์ที่ดีสำหรับปริญญาเอกของคุณ
  9. ใช้ปริญญาเอกของคุณเพื่อรับงานที่ ARM หรือ TI หรือใครก็ตาม จากนั้นทำซ้ำกระบวนการโดยใช้ 7 ขั้นตอนก่อนหน้าเกี่ยวกับวิธีการที่ บริษัท ทำ

ตกลงดังนั้นรายการนี้เป็นแก้มเล็กน้อยในลิ้น แต่โดยทั่วไปถูกต้อง ประเด็นก็คืออย่ากังวลกับการจัดการกับ ARM โดยตรงเพราะโอกาสที่คุณไม่มีเงิน และอย่าทำอะไรเลยที่จะทำให้คุณถูกฟ้องร้องโดย ARM เช่นกัน


1
+1 คำตอบที่ยอดเยี่ยม สิ่งที่ฉันจะพูด แต่ดีกว่า
Rocketmagnet

1
หลักสูตรที่ดีใด ๆ จะรวมถึงโครงสร้างพื้นฐานของ CPU ประเภทต่าง ๆ และวิธีการทำงานทั้งหมด หัวข้อควรครอบคลุมไมโครโค้ด, การถอดรหัสการเรียนการสอน, ALU's, การเข้าถึงหน่วยความจำ, แคช, รีจิสเตอร์,

3
มีเหตุผลใดบ้างที่ชุดคำสั่งของ ARM ในตัวของมันเองนั้นจะสามารถจดสิทธิบัตรได้มากกว่าซีพียูอื่น ๆ ที่โคลนจำนวนมาก? แน่นอนว่ามีแนวโน้มที่จะมีคุณสมบัติทางสถาปัตยกรรมบางอย่างที่จดสิทธิบัตรไว้ แต่หากเป้าหมายคือการออกแบบ CPU ซึ่งจะทำงานกับคอมไพเลอร์ที่มีอยู่คำสั่งจะทำให้เกิดปัญหาหรือไม่?
supercat

1
@supercat โดยปกติแล้วคำแนะนำตัวเองไม่สามารถจดสิทธิบัตรได้มากนักเว้นแต่จะรวมสิ่งสถาปัตยกรรมไว้ด้วย MIPS ทำสิ่งนี้กับ CPU ของพวกเขาซึ่งพวกเขาได้จดสิทธิบัตรคำแนะนำบางอย่างที่จะโหลด / จัดเก็บคำที่ไม่จัดเรียงคำและบางสิ่งเพื่อสลับระหว่าง endian ใหญ่และน้อยแบบไดนามิก สิ่งนี้ถูกท้าทายในศาลเมื่อ MIPS ฟ้องผู้ผลิตโคลน MIPS และ MIPS ชนะ (กลับราวปี 2000) แต่สิทธิบัตรส่วนใหญ่เกี่ยวกับปัญหาด้านสถาปัตยกรรม คุณไม่สามารถสร้าง CPU ที่เข้ากันได้กับคอมไพเลอร์ที่มีอยู่โดยไม่ต้องคัดลอกทั้งสถาปัตยกรรมและชุดคำสั่งอย่างน่าเศร้า

1
@LordLoh คุณอาจพบคำถามเหล่านี้มีประโยชน์: electronics.stackexchange.com/questions/28686/… electronics.stackexchange.com/a/7051/638
W5VO

32

ARM มีโปรแกรม DesignStart มหาวิทยาลัย ในฐานะนักเรียนคุณสามารถเข้าถึงวัสดุพื้นฐาน Cortex-M0 เท่านั้น แต่ถ้าคุณสนใจจริงๆให้คณะของคุณเข้ามาเกี่ยวข้องและจากนั้นคุณสามารถเข้าถึงวัสดุการออกแบบอื่น ๆ อีกมากมาย (รหัส Verilog FPGA, IP การประเมินผลการจำลอง ฯลฯ )


4
ขอบคุณ :-) ฉันจะพยายามให้ที่ปรึกษาของฉันขอสิ่งเหล่านี้
ลอร์ดโลห์

WFIW คำตอบนี้ล้าสมัยแล้วทั้ง Cortex-M0 และ Cortex-M3 มีให้บริการและบางส่วนของผลิตภัณฑ์เปิดสำหรับผู้ที่ไม่ใช่นักศึกษา / สถาบัน
Sean Houlihane

5

ดูที่แกน ARMนี้บน OpenCores


1
แต่ควรได้รับการเตือน: การใช้งานซ้ำดังกล่าวนั้นได้รับการยอมรับจาก ARM เท่านั้น: eetimes.com/author.asp?section_id=36&doc_id=1287452คุณจะได้รับการยุติและระงับคดี ลองพิจารณาอาร์คแบบเปิดเช่น RISC-V
Ciro Santilli 事件改造中心法轮功六四事件

3

ARM Cortex-M1 (อาจเป็นโปรเซสเซอร์ ARM ที่ง่ายที่สุด) เป็นโปรเซสเซอร์ ARM เครื่องแรกที่ถูกออกแบบมาเพื่อใช้เป็นโปรเซสเซอร์แบบนิ่มใน FPGA มันเหมาะสำหรับประเภท FPGA ต่อไปนี้ :

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

ARM ตัวเองคือการทำให้ชุดพัฒนา Cortex-M1 สำหรับ Altera พายุไซโคลน IIIแม้ว่ามันจะเป็นแพ่งเล็ก ๆ น้อย ๆ ที่$ 625 จาก Digikey คุณจะได้รับ ARM Cortex-M1 IP ทั้งหมดและใบอนุญาตในการพัฒนา (รวมทั้งสิทธิ์การใช้งานฟรีสำหรับ 1,000 บอร์ดสำหรับผู้ใช้ที่กำลังจะผลิตค่อนข้างเย็น)

อาจมีตัวเลือกบางอย่างสำหรับการรับ IP ด้วยตัวเอง (บางทีพวกเขามีโปรแกรมการศึกษาคนอื่นพูดถึงโปรแกรมมหาวิทยาลัย แต่นั่นก็สำหรับ M0) จากนั้นคุณสามารถซื้อคณะกรรมการพัฒนาการแยกต่างหาก

นี่คือบางส่วนข้อมูลเพิ่มเติมเกี่ยวกับARM Cortex-M1 ใน Altera

นี่คือข้อมูลเกี่ยวกับการใส่ ARM Cortex-M1 ใน Actel FPGA

ในขณะเดียวกันมีความสนใจใน ARM Cortex รุ่นอื่น ๆ ใน FPGA; นี่คือกระดาษจากคนที่นำ ARM Cortex-M0 มาใช้ใน Xilinx FPGA


หากคุณต้องการเปลี่ยนการออกแบบลองสร้างเครื่อง 32 บิตที่ "เหมาะสม" ปัจจุบัน ARM อ่านคำสั่งแบบ 32 บิต 8 บิตในแต่ละครั้งซึ่งหมายถึงการเพิ่มขึ้นของพีซีทีละ 4 สำหรับการเรียกคำสั่งแต่ละครั้ง
Alan Campbell

1

ตอนนี้คุณสามารถเข้าถึงโปรเซสเซอร์ Cortex-M3 (และระบบย่อย AHB / APB ที่ขยายได้) ผ่านทางโปรแกรม DesignStart ของ ARM

ตัวเลือก Eval จัดทำเป้าหมาย FPGA (รองรับการจำลองด้วย RTL ที่ยุ่งเหยิงของแกนทุกอย่างอื่นใน Verilog) ปัจจุบันนี้กำหนดเป้าหมาย ARM MPS2 + FPGA ด้วยการสนับสนุน mbed

รุ่น Pro (ให้บริการเฉพาะ บริษัท / มหาวิทยาลัยที่สามารถลงนามใบอนุญาต) อนุญาตให้ผลิตและรวมถึงตัวประมวลผลหลักใน Verilog (ครอบคลุมทั้ง Cortex-M0 และ Cortex-M3)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.