กลับไปหน้าบทความ

อ่าน 7 นาที

การสังเคราะห์ระดับสูง

การสังเคราะห์ระดับสูง ( HLS ) บางครั้งเรียกว่า การสังเคราะห์ C การ สังเคราะห์ ระดับระบบอิเล็กทรอนิกส์ ( ESL ) การสังเคราะห์ เชิงอัลกอริทึม หรือ การสังเคราะห์เชิงพฤติกรรม...

การสังเคราะห์ระดับสูง

(Learn how and when to remove this message)

การสังเคราะห์ระดับสูง ( HLS ) บางครั้งเรียกว่าการสังเคราะห์ Cการ สังเคราะห์ ระดับระบบอิเล็กทรอนิกส์ ( ESL ) การสังเคราะห์เชิงอัลกอริทึมหรือการสังเคราะห์เชิงพฤติกรรม เป็นกระบวนการออกแบบอัตโนมัติที่นำข้อกำหนดเชิงพฤติกรรมที่เป็นนามธรรมของระบบดิจิทัล มาใช้ และค้นหาโครงสร้างระดับการถ่ายโอนรีจิสเตอร์ที่ทำให้พฤติกรรมที่กำหนดเป็นจริง[ 1 ] [ 2 ] [ 3 ]

การสังเคราะห์เริ่มต้นด้วยการกำหนดปัญหาในระดับสูง ซึ่งโดยทั่วไปแล้วพฤติกรรมจะถูกแยกออกจากกลไกวงจรระดับต่ำ เช่น การกำหนดเวลาในระดับ นาฬิกา HLS ในยุคแรกๆ ได้สำรวจภาษาการกำหนดอินพุตที่หลากหลาย[ 4 ​​]แม้ว่างานวิจัยและการใช้งานเชิงพาณิชย์ในปัจจุบันโดยทั่วไปจะยอมรับชุดย่อยที่สามารถสังเคราะห์ได้ของANSI C / C++ / SystemC / MATLABก็ตาม โค้ดจะถูกวิเคราะห์ จำกัดทางสถาปัตยกรรม และกำหนดเวลาเพื่อแปลงจากแบบจำลองระดับธุรกรรม (TLM) ไปเป็นการ ออกแบบ ระดับการถ่ายโอนรีจิสเตอร์ (RTL) ในภาษาคำอธิบายฮาร์ดแวร์ (HDL) ซึ่งโดยทั่วไปจะถูกสังเคราะห์ไปที่ระดับเกตโดยใช้เครื่องมือ สังเคราะห์ตรรกะ

เป้าหมายของ HLS คือการอนุญาตให้นักออกแบบฮาร์ดแวร์สร้างและตรวจสอบฮาร์ดแวร์ได้อย่างมีประสิทธิภาพ โดยให้พวกเขาสามารถควบคุมการเพิ่มประสิทธิภาพสถาปัตยกรรมการออกแบบได้ดียิ่งขึ้น และโดยธรรมชาติของการอนุญาตให้นักออกแบบอธิบายการออกแบบในระดับนามธรรมที่สูงขึ้น ในขณะที่เครื่องมือจะทำการใช้งาน RTL การตรวจสอบ RTL เป็นส่วนสำคัญของกระบวนการ[ 5 ]

ฮาร์ดแวร์สามารถออกแบบได้ในระดับนามธรรมที่แตกต่างกัน ระดับนามธรรมที่ใช้กันทั่วไป ได้แก่ระดับเกต ระดับรี จิสเตอร์ทรานเฟอร์ (RTL) และระดับ อัลกอริทึม

ในขณะที่การสังเคราะห์ตรรกะใช้คำอธิบาย RTL ของการออกแบบ การสังเคราะห์ระดับสูงจะทำงานในระดับนามธรรมที่สูงกว่า โดยเริ่มต้นจากคำอธิบายเชิงอัลกอริทึมในภาษาระดับสูง เช่น SystemC และ ANSI C/C++ โดยทั่วไปแล้ว นักออกแบบจะพัฒนาฟังก์ชันการทำงานของโมดูลและโปรโตคอลการเชื่อมต่อ เครื่องมือสังเคราะห์ระดับสูงจะจัดการสถาปัตยกรรมไมโครและแปลงโค้ดฟังก์ชันที่ไม่มีเวลาหรือมีเวลาบางส่วนให้เป็นการใช้งาน RTL ที่มีเวลาอย่างสมบูรณ์ โดยสร้างรายละเอียดแบบรอบต่อรอบสำหรับการใช้งานฮาร์ดแวร์โดยอัตโนมัติ[ 6 ]จากนั้นการใช้งาน (RTL) จะถูกนำไปใช้โดยตรงในขั้นตอนการสังเคราะห์ตรรกะแบบดั้งเดิมเพื่อสร้างการใช้งานระดับเกต

ประวัติศาสตร์

งานวิจัยทางวิชาการในยุคแรกๆ ได้แยกขั้นตอนการจัดตารางเวลา การจัดสรร และการผูกมัด ออกมาเป็นขั้นตอนพื้นฐานสำหรับการสังเคราะห์ระดับสูง การจัดตารางเวลาจะแบ่งอัลกอริทึมออกเป็นขั้นตอนควบคุม ซึ่งใช้ในการกำหนดสถานะในเครื่องสถานะจำกัดแต่ละขั้นตอนควบคุมประกอบด้วยส่วนเล็กๆ ส่วนหนึ่งของอัลกอริทึม ซึ่งสามารถดำเนินการได้ในรอบสัญญาณนาฬิกาเดียวในฮาร์ดแวร์ การจัดสรรและการผูกมัดจะแมปคำสั่งและตัวแปรไปยังส่วนประกอบฮาร์ดแวร์ มัลติเพล็กเซอร์ รีจิสเตอร์ และสายไฟของเส้นทางข้อมูล

การสังเคราะห์พฤติกรรมรุ่นแรกได้รับการแนะนำโดยSynopsysในปี 1994 ในชื่อ Behavioral Compiler [ 7 ]และใช้VerilogหรือVHDLเป็นภาษาอินพุต ระดับนามธรรมที่ใช้คือกระบวนการแบบกำหนดเวลาบางส่วน (clocked) เครื่องมือที่ใช้ Verilog หรือ VHDL แบบพฤติกรรมไม่ได้ถูกนำมาใช้กันอย่างแพร่หลาย ส่วนหนึ่งเป็นเพราะทั้งภาษาและนามธรรมแบบกำหนดเวลาบางส่วนไม่เหมาะสมกับการจำลองพฤติกรรมในระดับสูง 10 ปีต่อมา ในช่วงต้นปี 2004 Synopsys ได้ยุติ การใช้ งาน Behavioral Compiler [ 8 ]

บริษัท Forte Design Systemsได้เปิดตัวเครื่องมือ Cynthesizer ซึ่งใช้ SystemC เป็นภาษาเริ่มต้นแทน Verilog หรือ VHDL บริษัทญี่ปุ่นหลายแห่งนำ Cynthesizer ไปใช้ในปี 2000 เนื่องจากญี่ปุ่นมีชุมชนผู้ใช้ SystemC ที่เติบโตเต็มที่แล้ว การผลิตวงจรสังเคราะห์ระดับสูงครั้งแรกเกิดขึ้นในปี 2001 โดยSonyโดยใช้ Cynthesizer การนำไปใช้ในสหรัฐอเมริกาเริ่มต้นอย่างจริงจังในปี 2008

ในปี พ.ศ. 2549 ได้มีการพัฒนาเทคนิค "การจัดตารางเวลาโมดูลัส SDC" ที่มีประสิทธิภาพและปรับขนาดได้บนกราฟควบคุมและการไหลของข้อมูล[ 9 ]และต่อมาได้ขยายไปสู่การจัดตารางเวลาแบบไปป์ไลน์[ 10 ]เทคนิคนี้ใช้สูตรการเขียนโปรแกรมเชิงเส้นจำนวนเต็ม แต่แสดงให้เห็นว่าเมทริกซ์ข้อจำกัดพื้นฐานนั้นเป็นแบบโมดูลัสเดียวโดยสมบูรณ์ (หลังจากประมาณข้อจำกัดของทรัพยากร) ดังนั้น ปัญหาจึงสามารถแก้ไขได้อย่างเหมาะสมในเวลาพหุนามโดยใช้ตัวแก้ปัญหาการเขียนโปรแกรมเชิงเส้นในเวลาพหุนาม งานนี้ได้รับการบรรจุเข้าสู่หอเกียรติยศ FPGA และการคำนวณที่ปรับเปลี่ยนได้ในปี 2022 [ 11 ]

อัลกอริทึมการจัดตารางเวลา SDC ได้รับการนำไปใช้ในระบบ xPilot HLS [ 12 ]ที่พัฒนาขึ้นที่ UCLA [ 13 ]และต่อมาได้รับอนุญาตให้ AutoESL Design Technologies ซึ่งเป็นบริษัทที่แยกตัวออกมาจาก UCLA AutoESL ถูกซื้อกิจการโดย Xilinx (ปัจจุบันเป็นส่วนหนึ่งของ AMD) ในปี 2011 [ 11 ]และเครื่องมือ HLS ที่พัฒนาโดย AutoESL กลายเป็นพื้นฐานของโซลูชัน HLS ของ Xilinx ได้แก่ Vivado HLS และ Vitis HLS ซึ่งใช้กันอย่างแพร่หลายในการออกแบบ FPGA

อินพุตแหล่งที่มา

แหล่งข้อมูลป้อนเข้าที่ใช้กันทั่วไปสำหรับการสังเคราะห์ระดับสูง นั้น อิงตามภาษามาตรฐาน เช่นANSI C / C++ , SystemCและMATLAB

โดยทั่วไปแล้ว การสังเคราะห์ระดับสูงยังรวมถึงข้อกำหนดที่สามารถดำเนินการได้อย่างแม่นยำระดับบิตเป็นอินพุตด้วย เนื่องจากในการสร้างการใช้งานฮาร์ดแวร์ที่มีประสิทธิภาพ จำเป็นต้องมีข้อมูลเพิ่มเติมเกี่ยวกับค่าความคลาดเคลื่อนกำลังสองเฉลี่ยที่ยอมรับได้ หรืออัตราความคลาดเคลื่อนของบิต เป็นต้น ตัวอย่างเช่น หากนักออกแบบเริ่มต้นด้วยตัวกรอง FIR ที่เขียนโดยใช้ประเภทลอยตัว "double" ก่อนที่จะสามารถสร้างการใช้งานฮาร์ดแวร์ที่มีประสิทธิภาพได้ พวกเขาจำเป็นต้องทำการปรับปรุงเชิงตัวเลขเพื่อให้ได้การใช้งานแบบจุดคงที่ การปรับปรุงนี้ต้องการข้อมูลเพิ่มเติมเกี่ยวกับระดับของสัญญาณรบกวนการควอนไทเซชันที่สามารถยอมรับได้ ช่วงอินพุตที่ถูกต้อง เป็นต้น ข้อกำหนดที่แม่นยำระดับบิตนี้ทำให้ข้อกำหนดแหล่งที่มาของการสังเคราะห์ระดับสูงมีความสมบูรณ์ในเชิงฟังก์ชัน[ 14 ] โดยปกติแล้ว เครื่องมือจะอนุมานจากโค้ดระดับสูงถึงเครื่องสถานะจำกัดและเส้นทางข้อมูลที่ใช้การดำเนินการทางคณิตศาสตร์

ขั้นตอนการดำเนินการ

กระบวนการสังเคราะห์ระดับสูงประกอบด้วยกิจกรรมหลายอย่าง เครื่องมือสังเคราะห์ระดับสูงต่างๆ ดำเนินกิจกรรมเหล่านี้ในลำดับที่แตกต่างกันโดยใช้อัลกอริทึมที่แตกต่างกัน เครื่องมือสังเคราะห์ระดับสูงบางตัวรวมกิจกรรมเหล่านี้บางส่วนเข้าด้วยกันหรือดำเนินการซ้ำๆ เพื่อให้ได้โซลูชันที่ต้องการ[ 15 ]

  • การประมวลผลคำศัพท์
  • การเพิ่มประสิทธิภาพอัลกอริทึม
  • การวิเคราะห์การควบคุม/การไหลของข้อมูล
  • การประมวลผลห้องสมุด
  • การจัดสรรทรัพยากร
  • การจัดตารางเวลา
  • การผูกหน่วยการทำงาน
  • การลงทะเบียนการผูก
  • การประมวลผลผลลัพธ์
  • การรวมกลุ่มข้อมูลเข้าใหม่

ฟังก์ชันการทำงาน

โดยทั่วไปแล้ว อัลกอริทึมสามารถทำงานได้โดยใช้รอบสัญญาณนาฬิกาจำนวนมากหากมีทรัพยากรฮาร์ดแวร์น้อย หรือใช้เวลาน้อยลงโดยใช้ ALU, รีจิสเตอร์ และหน่วยความจำจำนวนมาก ในทำนองเดียวกัน จากคำอธิบายอัลกอริทึมหนึ่งๆ คอมไพเลอร์ HLS สามารถสร้างสถาปัตยกรรมไมโครฮาร์ดแวร์ได้หลากหลายรูปแบบตามคำสั่งที่ให้กับเครื่องมือ นี่คือการแลกเปลี่ยนระหว่างความเร็วในการประมวลผลกับความซับซ้อนของฮาร์ดแวร์เช่นเดียวกับที่พบเมื่อโปรแกรมหนึ่งๆ ทำงานบนโปรเซสเซอร์ทั่วไปที่มีประสิทธิภาพแตกต่างกัน แต่ทั้งหมดทำงานที่ความถี่สัญญาณนาฬิกาใกล้เคียงกัน

ข้อจำกัดทางสถาปัตยกรรม

ข้อจำกัดการสังเคราะห์สำหรับสถาปัตยกรรมสามารถนำไปใช้โดยอัตโนมัติตามการวิเคราะห์การออกแบบ[ 5 ]ข้อจำกัดเหล่านี้สามารถแบ่งออกเป็น

  • ลำดับชั้น
  • อินเทอร์เฟซ
  • หน่วยความจำ
  • วนลูป
  • ข้อจำกัดด้านเวลาในระดับต่ำ
  • การวนซ้ำ

การสังเคราะห์อินเทอร์เฟซ

การสังเคราะห์อินเทอร์เฟซหมายถึงความสามารถในการรับคำอธิบาย C/C++ บริสุทธิ์เป็นอินพุต จากนั้นใช้เทคโนโลยีการสังเคราะห์อินเทอร์เฟซอัตโนมัติเพื่อควบคุมเวลาและโปรโตคอลการสื่อสารบนอินเทอร์เฟซการออกแบบ ซึ่งช่วยให้สามารถวิเคราะห์อินเทอร์เฟซและสำรวจตัวเลือกอินเทอร์เฟซฮาร์ดแวร์ได้หลากหลาย เช่น การสตรีม หน่วยความจำ RAM แบบพอร์ตเดียวหรือสองพอร์ต รวมถึงกลไกการจับมือต่างๆ ด้วยการสังเคราะห์อินเทอร์เฟซ นักออกแบบจะไม่ฝังโปรโตคอลอินเทอร์เฟซไว้ในคำอธิบายซอร์สโค้ด ตัวอย่างเช่น การเชื่อมต่อโดยตรง การจับมือแบบบรรทัดเดียว สองบรรทัด FIFO [ 16 ]

ผู้ขาย

ข้อมูลที่รายงานจากการสำรวจล่าสุด[ 17 ]

สถานะ คอมไพเลอร์เจ้าของ ใบอนุญาตป้อนข้อมูลเอาต์พุตปี โดเมน แท่น ทดสอบเอฟพี ฟิกซ์พี
กำลังใช้งาน สแตรตัส เอชแอลเอสระบบการออกแบบเคเดนซ์ทางการค้าCC++ SystemCอาร์ทีแอล 2015 ทั้งหมด ใช่ ใช่ ใช่
อ๊ากห้องปฏิบัติการ TIMA เชิงวิชาการชุดย่อย C วีเอชดีแอล2012 ทั้งหมด ใช่ เลขที่ เลขที่
eXCite ถูกเก็บถาวรเมื่อวันที่ 17 กันยายน 2019 ที่Wayback Machineการสำรวจ Y ทางการค้าซี VHDLVerilog2001 ทั้งหมด ใช่ เลขที่ ใช่
บัมบูโพลิมี เชิงวิชาการซี VHDLVerilog2012 ทั้งหมด ใช่ ใช่ เลขที่
บลูสเปคบริษัท บลูสเปค จำกัด บีเอสดี -3 Bluespec SystemVerilog ( Haskell ) ซิสเต็มเวริล็อก2007 ทั้งหมด เลขที่ เลขที่ เลขที่
คิวซีซีบริษัท แคชคิว ซิสเต็มส์ จำกัดทางการค้าC , C++ , Fortranไฟล์ ปฏิบัติการบนโฮสต์ + ไฟล์บิต FPGA (SystemVerilog เป็นตัวกลาง) 2018 ทั้งหมด - การประมวลผลแบบมัลติคอร์และเฮเทอโรจีนัส ใช่ (C++) ใช่ ใช่
ซีเอชซี อัลเทียม ทางการค้าชุดย่อย C VHDLVerilog2008 ทั้งหมด เลขที่ ใช่ ใช่
นักพัฒนาร่วม แรงกระตุ้นเร่งความเร็ว ทางการค้าอิมพัลส์-ซี วีเอชดีแอล2003 การสตรีม ภาพใช่ ใช่ เลขที่
โปรแกรมเมอร์ HDLแมธเวิร์คส์ทางการค้าMATLAB , Simulink , Stateflow , Simscape VHDL , Verilog 2003 ระบบควบคุม, การประมวลผลสัญญาณ, ระบบไร้สาย, เรดาร์, การสื่อสาร, ภาพ และคอมพิวเตอร์วิชั่น ใช่ ใช่ ใช่
ไซเบอร์เวิร์คเบนช์เอ็นซีซี ทางการค้าซี, บีดีแอล, ซิสเต็มซีVHDLVerilog2004 ทั้งหมด วงจร, อย่างเป็นทางการ ใช่ ใช่
หนังสติ๊กซีเมนส์ อีดีเอ ทางการค้าCC++ SystemCVHDLVerilog2004 ทั้งหมด ใช่ ใช่ ใช่
คนแคระ มหาวิทยาลัยเดลฟท์ เชิงวิชาการชุดย่อย C วีเอชดีแอล2012 ทั้งหมด ใช่ ใช่ ใช่
เกาต์มหาวิทยาลัยเวสเทิร์นบริตทานีเชิงวิชาการซี , ซี++วีเอชดีแอล2010 ดีเอสพี ใช่ เลขที่ ใช่
ฮาสท์เลเยอร์ลอมบิก เทคโนโลยีส์ บีเอสดี -3 C# , C++ , F# , ... ( .NET ) วีเอชดีแอล2015 .สุทธิใช่ ใช่ ใช่
ชิป SoC แบบทันทีคอร์ FPGA ทางการค้าซี , ซี++VHDLVerilog2019 ทั้งหมด ใช่ เลขที่ เลขที่
คอมไพเลอร์สังเคราะห์ระดับสูงของ Intelอินเทล เอฟพีจีเอ (เดิมชื่อ อัลเทรา) ทางการค้าซี , ซี++เวริล็อก2017 ทั้งหมด ใช่ ใช่ ใช่
เลกอัพ เอชแอลเอสเลกอัพ คอมพิวติ้ง ทางการค้าซี , ซี++เวริล็อก2015 ทั้งหมด ใช่ ใช่ ใช่
LegUp ถูกเก็บถาวรเมื่อวันที่ 24 กรกฎาคม 2020 ที่Wayback Machineมหาวิทยาลัยโทรอนโตเชิงวิชาการซี เวริล็อก2010 ทั้งหมด ใช่ ใช่ เลขที่
แม็กซ์คอมไพเลอร์ แม็กเซเลอร์ ทางการค้าแม็กซ์เจ อาร์ทีแอล 2010 การวิเคราะห์การไหลของข้อมูลเลขที่ ใช่ เลขที่
ร็อคซีซีบริษัท แจ็กการ์ด ทางการค้าชุดย่อย C วีเอชดีแอล2010 การสตรีมมิ่ง เลขที่ ใช่ เลขที่
ซิมโฟนี ซี ซินโนปซิส ทางการค้าซี , ซี++VHDLVerilog , SystemC2010 ทั้งหมด ใช่ เลขที่ ใช่
VivadoHLS (เดิมคือ AutoPilot จาก AutoESL [ 18 ] ) ซิลินซ์ ทางการค้าCC++ SystemCVHDLVerilog , SystemC2013 ทั้งหมด ใช่ ใช่ ใช่
กีวีมหาวิทยาลัยเคมบริดจ์เชิงวิชาการซี# เวริล็อก2008 .สุทธิเลขที่ ใช่ ใช่
ลิงชิมแปนซี มหาวิทยาลัยวอชิงตันเชิงวิชาการซี วีเอชดีแอล2008 ทั้งหมด เลขที่ เลขที่ เลขที่
gcc2verilog มหาวิทยาลัยเกาหลีเชิงวิชาการซี เวริล็อก2011 ทั้งหมด เลขที่ เลขที่ เลขที่
เฮอร์คิวลิสคอมไพเลอร์ Ajax ทางการค้าซี/เอ็นเอซี วีเอชดีแอล2012 ทั้งหมด ใช่ ใช่ ใช่
ชางมหาวิทยาลัยอิลลินอยส์ เออร์บานา-แชมเปญเชิงวิชาการซี เวริล็อก2013 ทั้งหมด ใช่ ? ?
ตรีศูล ลอส อลามอส เอ็นแอล เชิงวิชาการชุดย่อย C วีเอชดีแอล2007 วิทยาศาสตร์ เลขที่ ใช่ เลขที่
ถูกทิ้งร้าง แอคเซลดีเอสพี ซิลินซ์ ทางการค้าMATLABVHDLVerilog2006 ดีเอสพี ใช่ ใช่ ใช่
ซี2เอช อัลเทร่า ทางการค้าซี VHDLVerilog2006 ทั้งหมด เลขที่ เลขที่ เลขที่
CtoVerilog มหาวิทยาลัยไฮฟาเชิงวิชาการซี เวริล็อก2008 ทั้งหมด เลขที่ เลขที่ เลขที่
ข้อเท็จจริง มหาวิทยาลัยเซาท์แคลิฟอร์เนีย เชิงวิชาการซี อาร์ทีแอล 1999 ดีเอสอี เลขที่ เลขที่ เลขที่
การ์ป มหาวิทยาลัยแคลิฟอร์เนีย เบิร์กลีย์เชิงวิชาการชุดย่อย C บิตสตรีม 2000 วนลูป เลขที่ เลขที่ เลขที่
จับคู่ มหาวิทยาลัยนอร์ทเวสต์เชิงวิชาการMATLABวีเอชดีแอล2000 ภาพ เลขที่ เลขที่ เลขที่
นาปา-ซี บริษัทซาร์นอฟฟ์ เชิงวิชาการชุดย่อย C VHDLVerilog1998 วนลูป เลขที่ เลขที่ เลขที่
ไพพ์เรนช์ มหาวิทยาลัยคาร์เนกีเมลลอนเชิงวิชาการดิล กระแสสองสาย 2000 ลำธาร เลขที่ เลขที่ เลขที่
เอสเอ-ซี มหาวิทยาลัยโคโลราโดเชิงวิชาการเอสเอ-ซี วีเอชดีแอล2003 ภาพ เลขที่ เลขที่ เลขที่
แตงกวาทะเล มหาวิทยาลัยบริกแฮมยังเชิงวิชาการชวาอีดีเอฟ 2002 ทั้งหมด เลขที่ ใช่ ใช่
สปาร์ค มหาวิทยาลัยแคลิฟอร์เนีย เออร์ไวน์เชิงวิชาการซี วีเอชดีแอล2003 ควบคุม เลขที่ เลขที่ เลขที่
  • DynamaticจากEPFL / ETH Zurich
  • MATLAB HDL Coder [1]จากMathworks [ 19 ]
  • HLS-QSP จาก CircuitSutra Technologies [ 20 ]
  • C-to-Silicon จากCadence Design Systems
  • การเร่งความเร็วพร้อมกันจาก EDA พร้อมกัน
  • คอมไพเลอร์ Symphony C จากSynopsys
  • QuickPlay จาก PLDA [ 21 ]
  • PowerOpt จาก ChipVision [ 22 ]
  • ซินเธไซเซอร์จากForte Design Systems (ปัจจุบันคือ Stratus HLS จากCadence Design Systems )
  • Catapult Cจาก Calypto Design Systems ซึ่งเป็นส่วนหนึ่งของMentor Graphicsตั้งแต่วันที่ 16 กันยายน 2015 ในเดือนพฤศจิกายน 2016 Siemens ประกาศแผนการเข้าซื้อกิจการ Mentor Graphics ทำให้ Mentor Graphics เปลี่ยนชื่อเป็น "Mentor, a Siemens Business" ในเดือนมกราคม 2021 การควบรวมกิจการทางกฎหมายระหว่าง Mentor Graphics กับ Siemens เสร็จสมบูรณ์ โดยรวมเข้ากับนิติบุคคล Siemens Industry Software Inc ชื่อของ Mentor Graphics เปลี่ยนเป็น Siemens EDA ซึ่งเป็นส่วนหนึ่งของSiemens Digital Industries Software [ 23 ]
  • PipelineC [2]
  • CyberWorkBench จากNEC [ 24 ]
  • เมกะฮาร์ดแวร์[ 25 ]
  • C2R จาก CebaTech [ 26 ]
  • ผู้ร่วมพัฒนาจาก Impulse Accelerated Technologies
  • HercuLeS โดย Nikolaos Kavvadias [ 27 ]
  • โปรแกรมเข้า/โค้ดออก (PICO) จาก Synfora ซึ่ง Synopsys เข้าซื้อกิจการในเดือนมิถุนายน พ.ศ. 2553 [ 28 ]
  • xPilot จากมหาวิทยาลัยแคลิฟอร์เนีย ลอสแอนเจลิส[ 29 ]
  • Vsyn จาก vsyn.ru [ 30 ]
  • ngDesign จาก SynFlow [ 31 ]

ดูเพิ่มเติม

อ่านเพิ่มเติม

  • Cong, Jason; Lau, Jason; Liu, Gai; Neuendorffer, Stephen; Pan, Peichen; Vissers, Kees; Zhang, Zhiru (31 ธันวาคม 2022). "FPGA HLS ในปัจจุบัน: ความสำเร็จ ความท้าทาย และโอกาส". ACM Transactions on Reconfigurable Technology and Systems . 15 (4): 1– 42. doi : 10.1145/3530775 .
  • ฟิงเกอร์ออฟ, ไมเคิล (2010). คู่มือสังเคราะห์ระดับสูง (High-Level Synthesis Blue Book ). สหรัฐอเมริกา: Xlibris Corporation. ISBN 978-1-4500-9724-6.
  • Coussy, P.; Gajski, DD; Meredith, M.; Takach, A. (2009). "บทนำสู่การสังเคราะห์ระดับสูง". IEEE Design & Test of Computers . 26 (4): 8– 17. Bibcode : 2009IDTC...26....8C . doi : 10.1109/MDT.2009.69 . S2CID  52870966 .
  • Ewout SJ Martens; Georges Gielen (2008). การสร้างแบบจำลองและการสังเคราะห์ระดับสูงของระบบรวมอนาล็อก . Springer. ISBN 978-1-4020-6801-0.
  • Saraju Mohanty ; N. Ranganathan; E. Kougianos และ P. Patra (2008). การสังเคราะห์ระดับสูงพลังงานต่ำสำหรับวงจร CMOS ระดับนาโน . Springer. ISBN 978-0387764733.
  • อลิซ ซี. ปาร์คเกอร์ ; โยเซฟ ติรัต-เกเฟน; ซูห์ริด เอ. วาเดการ์ (2007) "การออกแบบระดับระบบ". ใน Wai-Kai Chen (บรรณาธิการ) คู่มือ VLSI (ฉบับพิมพ์ครั้งที่ 2) ซีอาร์ซี เพรส. ไอเอสบีเอ็น 978-0-8493-4199-1บทที่ 76
  • ชาห์ซาด มีร์คานี; ไซนาลาเบดิน นาวาบี (2550) "ภาษาการออกแบบระดับระบบ" ใน Wai-Kai Chen (บรรณาธิการ) คู่มือ VLSI (ฉบับพิมพ์ครั้งที่ 2) ซีอาร์ซี เพรส. ไอเอสบีเอ็น 978-0-8493-4199-1บทที่ 86ครอบคลุมการใช้งาน C/C++, SystemC, TML และแม้กระทั่ง UML
  • Liming Xiu (2007). วิธีการออกแบบวงจร VLSI ที่เข้าใจง่าย: การจำแนกประเภทเชิงแนวคิด Wiley-IEEE. ISBN 978-0-470-12742-1.
  • จอห์น พี. เอลเลียต (1999). ทำความเข้าใจการสังเคราะห์พฤติกรรม: คู่มือปฏิบัติสำหรับการออกแบบระดับสูง . สปริงเกอร์. ISBN 978-0-7923-8542-4.
  • Nane, Razvan; Sima, Vlad-Mihai; Pilato, Christian; Choi, Jongsok; Fort, Blair; Canis, Andrew; Chen, Yu Ting; Hsiao, Hsuan; Brown, Stephen; Ferrandi, Fabrizio; Anderson, Jason; Bertels, Koen (2016). "การสำรวจและประเมินเครื่องมือสังเคราะห์ระดับสูงของ FPGA" IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems . 35 (10): 1591– 1604. Bibcode : 2016ITCAD..35.1591N . doi : 10.1109/TCAD.2015.2513673 . hdl : 11311/998432 . S2CID  8749577 .
  • กุปตา, ราเจช; บรูเวอร์, ฟอร์เรสต์ (2008). "การสังเคราะห์ระดับสูง: บททบทวน". "การสังเคราะห์ระดับสูง: บททบทวน" . สปริงเกอร์. หน้า  13–28 . doi : 10.1007/978-1-4020-8588-8_2 . ISBN 978-1-4020-8587-1.
  • คอร์สเรียน Vivado HLS บน YouTube
  • ฟอรัมสนทนาเกี่ยวกับชิปลึก
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=High-level_synthesis&oldid=1357268493 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การสังเคราะห์ระดับสูง

การสังเคราะห์ระดับสูง ( HLS ) บางครั้งเรียกว่า การสังเคราะห์ C การ สังเคราะห์ ระดับระบบอิเล็กทรอนิกส์ ( ESL ) การสังเคราะห์ เชิงอัลกอริทึม หรือ การสังเคราะห์เชิงพฤติกรรม...

ประวัติศาสตร์

งานวิจัยทางวิชาการในยุคแรกๆ ได้แยกขั้นตอนการจัดตารางเวลา การจัดสรร และการผูกมัด ออกมาเป็นขั้นตอนพื้นฐานสำหรับการสังเคราะห์ระดับสูง การจัดตารางเวลาจะแบ่งอัลกอริทึมออกเป็นขั้นตอนควบคุม ซึ่งใช้ในการกำหนดสถานะใน เครื่องสถานะจำกัด...

อินพุตแหล่งที่มา

แหล่งข้อมูลป้อนเข้าที่ใช้กันทั่วไปสำหรับการสังเคราะห์ระดับสูง นั้น อิงตามภาษามาตรฐาน เช่น ANSI C / C++ , SystemC และ MATLAB

ขั้นตอนการดำเนินการ

กระบวนการสังเคราะห์ระดับสูงประกอบด้วยกิจกรรมหลายอย่าง เครื่องมือสังเคราะห์ระดับสูงต่างๆ ดำเนินกิจกรรมเหล่านี้ในลำดับที่แตกต่างกันโดยใช้อัลกอริทึมที่แตกต่างกัน เครื่องมือสังเคราะห์ระดับสูงบางตัวรวมกิจกรรมเหล่านี้บางส่วนเข้าด้วยกันหรือดำเนินการซ้ำๆ...