โดยทั่วไปการออกแบบ ASIC เป็นความพยายามของทีมเนื่องจากความซับซ้อนและปริมาณงาน ฉันจะให้ลำดับขั้นตอนคร่าวๆถึงแม้ว่าบางขั้นตอนจะสามารถทำให้เสร็จในแบบคู่ขนานหรือไม่ก็ได้ ฉันจะแสดงรายการเครื่องมือที่ฉันใช้สำหรับแต่ละงาน แต่มันจะไม่เป็นสารานุกรม
สร้างห้องสมุดเซลล์ (อีกวิธีหนึ่งกระบวนการส่วนใหญ่มีเกตไลบรารีที่พร้อมใช้งานในเชิงพาณิชย์ฉันจะแนะนำสิ่งนี้เว้นแต่คุณจะรู้ว่าคุณต้องการบางสิ่งที่ไม่พร้อมใช้งาน) สิ่งนี้เกี่ยวข้องกับการออกแบบเกตความแข็งแรงของไดรฟ์หลาย ๆ ตัว และมาโครใด ๆ เช่นตัวคูณอาร์เรย์หรือหน่วยความจำ เมื่อแผนผังสำหรับแต่ละเซลล์ได้รับการออกแบบและตรวจสอบแล้วเค้าโครงทางกายภาพจะต้องได้รับการออกแบบ ฉันได้ใช้จังหวะอัจฉริยะสำหรับกระบวนการนี้พร้อมกับการจำลองวงจรแอนะล็อกเช่นอสุรกายและHSPICE
ลักษณะห้องสมุดเซลล์ (หากคุณมีห้องสมุดประตูบุคคลที่สามสิ่งนี้มักจะทำเพื่อคุณ) แต่ละเซลล์ในห้องสมุดของคุณจะต้องจำลองเพื่อสร้างตารางเวลาสำหรับการวิเคราะห์เวลาแบบคงที่ (STA) สิ่งนี้เกี่ยวข้องกับการใช้เซลล์เสร็จแล้วการแยกเค้าโครง parasitics โดยใช้Assura , DivaหรือCaliberและจำลองวงจรภายใต้เงื่อนไขอินพุตที่แตกต่างกันและโหลดเอาต์พุต สิ่งนี้จะสร้างโมเดลเวลาสำหรับแต่ละประตูที่เข้ากันได้กับแพ็คเกจ STA ของคุณ โมเดลเวลามักอยู่ในรูปแบบไฟล์Liberty ฉันใช้Silicon SmartและLiberty-NCXเพื่อจำลองเงื่อนไขที่จำเป็นทั้งหมด โปรดทราบว่าคุณอาจต้องใช้ตัวแบบเวลาใน "กรณีที่แย่ที่สุด", "เล็กน้อย" และ "กรณีที่ดีที่สุด" เพื่อให้ซอฟต์แวร์ส่วนใหญ่ทำงานได้อย่างถูกต้อง
สังเคราะห์การออกแบบของคุณ ฉันไม่มีประสบการณ์กับคอมไพเลอร์ระดับสูง แต่ในตอนท้ายของวันคอมไพเลอร์หรือคอมไพเลอร์เชนจะต้องใช้การออกแบบระดับสูงของคุณและสร้างเน็ตลิสต์ระดับประตู ผลลัพธ์ของการสังเคราะห์นั้นเป็นสิ่งแรกที่คุณจะได้รับจากการทำงานของระบบเชิงทฤษฎี ฉันใช้ตัวออกแบบคอมไพเลอร์สำหรับรหัส RTL
วางและกำหนดเส้นทางการออกแบบของคุณ สิ่งนี้จะใช้ netlist ระดับเกตจากซินธิไซเซอร์และเปลี่ยนเป็นการออกแบบทางกายภาพ โดยหลักการแล้วสิ่งนี้จะสร้างเลย์เอาต์แบบ pad-to-pad ที่พร้อมสำหรับการประดิษฐ์ เป็นเรื่องง่ายมากที่จะตั้งค่าซอฟต์แวร์ P&R ของคุณเพื่อให้เกิดข้อผิดพลาด DRC หลายพันรายการโดยอัตโนมัติดังนั้นจึงไม่ใช่เรื่องสนุกและเกมในขั้นตอนนี้ ซอฟต์แวร์ส่วนใหญ่จะจัดการปัญหาเกี่ยวกับความแข็งแรงของไดรฟ์และสร้างทรีนาฬิกาตามที่กำหนดไว้ แพคเกจซอฟต์แวร์บางชุดประกอบด้วยAstro, IC Compiler, Silicon EncounterและSilicon Ensemble ผลลัพธ์ที่ได้จากสถานที่และเส้นทางคือรายการสุดท้าย, โครงร่างสุดท้าย, และปรสิตเค้าโครงที่แยกออกมา
การวิเคราะห์เวลาแบบคงที่ Post-Layout เป้าหมายที่นี่คือการตรวจสอบว่าการออกแบบของคุณตรงตามเวลาที่กำหนดและไม่มีปัญหาการตั้งค่าพักหรือระบุปัญหา หากข้อกำหนดการออกแบบของคุณแน่นคุณอาจใช้เวลาส่วนใหญ่ในการแก้ไขข้อผิดพลาดและอัปเดตการแก้ไขในเครื่องมือ P&R ของคุณ เครื่องมือ STA สุดท้ายที่เราใช้เป็นPrimeTime
การตรวจสอบทางกายภาพของเค้าโครง เมื่อสร้างเค้าโครงโดยเครื่องมือ P&R คุณต้องตรวจสอบว่าการออกแบบเป็นไปตามกฎการออกแบบกระบวนการ (Design Rule Check / DRC) และเค้าโครงนั้นตรงกับแผนผัง (Layout กับ Schematic / LVS) ควรทำตามขั้นตอนเหล่านี้เพื่อให้แน่ใจว่าโครงร่างนั้นต่อสายได้อย่างถูกต้องและสามารถผลิตได้ อีกครั้งบางเครื่องมือตรวจสอบทางกายภาพมีAssura , DivaหรือCaliber
การจำลองการออกแบบขั้นสุดท้าย ทั้งนี้ขึ้นอยู่กับความซับซ้อนของคุณอาจจะสามารถที่จะทำแบบจำลองระดับทรานซิสเตอร์โดยใช้อสุรกายหรือHSPICEเป็น "เครื่องเทศอย่างรวดเร็ว" จำลองโดยใช้HSIMหรือจำลองดิจิตอลอย่างสมบูรณ์โดยใช้ModelSimหรือVCS คุณควรสร้างการจำลองด้วยความล่าช้าที่สมจริงด้วยความช่วยเหลือของเครื่องมือ STA หรือ P&R ของคุณ
การเริ่มต้นด้วยไลบรารีเกตที่มีอยู่เป็นตัวช่วยประหยัดเวลาได้มากรวมถึงการใช้มาโครที่เป็นประโยชน์ต่อการออกแบบของคุณเช่นหน่วยความจำไมโครคอนโทรลเลอร์หรือบล็อกการประมวลผลทางเลือก การจัดการความซับซ้อนในการออกแบบเป็นส่วนใหญ่เช่นกัน - การออกแบบนาฬิกาเดียวจะง่ายต่อการตรวจสอบมากกว่าวงจรที่มีโดเมนนาฬิกาหลายโดเมน