การจำลอง Libero SoC
คำแนะนำในการตั้งค่าห้องสมุด
การแนะนำ
(ถามคำถาม)
วัตถุประสงค์ของเอกสารนี้คือเพื่ออธิบายขั้นตอนในการตั้งค่าสภาพแวดล้อมการจำลองโดยใช้โปรเจ็กต์ Libero SoC เป็นอินพุต เอกสารนี้สอดคล้องกับไลบรารีที่คอมไพล์ไว้ล่วงหน้าสำหรับใช้กับ Libero SoC v11.9 และซอฟต์แวร์รุ่นใหม่กว่า ไลบรารีที่จัดเตรียมไว้ได้รับการคอมไพล์สำหรับ Verilog ผู้ใช้ VHDL ต้องมีใบอนุญาตเพื่อให้สามารถจำลองโหมดผสมได้
ไลบรารีการจำลองที่คอมไพล์แล้วมีให้สำหรับเครื่องมือต่อไปนี้:
- อัลเดค แอคทีฟ-เอชดีแอล
- อัลเด็ค ริเวียร่า-โปร
- Cadence Incisive Enterprise และ Xcelium
- ซีเมนส์ เควสต้าซิม
- ซินอปซิส วีซีเอส
หากต้องการขอห้องสมุดสำหรับเครื่องจำลองอื่น โปรดติดต่อ การสนับสนุนทางเทคนิคของไมโครชิป.
การบูรณาการ Libero SoC
(ถามคำถาม)
Libero SoC รองรับการจำลองโดยใช้ ModelSim ME โดยการสร้าง run.do file. นี้ file ถูกใช้โดย ModelSim ME/ModelSim Pro ME เพื่อตั้งค่าและรันการจำลอง หากต้องการใช้เครื่องมือจำลองอื่นๆ คุณสามารถสร้าง ModelSim ME/ModelSim Pro ME run.do และแก้ไขสคริปต์ Tcl file เพื่อใช้คำสั่งที่เข้ากันได้กับเครื่องจำลองของคุณ
1.1 ลิเบโร SoC Tcl File รุ่น (ถามคำถาม)
หลังจากสร้างและสร้างการออกแบบใน Libero SoC แล้ว ให้เริ่มการจำลอง ModelSim ME/ModelSim Pro ME ภายใต้ขั้นตอนการออกแบบทั้งหมด (การสังเคราะห์ล่วงหน้า โพสต์ซินธ์ และหลังเลย์เอาต์) ขั้นตอนนี้จะสร้าง run.do file สำหรับ ModelSim ME/ModelSim Pro ME สำหรับแต่ละขั้นตอนการออกแบบ สำคัญ: หลังจากเริ่มการจำลองแต่ละครั้ง ให้เปลี่ยนชื่อ run.do ที่สร้างขึ้นโดยอัตโนมัติ file ใต้ไดเร็กทอรีการจำลองเพื่อป้องกันไม่ให้ Libero SoC เขียนทับสิ่งนั้น file. เช่นampเลอ, files สามารถเปลี่ยนชื่อเป็น presynth_run.do, postsynth_run.do และ postlayout_run.do
การตั้งค่า Aldec สำหรับ Active-HDL และ Riviera-Pro (ถามคำถาม)
การรัน.โด file ใช้โดย ModelSim ME/ModelSim Pro ME สามารถแก้ไขและใช้สำหรับการจำลองโดยใช้เครื่องจำลอง Aldec
2.1 ตัวแปรสภาพแวดล้อม (ถามคำถาม)
ตั้งค่าตัวแปรสภาพแวดล้อมของคุณเป็นใบอนุญาตของคุณ file ที่ตั้ง:
ใบอนุญาต LM_FILE: ต้องมีตัวชี้ไปยังเซิร์ฟเวอร์ลิขสิทธิ์
2.2 ดาวน์โหลดไลบรารีที่คอมไพล์แล้ว (ถามคำถาม)
ดาวน์โหลดไลบรารีสำหรับ Aldec Active-HDL และ Aldec Riviera-PRO จาก Microchip webเว็บไซต์.
2.3 การแปลง run.do สำหรับการจำลอง Aldec (ถามคำถาม)
การรัน.โด fileที่สร้างโดย Libero SoC สำหรับการจำลองโดยใช้เครื่องมือ Active-HDL และ Riviera-Pro สามารถใช้สำหรับการจำลองโดยใช้ Active-HDL และ Riviera-Pro ด้วยการเปลี่ยนแปลงเพียงครั้งเดียว ตารางต่อไปนี้แสดงรายการคำสั่งที่เทียบเท่ากับ Aldec ที่จะแก้ไขใน ModelSim run.do file.
ตารางที่ 2-1. คำสั่งเทียบเท่า Aldec
โมเดลซิม | แอ็คทีฟเอชดีแอล |
วล็อก | อาล็อก |
วีคอม | เอคอม |
วีลิบ | อาลีบ |
วีซิม | อาซิม |
วีแมป | อะแม็ป |
ดังต่อไปนี้ample run.do เกี่ยวข้องกับเครื่องจำลอง Aldec
- กำหนดตำแหน่งของไดเร็กทอรีการทำงานปัจจุบัน
ตั้งค่า dsn - ตั้งชื่อไลบรารี่ที่ใช้งานได้ กำหนดตำแหน่งของไลบรารี จากนั้นจึงกำหนดตำแหน่งของตระกูล FPGA ของ Microchip
ไลบรารีที่คอมไพล์แล้ว (เช่นample, SmartFusion2) ที่คุณกำลังรันการออกแบบของคุณ
อาลิบ เพรซินท์
อแมพ พรีซินธ์ พรีซินธ์
amap SmartFusion2 - รวบรวม HDL ที่จำเป็นทั้งหมด fileมาใช้ในการออกแบบด้วยไลบรารี่ที่ต้องการ
alog –work presynth temp.v (สำหรับ Verilog)
alog –work presynth testbench.v
acom – ทำงาน presynth temp.vhd (สำหรับ Vhdl)
acom –work presynth testbench.vhd - จำลองการออกแบบ
อาซิม –L SmartFusion2 –L presynth –t 1ps presynth.testbench
วิ่ง 10us
2.4 ปัญหาที่ทราบ (ถามคำถาม)
ส่วนนี้แสดงรายการปัญหาและข้อจำกัดที่ทราบ
- ไลบรารีที่คอมไพล์โดยใช้ Riviera-PRO เป็นแพลตฟอร์มเฉพาะ (เช่น ไลบรารี 64 บิตไม่สามารถรันบนแพลตฟอร์ม 32 บิต และในทางกลับกัน)
- สำหรับการออกแบบที่มี SERDES/MDDR/FDDR ให้ใช้ตัวเลือกต่อไปนี้ใน run.do ของคุณ fileขณะรันการจำลองหลังจากรวบรวมการออกแบบแล้ว:
– แอคทีฟ-HDL: asim –o2
– Riviera-PRO: asim –O2 (สำหรับการจำลองก่อนการสังเคราะห์และหลังเค้าโครง) และ asim –O5 (สำหรับการจำลองหลังเค้าโครง)
การตั้งค่า Aldec สำหรับ Active-HDL และ Riviera-Pro มี SAR ที่รอดำเนินการดังต่อไปนี้ หากต้องการข้อมูลเพิ่มเติม โปรดติดต่อ การสนับสนุนทางเทคนิคของไมโครชิป. - SAR 49908 - Active-HDL: ข้อผิดพลาด VHDL สำหรับการจำลองบล็อกทางคณิตศาสตร์
- SAR 50627 – Riviera-PRO 2013.02: ข้อผิดพลาดในการจำลองสำหรับการออกแบบ SERDES
- SAR 50461 – Riviera-PRO: ตัวเลือก asim -O2/-O5 ในการจำลอง
การตั้งค่า Cadence Incisive (ถามคำถาม)
คุณต้องสร้างสคริปต์ file คล้ายกับ ModelSim ME/ModelSim Pro ME run.do เพื่อรัน
เครื่องจำลอง Cadence Incisive ทำตามขั้นตอนเหล่านี้และสร้างสคริปต์ file สำหรับ NCSim หรือใช้สคริปต์ file
มีไว้เพื่อแปลง ModelSim ME/ModelSim Pro ME run.do fileเข้าสู่การกำหนดค่า files
จำเป็นต้องรันการจำลองโดยใช้ NCSim สิ่งสำคัญ: จังหวะ ได้หยุดการเปิดตัว Incisive Enterprise เวอร์ชันใหม่แล้ว
เครื่องจำลองและเริ่มรองรับเครื่องจำลอง Xcelium
3.1 ตัวแปรสภาพแวดล้อม (ถามคำถาม)
หากต้องการรันเครื่องจำลอง Cadence Incisive ให้กำหนดค่าตัวแปรสภาพแวดล้อมต่อไปนี้:
- ใบอนุญาต LM_FILE: ต้องมีตัวชี้ไปยังใบอนุญาต file.
- cds_root: ต้องชี้ไปที่ตำแหน่งโฮมไดเร็กทอรีของการติดตั้ง Cadence Incisive
- PATH: ต้องชี้ไปที่ตำแหน่ง bin ใต้ไดเร็กทอรี tools ที่ชี้โดย cds_root นั่นคือ
$cds_root/tools/bin/64bit (สำหรับเครื่อง 64 บิตและ $cds_root/tools/bin สำหรับเครื่อง 32 บิต)
มีสามวิธีในการตั้งค่าสภาพแวดล้อมการจำลองในกรณีที่มีการสลับระหว่างระบบปฏิบัติการ 64 บิตและ 32 บิต:
กรณีที่ 1: ตัวแปร PATH
รันคำสั่งต่อไปนี้:
set path = (install_dir/tools/bin/64bit $path) สำหรับเครื่อง 64 บิตและ
set path = (install_dir/tools/bin $path) สำหรับเครื่อง 32 บิต
กรณีที่ 2: การใช้ตัวเลือกบรรทัดคำสั่ง -64 บิต
ในบรรทัดคำสั่งให้ระบุตัวเลือก -64 บิต เพื่อเรียกใช้ไฟล์ปฏิบัติการ 64 บิต
กรณีที่ 3: การตั้งค่าตัวแปรสภาพแวดล้อม INCA_64BIT หรือ CDS_AUTO_64BIT
ตัวแปร INCA_64BIT จะถือเป็นบูลีน คุณสามารถตั้งค่าตัวแปรนี้เป็นค่าใดก็ได้หรือเป็นสตริงว่าง
ตั้งค่า INCA_64BIT
สำคัญ: The ตัวแปรสภาพแวดล้อม INCA_64BIT ไม่ส่งผลต่อเครื่องมือ Cadence อื่นๆ เช่น เครื่องมือ IC อย่างไรก็ตาม สำหรับเครื่องมือ Incisive ตัวแปร INCA_64BIT จะแทนที่การตั้งค่าสำหรับตัวแปรสภาพแวดล้อม CDS_AUTO_64BIT หากตั้งค่าตัวแปรสภาพแวดล้อม INCA_64BIT เครื่องมือ Incisive ทั้งหมดจะทำงานในโหมด 64 บิต setenv CDS_AUTO_64BIT รวม: INCA
สำคัญ: The สตริง INCA จะต้องเป็นตัวพิมพ์ใหญ่ ไฟล์ปฏิบัติการทั้งหมดจะต้องรันในโหมด 32 บิตหรือในโหมด 64 บิต อย่าตั้งค่าตัวแปรให้รวมไฟล์ปฏิบัติการหนึ่งรายการ ดังต่อไปนี้:
setenv CDS_AUTO_64BIT รวม:ncelab
เครื่องมือ Cadence อื่นๆ เช่น เครื่องมือ IC ยังใช้ตัวแปรสภาพแวดล้อม CDS_AUTO_64BIT เพื่อควบคุมการเลือกโปรแกรมปฏิบัติการ 32 บิตหรือ 64 บิต ตารางต่อไปนี้แสดงวิธีที่คุณสามารถตั้งค่าตัวแปร CDS_AUTO_64BIT เพื่อรันเครื่องมือ Incisive และเครื่องมือ IC ในทุกโหมด
ตารางที่ 3-1. ตัวแปร CDS_AUTO_64BIT
CDS_AUTO_64BIT ตัวแปร | เครื่องมือแหลมคม | เครื่องมือไอซี |
setenv CDS_AUTO_64BIT ทั้งหมด | 64 บิต | 64 บิต |
setenv CDS_AUTO_64BIT ไม่มี | 32 บิต | 32 บิต |
setenv CDS_AUTO_64BIT ไม่รวม:ic_binary | 64 บิต | 32 บิต |
setenv CDS_AUTO_64BIT ไม่รวม:INCA | 32 บิต | 64 บิต |
สำคัญ: เครื่องมือ Incisive ทั้งหมดต้องทำงานในโหมด 32 บิตหรือในโหมด 64 บิต ห้ามใช้ EXCLUDE เพื่อยกเว้นไฟล์ปฏิบัติการเฉพาะ ดังต่อไปนี้: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
หากคุณตั้งค่าตัวแปร CDS_AUTO_64BIT ให้ยกเว้นเครื่องมือ Incisive (setenv CDS_AUTO_64BIT EXCLUDE:INCA) เครื่องมือ Incisive ทั้งหมดจะทำงานในโหมด 32 บิต อย่างไรก็ตาม ตัวเลือกบรรทัดคำสั่ง -64 บิตจะแทนที่ตัวแปรสภาพแวดล้อม
การกำหนดค่าต่อไปนี้ fileช่วยคุณจัดการข้อมูลของคุณและควบคุมการทำงานของเครื่องมือจำลองและยูทิลิตี้:
- การทำแผนที่ห้องสมุด file (cds.lib)—กำหนดชื่อเชิงตรรกะสำหรับตำแหน่งการออกแบบของคุณ
- ไลบรารีและเชื่อมโยงกับชื่อไดเร็กทอรีทางกายภาพ
- ตัวแปร file (hdl.var)—กำหนดตัวแปรที่ส่งผลต่อพฤติกรรมของเครื่องมือจำลองและยูทิลิตี้
3.2 ดาวน์โหลดไลบรารีที่คอมไพล์แล้ว (ถามคำถาม)
ดาวน์โหลดไลบรารีสำหรับ Cadence Incisive จาก Microsemi's webเว็บไซต์.
3.3 การสร้างสคริปต์ NCSim File (ถามคำถาม)
หลังจากสร้างสำเนาของ run.do แล้ว fileให้ทำตามขั้นตอนเหล่านี้เพื่อรันการจำลองของคุณโดยใช้ NCSim:
- สร้าง cds.lib file ที่กำหนดห้องสมุดที่สามารถเข้าถึงได้และที่ตั้ง ที่ file มีคำสั่งที่แมปชื่อโลจิคัลของไลบรารีกับเส้นทางไดเร็กทอรีฟิสิคัล สำหรับเช่นampหากคุณใช้การจำลอง presynth ให้ใช้ cds.lib file ถูกเขียนตามที่แสดงใน codeblock ต่อไปนี้
กำหนด presynth ./presynth
กำหนด COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE smartfusion2 - สร้าง hdl.var fileการกำหนดค่าเสริม file ที่มีตัวแปรการกำหนดค่า ซึ่งกำหนดวิธีการกำหนดค่าสภาพแวดล้อมการออกแบบของคุณ ตัวแปรต่อไปนี้ fileรวมอยู่ด้วย:
– ตัวแปรที่ใช้ในการระบุไลบรารีงานที่คอมไพเลอร์จัดเก็บอ็อบเจ็กต์ที่คอมไพล์และข้อมูลที่ได้รับอื่น ๆ
– สำหรับ Verilog ตัวแปร (LIB_MAP, VIEW_MAP, WORK) ที่ใช้ในการระบุไลบรารีและ viewเพื่อค้นหาเมื่อผู้อธิบายแก้ไขอินสแตนซ์
– ตัวแปรที่อนุญาตให้คุณกำหนดตัวเลือกบรรทัดคำสั่งและอาร์กิวเมนต์ของคอมไพเลอร์ ตัวอธิบายรายละเอียด และตัวจำลอง
ในกรณีของการจำลองพรีซินธ์ เช่นampดังที่แสดงไว้ด้านบน สมมติว่าเรามี RTL สามอัน files: a.v, b.v และ testbench.v ซึ่งจำเป็นต้องคอมไพล์ลงในไลบรารี presynth, COREAHBLITE_LIB และ presynth ตามลำดับ hdl.var file สามารถเขียนได้ดังแสดงใน codeblock ต่อไปนี้
กำหนดงานล่วงหน้า
กำหนด PROJECT_DIR <ตำแหน่งของ files>
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/a.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/b.v => COREAHBLITE_LIB )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, + => presynth ) - รวบรวมการออกแบบ fileกำลังใช้ตัวเลือก ncvlog
ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log – อัปเดต – linedebug a.v b.v testbench.v - สร้างสรรค์การออกแบบโดยใช้ ncelab ผู้อธิบายรายละเอียดจะสร้างลำดับชั้นการออกแบบโดยอิงตามข้อมูลการสร้างอินสแตนซ์และการกำหนดค่าในการออกแบบ สร้างการเชื่อมต่อสัญญาณ และคำนวณค่าเริ่มต้นสำหรับออบเจ็กต์ทั้งหมดในการออกแบบ ลำดับชั้นการออกแบบที่ละเอียดจะถูกจัดเก็บไว้ในสแน็ปช็อตการจำลอง ซึ่งเป็นการแสดงการออกแบบของคุณที่เครื่องจำลองใช้ในการรันการจำลอง
ncelab –ข้อความ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –ข้อผิดพลาดสูงสุด 15 –
เข้าถึง +rwc –status worklib.:โมดูล
การอธิบายอย่างละเอียดระหว่างการจำลองหลังเลย์เอาต์
ในกรณีของการจำลองหลังเลย์เอาต์ อันดับแรกคือ SDF file จำเป็นต้องคอมไพล์ก่อนอธิบายรายละเอียดโดยใช้คำสั่ง ncsdfc
ncsdfcfileชื่อ>.sdf –เอาต์พุต <fileชื่อ>.sdf.X
ในระหว่างการอธิบายอย่างละเอียด ให้ใช้เอาต์พุต SDF ที่คอมไพล์แล้วพร้อมตัวเลือก –autosdf ดังที่แสดงใน codeblock ต่อไปนี้
ncelab -autosdf –ข้อความ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –ข้อผิดพลาดสูงสุด
15 –เข้าถึง +rwc –สถานะ worklib.:โมดูล –sdf_cmd_file ./
คำสั่ง sdf_cmd_file
sdf_cmd_file จะต้องเป็นไปตามที่แสดงใน codeblock ต่อไปนี้
คอมไพล์_SDF_FILE = “<ตำแหน่งของ SDF ที่คอมไพล์แล้ว file- - จำลองโดยใช้ ncsim หลังจากอธิบายรายละเอียดแล้ว สแน็ปช็อตการจำลองจะถูกสร้างขึ้น ซึ่งโหลดโดย ncsim สำหรับการจำลอง คุณสามารถทำงานในโหมดแบตช์หรือโหมด GUI
ncsim –ข้อความ –ชุด/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
errormax 15 –สถานะ worklib.:โมดูล
สำคัญ: การคอมไพล์ การอธิบายรายละเอียด และการจำลองสามขั้นตอนข้างต้นทั้งหมดสามารถใส่ลงในเชลล์สคริปต์ได้ file และมาจากบรรทัดคำสั่ง แทนที่จะใช้สามขั้นตอนเหล่านี้ คุณสามารถจำลองการออกแบบได้ในขั้นตอนเดียวโดยใช้ตัวเลือก ncverilog หรือ irun ดังที่แสดงใน codeblock ต่อไปนี้
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <RTL ทั้งหมด
fileที่ใช้ในการออกแบบ>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <RTL ทั้งหมด files
ใช้ในการออกแบบ>
3.3.1 ปัญหาที่ทราบ (ถามคำถาม)
วิธีแก้ปัญหาของ Testbench
การใช้ข้อความต่อไปนี้เพื่อระบุความถี่สัญญาณนาฬิกาใน Testbench ที่สร้างโดยผู้ใช้ หรือ Testbench เริ่มต้นที่สร้างโดย Libero SoC จะไม่ทำงานกับ NCSim
เสมอ @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
แก้ไขดังต่อไปนี้เพื่อรันการจำลอง:
เสมอ #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK; สำคัญ: เรียบเรียง ไลบรารีสำหรับ NCSim เป็นแพลตฟอร์มเฉพาะ (เช่น ไลบรารี 64 บิตเข้ากันไม่ได้กับแพลตฟอร์ม 32 บิตและในทางกลับกัน)
การจำลองแบบโพสต์ซินธ์และหลังเลย์เอาต์โดยใช้ MSS และ SERDES ในขณะที่รันการจำลองแบบโพสต์ซินธ์ของการออกแบบที่มีบล็อก MSS หรือการจำลองหลังเลย์เอาต์ของการออกแบบโดยใช้ SERDES การจำลอง BFM จะไม่ทำงานหากตัวเลือก –libmap เป็น
ไม่ได้ระบุไว้ในระหว่างการทำอย่างละเอียด เนื่องจากในระหว่างการทำอย่างละเอียด MSS ได้รับการแก้ไขจากไลบรารีงาน (เนื่องจากการผูกเริ่มต้นและ worklib เป็นแบบ postynth/post-layout) โดยที่เป็นเพียงฟังก์ชันคงที่
คำสั่ง ncelab จะต้องเขียนตามที่แสดงในบล็อคโค้ดต่อไปนี้เพื่อแก้ไข MSS
บล็อกจากไลบรารีที่คอมไพล์แล้ว SmartFusion2
ncelab -libmap lib.map -libverbose -ข้อความ -เข้าถึง +rwc cfg1
และ lib.map file จะต้องเป็นดังนี้:
กำหนดค่า cfg1;
การออกแบบ ;
ค่าเริ่มต้น liblist smartfusion2 ;
สิ้นสุดการกำหนดค่า
วิธีนี้จะแก้ไขเซลล์ใดๆ ในไลบรารี SmartFusion2 ก่อนที่จะค้นหาในไลบรารีงาน เช่น postynth/ post-layout
ตัวเลือก –libmap สามารถใช้งานได้เป็นค่าเริ่มต้นในระหว่างการอธิบายรายละเอียดสำหรับการจำลองทุกครั้ง (presynth, postynth และ post-layout) วิธีนี้จะหลีกเลี่ยงปัญหาการจำลองที่เกิดจากการแก้ไขอินสแตนซ์จากไลบรารี
ncelab: *F,INTERR: ข้อยกเว้นภายใน
ข้อยกเว้นของเครื่องมือ ncelab นี้เป็นข้อแม้สำหรับการออกแบบที่มี FDDR ใน SmartFusion 2 และ IGLOO 2 ในระหว่างการจำลองแบบโพสต์ซินธ์และหลังเลย์เอาต์โดยใช้ตัวเลือก –libmap สำคัญ: ปัญหานี้ได้รับการรายงานไปยังทีมสนับสนุน Cadence แล้ว (SAR 52113)
3.4 วินาทีampเลอ Tcl และเชลล์สคริปต์ Fileส (ถามคำถาม)
ต่อไปนี้ files คือการกำหนดค่า fileจำเป็นสำหรับการตั้งค่าการออกแบบและเชลล์สคริปต์ file สำหรับการรันคำสั่ง NCSim
ซีดี.lib
NE smartfusion2 / รอยขีดข่วน / krydor / tmpspace / ผู้ใช้ / ฉัน / nc-vlog64 / SmartFusion2
กำหนด COREAHBLITE_LIB ./COREAHBLITE_LIB
กำหนด presynth ./presynth
เอชดีแอล.วาร์
กำหนดงานล่วงหน้า
กำหนด PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
วล็อก/คอร์/coreahblite_masterstagev => COREAHBLITE_LIB )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
วล็อก/คอร์/coreahblite_slavestagev => COREAHBLITE_LIB )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
สังเคราะห์)
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
สังเคราะห์)
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => กำลังสังเคราะห์ )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, + => presynth )
คำสั่ง.csh
ncvlog +incdir+../../ส่วนประกอบ/งาน/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -บันทึกfile
ncvlog.log -errormax 15 -อัปเดต -linedebug
../../ส่วนประกอบ/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../ส่วนประกอบ/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
คอร์อาห์บไลท์_ดีฟอลต์สเลฟส์เอ็ม.วี
../../ส่วนประกอบ/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagอายุ
../../ส่วนประกอบ/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../ส่วนประกอบ/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagอายุ
../../ส่วนประกอบ/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../ส่วนประกอบ/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../ส่วนประกอบ/งาน/SB/CCC_0/SB_CCC_0_FCCC.v
../../ส่วนประกอบ/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../ส่วนประกอบ/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../ส่วนประกอบ/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../ส่วนประกอบ/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../ส่วนประกอบ/งาน/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../ส่วนประกอบ/งาน/SB_HPMS/SB_HPMS.v
../../ส่วนประกอบ/งาน/SB/SB.v ../../ส่วนประกอบ/งาน/SB_top/SERDES_IF_0/
SB_ท็อป_SERDES_IF_0_SERDES_IF
../../ส่วนประกอบ/งาน/SB_top/SB_top.v ../../ส่วนประกอบ/งาน/SB_top/testbench.v
ncelab - ข้อความ -cdslib ./cds.lib -hdlvar ./hdl.var
-งานปัจจุบัน -logfile ncelab.log -errormax 15 -เข้าถึง +rwc -สถานะ presynth.testbench:โมดูล
ncsim -ข้อความ -ชุด -cdslib ./cds.lib -hdlvar ./
บันทึก hdl.varfile ncsim.log -errormax 15 -สถานะ presynth.testbench:โมดูล
3.5 ระบบอัตโนมัติ (ถามคำถาม)
สคริปต์ต่อไปนี้ file แปลง ModelSim run.do fileเข้าสู่การกำหนดค่า fileจำเป็นสำหรับการรันการจำลองโดยใช้ NCSim
สคริปต์ File การใช้งาน
perl cadence_parser.pl presynth_run.do โพสต์ซินธ์_run.do
postlayout_run.do ไมโครเซมิแฟมิลี่
ตำแหน่งของไลบรารีที่คอมไพล์ล่วงหน้าของ Cadence
แคเดนซ์_พาร์เซอร์เซอร์.pl
#!/usr/bin/perl -w
################################################### ############################################
-
#การใช้งาน: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family คอมไพล์แล้ว_Libraries_location#
################################################### ############################################
-
ใช้ POSIX;
ใช้อย่างเข้มงวด
ของฉัน ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
Questa_parser ย่อย {
$ModelSim_run_do ของฉัน = $_[0];
$actel_family ของฉัน = $_[1];
$lib_location ของฉัน = $_[2];
$state ของฉัน;
ถ้า ( -e “$ModelSim_run_do” )
{
เปิดFILE”$โมเดลซิม_รัน_โด”);
@ModelSim_run_do ของฉัน = <INFILE>;
เส้น $ ของฉัน;
ถ้า ( $ModelSim_run_do =~ m/(presynth)/)
{
mkdir QUESTA_PRESYNTH;
เปิดออกFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$รัฐ = $1;
} มิฉะนั้น ( $ModelSim_run_do =~ m/(postsynth)/)
{
mkdir QUESTA_POSTSYNTH;
เปิดออกFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$รัฐ = $1;
} elsif ( $ModelSim_run_do =~ m/(โพสต์เลย์เอาต์)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
เปิดออกFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$รัฐ = $1;
} อื่น ๆ
{
พิมพ์ “ป้อนข้อมูลไม่ถูกต้องให้กับ file\n”;
พิมพ์ “#การใช้งาน: perl questa_parser.pl presynth_run.do โพสต์ซินธ์_run.do postlayout_run.do
\”ห้องสมุด_ที่ตั้ง\”\n”;
}
เข้าถึง $line (@ModelSim_run_do)
{
#ปฏิบัติการทั่วไป
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#พิมพ์ออกมาFILE “$เส้น\n”;
ถ้า ($line =~ m/vmap\s+.*($actel_family)/)
{
พิมพ์ออกมาFILE “vmap $actel_family \”$lib_location\”\n”;
} มิฉะนั้น ($line =~ m/vmap\s+(.*._LIB)/)
{
เส้น =~ s/..\/component/..\/..\/component/g;
พิมพ์ออกมาFILE “$เส้น\n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
พิมพ์ออกมาFILE “$เส้น\n”;
} อื่น ๆ
{
พิมพ์ออกมาFILE “$เส้น\n”;
}
}
ปิด(ในFILE);
ปิดFILE);
} อื่น {
พิมพ์ “$ModelSim_run_do ไม่มีอยู่” รันการจำลองอีกครั้ง \n”;
}
}
การตั้งค่า Cadence Xcelium (เข้าสู่ระบบไมโครชิป)
คุณต้องสร้างสคริปต์ file คล้ายกับ ModelSim ME/ModelSim Pro ME run.do เพื่อรันเครื่องจำลอง Cadence Xcelium ทำตามขั้นตอนเหล่านี้และสร้างสคริปต์ file สำหรับ Xcelium หรือใช้สคริปต์ file มีไว้เพื่อแปลง ModelSim ME/ModelSim Pro ME run.do fileเข้าสู่การกำหนดค่า fileจำเป็นต้องรันการจำลองโดยใช้ Xcelium
4.1 ตัวแปรสภาพแวดล้อม (ถามคำถาม)
หากต้องการรัน Cadence Xcelium ให้กำหนดค่าตัวแปรสภาพแวดล้อมต่อไปนี้:
- ใบอนุญาต LM_FILE: ต้องมีตัวชี้ไปยังใบอนุญาต file.
- cds_root: ต้องชี้ไปที่ตำแหน่งโฮมไดเร็กทอรีของการติดตั้ง Cadence Incisive
- เส้นทาง: ต้องชี้ไปที่ตำแหน่งถังขยะใต้ไดเร็กทอรี tools ที่ชี้โดย cds_root (เช่น
$cds_root/tools/bin/64bit (สำหรับเครื่อง 64 บิตและ $cds_root/tools/bin สำหรับ 32 บิต
เครื่อง).
มีสามวิธีในการตั้งค่าสภาพแวดล้อมการจำลองในกรณีที่มีการสลับระหว่างระบบปฏิบัติการ 64 บิตและ 32 บิต:
กรณีที่ 1: ตัวแปร PATH
set path = (install_dir/tools/bin/64bit $path) สำหรับเครื่อง 64 บิตและ
set path = (install_dir/tools/bin $path) สำหรับเครื่อง 32 บิต
กรณีที่ 2: การใช้ตัวเลือกบรรทัดคำสั่ง -64 บิต
ในบรรทัดคำสั่งให้ระบุตัวเลือก -64 บิต เพื่อเรียกใช้ไฟล์ปฏิบัติการแบบ 64 บิต
กรณีที่ 3: การตั้งค่าตัวแปรสภาพแวดล้อม INCA_64BIT หรือ CDS_AUTO_64BIT
ตัวแปร INCA_64BIT จะถือเป็นบูลีน คุณสามารถตั้งค่าตัวแปรนี้เป็นค่าใดก็ได้หรือเป็นค่าว่างก็ได้
สตริง.
ตั้งค่า INCA_64BIT
สำคัญ: The ตัวแปรสภาพแวดล้อม INCA_64BIT ไม่ส่งผลต่อเครื่องมือ Cadence อื่นๆ เช่น เครื่องมือ IC อย่างไรก็ตาม สำหรับเครื่องมือ Incisive ตัวแปร INCA_64BIT จะแทนที่การตั้งค่าสำหรับตัวแปรสภาพแวดล้อม CDS_AUTO_64BIT หากตั้งค่าตัวแปรสภาพแวดล้อม INCA_64BIT เครื่องมือ Incisive ทั้งหมดจะทำงานในโหมด 64 บิต
setenv CDS_AUTO_64BIT รวม: INCA สำคัญ: The สตริง INCA จะต้องเป็นตัวพิมพ์ใหญ่ ไฟล์ปฏิบัติการทั้งหมดจะต้องรันในโหมด 2 บิตหรือในโหมด 64 บิต อย่าตั้งค่าตัวแปรให้รวมไฟล์ปฏิบัติการหนึ่งรายการ ดังต่อไปนี้:
setenv CDS_AUTO_64BIT รวม:ncelab
เครื่องมือ Cadence อื่นๆ เช่น เครื่องมือ IC ยังใช้ตัวแปรสภาพแวดล้อม CDS_AUTO_64BIT เพื่อควบคุมการเลือกโปรแกรมปฏิบัติการ 32 บิตหรือ 64 บิต ตารางต่อไปนี้แสดงวิธีที่คุณสามารถตั้งค่าตัวแปร CDS_AUTO_64BIT เพื่อรันเครื่องมือ Incisive และเครื่องมือ IC ในทุกโหมด
ตารางที่ 4-1. ตัวแปร CDS_AUTO_64BIT
CDS_AUTO_64BIT ตัวแปร | เครื่องมือแหลมคม | เครื่องมือไอซี |
setenv CDS_AUTO_64BIT ทั้งหมด | 64 บิต | 64 บิต |
setenv CDS_AUTO_64BIT ไม่มี | 32 บิต | 32 บิต |
ตั้ง CDS_AUTO_64BIT ไม่รวม:ic_binary | 64 บิต | 32 บิต |
setenv CDS_AUTO_64BIT ไม่รวม:INCA | 32 บิต | 64 บิต |
สำคัญ: เครื่องมือ Incisive ทั้งหมดต้องทำงานในโหมด 32 บิตหรือในโหมด 64 บิต ห้ามใช้ EXCLUDE เพื่อแยกไฟล์ปฏิบัติการเฉพาะ ดังต่อไปนี้:
setenv CDS_AUTO_64BIT ไม่รวม:ncelab
หากคุณตั้งค่าตัวแปร CDS_AUTO_64BIT ให้ยกเว้นเครื่องมือ Incisive (setenv
CDS_AUTO_64BIT EXCLUDE:INCA) เครื่องมือ Incisive ทั้งหมดจะทำงานในโหมด 32 บิต อย่างไรก็ตาม
ตัวเลือกบรรทัดคำสั่ง -64 บิตจะแทนที่ตัวแปรสภาพแวดล้อม
การกำหนดค่าต่อไปนี้ fileช่วยคุณจัดการข้อมูลของคุณและควบคุมการทำงานของเครื่องมือจำลองและยูทิลิตี้:
- การทำแผนที่ห้องสมุด file (cds.lib) กำหนดชื่อเชิงตรรกะสำหรับตำแหน่งของการออกแบบของคุณ
- ไลบรารีและเชื่อมโยงกับชื่อไดเร็กทอรีทางกายภาพ
- ตัวแปร file (hdl.var) กำหนดตัวแปรที่ส่งผลต่อพฤติกรรมของเครื่องมือจำลองและยูทิลิตี้
4.2 ดาวน์โหลดไลบรารีที่คอมไพล์แล้ว (ถามคำถาม)
ดาวน์โหลดไลบรารีสำหรับ Cadence Xcelium จาก Microsemi's webเว็บไซต์.
4.3 การสร้างสคริปต์ Xcelium file (ถามคำถาม)
หลังจากสร้างสำเนาของ run.do แล้ว fileให้ทำตามขั้นตอนต่อไปนี้เพื่อรันการจำลองโดยใช้สคริปต์ Xcelium file.
- สร้าง cds.lib file ที่กำหนดว่าห้องสมุดใดสามารถเข้าถึงได้และตั้งอยู่ที่ใด
การ file มีคำสั่งที่แมปชื่อโลจิคัลของไลบรารีกับเส้นทางไดเร็กทอรีฟิสิคัล สำหรับเช่นampหากคุณใช้การจำลอง presynth ให้ใช้ cds.lib file สามารถเขียนได้ดังแสดงใน codeblock ต่อไปนี้
กำหนด presynth ./presynth
กำหนด COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE smartfusion2 - สร้าง hdl.var file ซึ่งเป็นการกำหนดค่าเพิ่มเติม file ที่มีตัวแปรการกำหนดค่า ซึ่งกำหนดวิธีการกำหนดค่าสภาพแวดล้อมการออกแบบของคุณ ซึ่งรวมถึง:
– ตัวแปรที่ใช้ในการระบุไลบรารีงานที่คอมไพเลอร์จัดเก็บอ็อบเจ็กต์ที่คอมไพล์และข้อมูลที่ได้รับอื่น ๆ
– สำหรับ Verilog ตัวแปร (LIB_MAP, VIEW_MAP, WORK) ที่ใช้ในการระบุไลบรารีและ viewเพื่อค้นหาเมื่อผู้อธิบายแก้ไขอินสแตนซ์
– ตัวแปรที่อนุญาตให้คุณกำหนดตัวเลือกบรรทัดคำสั่งและอาร์กิวเมนต์ของคอมไพเลอร์ ตัวอธิบายรายละเอียด และตัวจำลอง
ในกรณีของการจำลองพรีซินธ์ เช่นampดังที่แสดงไว้ด้านบน สมมติว่าเรามี 3 RTL files a.v, b.v และ testbench.v ซึ่งจำเป็นต้องคอมไพล์ลงในไลบรารี presynth, COREAHBLITE_LIB และ presynth ตามลำดับ hdl.var file สามารถเขียนได้ดังแสดงใน codeblock ต่อไปนี้
กำหนดงานล่วงหน้า
กำหนด PROJECT_DIR <ตำแหน่งของ files>
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/a.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/b.v => COREAHBLITE_LIB )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, + => presynth ) - รวบรวมการออกแบบ fileกำลังใช้ตัวเลือก ncvlog
xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log – อัปเดต – linedebug a.v b.v testbench.v - สร้างสรรค์การออกแบบโดยใช้ ncelab ผู้อธิบายรายละเอียดจะสร้างลำดับชั้นการออกแบบโดยอิงตามข้อมูลการสร้างอินสแตนซ์และการกำหนดค่าในการออกแบบ สร้างการเชื่อมต่อสัญญาณ และคำนวณค่าเริ่มต้นสำหรับออบเจ็กต์ทั้งหมดในการออกแบบ ลำดับชั้นการออกแบบที่ละเอียดจะถูกจัดเก็บไว้ในสแน็ปช็อตการจำลอง ซึ่งเป็นการแสดงการออกแบบของคุณที่เครื่องจำลองใช้ในการรันการจำลอง
Xcelium –ข้อความ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –ข้อผิดพลาดสูงสุด 15 –
เข้าถึง +rwc –status worklib.:โมดูล
การอธิบายอย่างละเอียดระหว่างการจำลองหลังเลย์เอาต์
ในกรณีของการจำลองหลังเลย์เอาต์ อันดับแรกคือ SDF file จำเป็นต้องคอมไพล์ก่อนอธิบายรายละเอียดโดยใช้คำสั่ง ncsdfc
เอ็กซ์ซีเลียม <fileชื่อ>.sdf –เอาต์พุต <fileชื่อ>.sdf.X
ในระหว่างการอธิบายอย่างละเอียด ให้ใช้เอาต์พุต SDF ที่คอมไพล์แล้วพร้อมตัวเลือก –autosdf ดังที่แสดงใน codeblock ต่อไปนี้
xmelab -autosdf –ข้อความ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –ข้อผิดพลาดสูงสุด
15 –เข้าถึง +rwc –สถานะ worklib.:โมดูล –sdf_cmd_file ./
คำสั่ง sdf_cmd_file
sdf_cmd_file จะต้องเป็นไปตามที่แสดงใน codeblock ต่อไปนี้
คอมไพล์_SDF_FILE = “<ตำแหน่งของ SDF ที่คอมไพล์แล้ว file- - จำลองโดยใช้ Xcelium หลังจากอธิบายรายละเอียดแล้ว สแน็ปช็อตการจำลองจะถูกสร้างขึ้นซึ่งโหลดโดย Xcelium สำหรับการจำลอง สามารถรันในโหมดแบตช์หรือโหมด GUI
xmsim –ข้อความ –ชุด/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
errormax 15 –สถานะ worklib.:โมดูล
การตั้งค่า Cadence Xceliumสำคัญ: ทั้งหมด สามขั้นตอนข้างต้นของการคอมไพล์ การอธิบายรายละเอียด และการจำลองสามารถใส่ลงในเชลล์สคริปต์ได้ file และมาจากบรรทัดคำสั่ง แทนที่จะใช้สามขั้นตอนเหล่านี้ คุณสามารถจำลองการออกแบบได้ในขั้นตอนเดียวโดยใช้ตัวเลือก ncverilog หรือ xrun ดังที่แสดงใน codeblock ต่อไปนี้
xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <RTL ทั้งหมด
fileที่ใช้ในการออกแบบ>
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <RTL ทั้งหมด files
ใช้ในการออกแบบ>
4.3.1 ปัญหาที่ทราบ (ถามคำถาม)
วิธีแก้ปัญหาของ Testbench
การใช้ข้อความต่อไปนี้เพื่อระบุความถี่สัญญาณนาฬิกาใน Testbench ที่สร้างโดยผู้ใช้หรือ Testbench เริ่มต้นที่สร้างโดย Libero SoC จะไม่ทำงานกับ Xcelium
เสมอ @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
แก้ไขดังต่อไปนี้เพื่อรันการจำลอง:
เสมอ #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
สำคัญ: ไลบรารีที่คอมไพล์สำหรับ Xcelium เป็นแพลตฟอร์มเฉพาะ (เช่น ไลบรารี 64 บิตเข้ากันไม่ได้กับแพลตฟอร์ม 32 บิตและในทางกลับกัน)
การจำลองแบบ Postynth และ Post-layout โดยใช้ MSS และ SERDES
ในขณะที่รันการจำลองหลังการสังเคราะห์ของการออกแบบที่มีบล็อก MSS หรือการจำลองหลังเลย์เอาต์ของการออกแบบโดยใช้ SERDES การจำลอง BFM จะไม่ทำงานหากไม่มีการระบุตัวเลือก –libmap ในระหว่างการอธิบายรายละเอียด เนื่องจากในระหว่างการทำอย่างละเอียด MSS ได้รับการแก้ไขจากไลบรารีงาน (เนื่องจากการผูกเริ่มต้นและ worklib เป็นแบบ postynth/post-layout) โดยที่เป็นเพียงฟังก์ชันคงที่
คำสั่ง ncelab จะต้องเขียนตามที่แสดงในบล็อกโค้ดต่อไปนี้เพื่อแก้ไขบล็อก MSS จากไลบรารีที่คอมไพล์แล้ว SmartFusion2
xmelab -libmap lib.map -libverbose -ข้อความ -เข้าถึง +rwc cfg1
และ lib.map file จะต้องเป็นดังนี้:
กำหนดค่า cfg1;
การออกแบบ ;
ค่าเริ่มต้น liblist smartfusion2 ;
สิ้นสุดการกำหนดค่า
สิ่งนี้จะต้องแก้ไขเซลล์ใดๆ ในไลบรารี SmartFusion2 ก่อนที่จะค้นหาในไลบรารีงาน เช่น postynth/post-layout
ตัวเลือก –libmap สามารถใช้เป็นค่าเริ่มต้นได้ในระหว่างการอธิบายรายละเอียดสำหรับการจำลองทุกครั้ง (presynth, postynth และ post-layout) วิธีนี้จะหลีกเลี่ยงปัญหาการจำลองที่เกิดจากการแก้ไขอินสแตนซ์จากไลบรารี
xmelab: *F,INTERR: ข้อยกเว้นภายใน
ข้อยกเว้นของเครื่องมือ ncelab นี้เป็นข้อแม้สำหรับการออกแบบที่มี FDDR ใน SmartFusion2 และ IGLOO2
ระหว่างการจำลองแบบโพสต์ซินธ์และหลังเลย์เอาต์โดยใช้ตัวเลือก –libmap สำคัญ: ปัญหานี้ได้รับการรายงานไปยังทีมสนับสนุน Cadence แล้ว (SAR 52113)
4.4 วินาทีampเลอ Tcl และเชลล์สคริปต์ fileส (ถามคำถาม)
ต่อไปนี้ files คือการกำหนดค่า fileจำเป็นสำหรับการตั้งค่าการออกแบบและเชลล์สคริปต์ file สำหรับการรันคำสั่ง Xcelium
ซีดี.lib
กำหนด smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
กำหนด COREAHBLITE_LIB ./COREAHBLITE_LIB
กำหนด presynth ./presynth
เอชดีแอล.วาร์
กำหนดงานล่วงหน้า
กำหนด PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
วล็อก/คอร์/coreahblite_masterstagev => COREAHBLITE_LIB )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
วล็อก/คอร์/coreahblite_slavestagev => COREAHBLITE_LIB )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
สังเคราะห์)
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
สังเคราะห์)
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => กำลังสังเคราะห์ )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
กำหนด LIB_MAP ( $LIB_MAP, + => presynth )
คำสั่ง.csh
ncvlog +incdir+../../ส่วนประกอบ/งาน/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -บันทึกfile
ncvlog.log -errormax 15 -อัปเดต -linedebug
../../ส่วนประกอบ/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../ส่วนประกอบ/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
คอร์อาห์บไลท์_ดีฟอลต์สเลฟส์เอ็ม.วี
../../ส่วนประกอบ/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagอายุ
../../ส่วนประกอบ/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../ส่วนประกอบ/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagอายุ
../../ส่วนประกอบ/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../ส่วนประกอบ/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../ส่วนประกอบ/งาน/SB/CCC_0/SB_CCC_0_FCCC.v
../../ส่วนประกอบ/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../ส่วนประกอบ/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../ส่วนประกอบ/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../ส่วนประกอบ/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../ส่วนประกอบ/งาน/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../ส่วนประกอบ/งาน/SB_HPMS/SB_HPMS.v
../../ส่วนประกอบ/งาน/SB/SB.v ../../ส่วนประกอบ/งาน/SB_top/SERDES_IF_0/
SB_ท็อป_SERDES_IF_0_SERDES_IF
../../ส่วนประกอบ/งาน/SB_top/SB_top.v ../../ส่วนประกอบ/งาน/SB_top/testbench.v
ncelab - ข้อความ -cdslib ./cds.lib -hdlvar ./hdl.var
-งานปัจจุบัน -logfile ncelab.log -errormax 15 -เข้าถึง +rwc -สถานะ presynth.testbench:โมดูล
ncsim -ข้อความ -ชุด -cdslib ./cds.lib -hdlvar ./
บันทึก hdl.varfile ncsim.log -errormax 15 -สถานะ presynth.testbench:โมดูล
4.5 ระบบอัตโนมัติ (เข้าสู่ระบบไมโครชิป)
สคริปต์ต่อไปนี้ file แปลง ModelSim run.do fileเข้าสู่การกำหนดค่า fileจำเป็นต้องรันการจำลองโดยใช้ Xcelium
สคริปต์ File การใช้งาน
perl cadence_parser.pl presynth_run.do โพสต์ซินธ์_run.do
postlayout_run.do ไมโครเซมิแฟมิลี่
ตำแหน่งของไลบรารีที่คอมไพล์ล่วงหน้าของ Cadence
แคเดนซ์_พาร์เซอร์เซอร์.pl
#!/usr/bin/perl -w
################################################### ############################################
-
#การใช้งาน: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family คอมไพล์แล้ว_Libraries_location#
################################################### ############################################
-
ใช้ POSIX;
ใช้อย่างเข้มงวด
ของฉัน ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
Questa_parser ย่อย {
$ModelSim_run_do ของฉัน = $_[0];
$actel_family ของฉัน = $_[1];
$lib_location ของฉัน = $_[2];
$state ของฉัน;
ถ้า ( -e “$ModelSim_run_do” )
{
เปิดFILE”$โมเดลซิม_รัน_โด”);
@ModelSim_run_do ของฉัน = <INFILE>;
เส้น $ ของฉัน;
ถ้า ( $ModelSim_run_do =~ m/(presynth)/)
{
mkdir QUESTA_PRESYNTH;
เปิดออกFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$รัฐ = $1;
} มิฉะนั้น ( $ModelSim_run_do =~ m/(postsynth)/)
{
mkdir QUESTA_POSTSYNTH;
เปิดออกFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$รัฐ = $1;
} elsif ( $ModelSim_run_do =~ m/(โพสต์เลย์เอาต์)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
เปิดออกFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$รัฐ = $1;
} อื่น ๆ
{
พิมพ์ “ป้อนข้อมูลไม่ถูกต้องให้กับ file\n”;
พิมพ์ “#การใช้งาน: perl questa_parser.pl presynth_run.do โพสต์ซินธ์_run.do postlayout_run.do
\”ห้องสมุด_ที่ตั้ง\”\n”;
}
เข้าถึง $line (@ModelSim_run_do)
{
#ปฏิบัติการทั่วไป
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#พิมพ์ออกมาFILE “$เส้น\n”;
ถ้า ($line =~ m/vmap\s+.*($actel_family)/)
{
พิมพ์ออกมาFILE “vmap $actel_family \”$lib_location\”\n”;
} มิฉะนั้น ($line =~ m/vmap\s+(.*._LIB)/)
{
เส้น =~ s/..\/component/..\/..\/component/g;
พิมพ์ออกมาFILE “$เส้น\n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
พิมพ์ออกมาFILE “$เส้น\n”;
} อื่น ๆ
{
พิมพ์ออกมาFILE “$เส้น\n”;
}
}
ปิด(ในFILE);
ปิดFILE);
} อื่น {
พิมพ์ “$ModelSim_run_do ไม่มีอยู่” รันการจำลองอีกครั้ง \n”;
}
}
การตั้งค่า Siemens QuestaSim/การตั้งค่า ModelSim (ถามคำถาม)
การรัน.โด files ที่สร้างโดย Libero SoC สำหรับการจำลองโดยใช้ ModelSim Microsemi Editions สามารถใช้สำหรับการจำลองโดยใช้ QuestaSim/ModelSim SE/DE/PE ด้วยการเปลี่ยนแปลงเพียงครั้งเดียว ใน ModelSim ME/ModelSim Pro ME run.do fileจำเป็นต้องแก้ไขตำแหน่งของไลบรารีที่คอมไพล์แล้ว สำคัญ:
ตามค่าเริ่มต้น เครื่องมือจำลองสถานการณ์อื่นที่ไม่ใช่ ModelSim Pro ME จะดำเนินการเพิ่มประสิทธิภาพการออกแบบระหว่างการจำลอง ซึ่งอาจส่งผลต่อการมองเห็นสิ่งประดิษฐ์ในการจำลอง เช่น วัตถุการออกแบบและการกระตุ้นอินพุต
โดยทั่วไปจะมีประโยชน์ในการลดรันไทม์การจำลองสำหรับการจำลองที่ซับซ้อน โดยใช้ชุดทดสอบแบบละเอียดที่ตรวจสอบตัวเอง อย่างไรก็ตาม การปรับให้เหมาะสมเริ่มต้นอาจไม่เหมาะสมสำหรับการจำลองทั้งหมด โดยเฉพาะอย่างยิ่งในกรณีที่คุณคาดหวังที่จะตรวจสอบผลลัพธ์การจำลองแบบกราฟิกโดยใช้หน้าต่าง wave
เพื่อแก้ไขปัญหาที่เกิดจากการเพิ่มประสิทธิภาพนี้ คุณต้องเพิ่มคำสั่งที่เหมาะสมและอาร์กิวเมนต์ที่เกี่ยวข้องในระหว่างการจำลองเพื่อเรียกคืนการมองเห็นในการออกแบบ สำหรับคำสั่งเฉพาะเครื่องมือ โปรดดูเอกสารประกอบของตัวจำลองที่ใช้งานอยู่
5.1 ตัวแปรสภาพแวดล้อม (ถามคำถาม)
ต่อไปนี้เป็นตัวแปรสภาพแวดล้อมที่จำเป็น
- ใบอนุญาต LM_FILE: ต้องมีเส้นทางไปยังใบอนุญาต file.
- MODEL_TECH: ต้องระบุเส้นทางไปยังตำแหน่งโฮมไดเร็กตอรี่ของการติดตั้ง QuestaSim
- PATH: ต้องชี้ไปยังตำแหน่งปฏิบัติการที่ MODEL_TECH ชี้
5.2 การแปลง run.do สำหรับ Mentor QuestaSim (ถามคำถาม)
การรัน.โด fileที่สร้างโดย Libero SoC สำหรับการจำลองโดยใช้ ModelSim Microsemi Editions สามารถใช้สำหรับการจำลองโดยใช้ QuestaSim/ModelSim_SE ด้วยการเปลี่ยนแปลงเพียงครั้งเดียว สำคัญ: ทั้งหมด การออกแบบที่จำลองโดยใช้ QuestaSim ต้องมี -novopt
ตัวเลือกพร้อมกับคำสั่ง vsim ในสคริปต์ run.do files.
5.3 ดาวน์โหลดไลบรารีที่คอมไพล์แล้ว (ถามคำถาม)
ดาวน์โหลดไลบรารีสำหรับ Mentor Graphics QuestaSim จาก Microsemi's webเว็บไซต์.
การตั้งค่า Synopsys VCS (ถามคำถาม)
โฟลว์ที่แนะนำโดย Microsemi ขึ้นอยู่กับโฟลว์ที่ซับซ้อนและคอมไพล์ใน VCS เอกสารนี้มีสคริปต์ file ที่ใช้สคริปต์ run.do fileสร้างโดย Libero SoC และสร้างการตั้งค่า fileจำเป็นสำหรับการจำลอง VCS บท file ใช้ run.do file เพื่อทำสิ่งต่อไปนี้
- สร้างแผนที่ห้องสมุด fileซึ่งเสร็จสิ้นโดยใช้ synopsys_sim.setup file ตั้งอยู่ในไดเร็กทอรีเดียวกับที่การจำลอง VCS กำลังทำงานอยู่
- สร้างเชลล์สคริปต์ file เพื่ออธิบายรายละเอียดและรวบรวมการออกแบบของคุณโดยใช้ VCS
6.1 ตัวแปรสภาพแวดล้อม (ถามคำถาม)
ตั้งค่าตัวแปรสภาพแวดล้อมที่เหมาะสมสำหรับ VCS ตามการตั้งค่าของคุณ ตัวแปรสภาพแวดล้อมที่จำเป็นตามเอกสาร VCS คือ:
- ใบอนุญาต LM_FILE: ต้องมีตัวชี้ไปยังเซิร์ฟเวอร์ลิขสิทธิ์
- VCS_HOME: ต้องชี้ไปที่ตำแหน่งโฮมไดเร็กทอรีของการติดตั้ง VCS
- เส้นทาง: ต้องมีตัวชี้ไปยังไดเร็กทอรี bin ด้านล่างไดเร็กทอรี VCS_HOME
6.2 ดาวน์โหลดไลบรารีที่คอมไพล์แล้ว (ถามคำถาม)
ดาวน์โหลดไลบรารีสำหรับ Synopsys VCS จาก Microsemi's webเว็บไซต์.
6.3 สคริปต์การจำลอง VCS File (ถามคำถาม)
หลังจากตั้งค่า VCS และสร้างการออกแบบและ run.do ต่างๆ แล้ว fileจาก Libero SoC คุณต้อง:
- สร้างการแมปห้องสมุด file synopsys_sim.setup; นี้ file มีพอยน์เตอร์ไปยังตำแหน่งของไลบรารีทั้งหมดที่จะใช้โดยการออกแบบ
สำคัญ: The file ชื่อจะต้องไม่เปลี่ยนแปลงและจะต้องอยู่ในไดเร็กทอรีเดียวกับที่การจำลองกำลังทำงานอยู่ นี่คืออดีตample สำหรับเช่น file สำหรับการจำลองการสังเคราะห์ล่วงหน้า
งาน > ข้อผิดพลาด
SmartFusion2 :
พรีซินธ์ : ./presynth
ค่าเริ่มต้น : ./work - สร้างสรรค์ดีไซน์ที่แตกต่าง fileรวมถึง testbench โดยใช้คำสั่ง vlogan ใน VCS คำสั่งเหล่านี้อาจรวมอยู่ในเชลล์สคริปต์ file. ต่อไปนี้คือแฟนเก่าample ของคำสั่งที่จำเป็นในการอธิบายการออกแบบที่กำหนดไว้ใน rtl.v โดยมี testbench ที่กำหนดไว้ใน
ทดสอบม้านั่ง.v.
vlogan +v2k -งาน presynth rtl.v
vlogan +v2k -งานทดสอบ presynth.v - รวบรวมการออกแบบโดยใช้ VCS โดยใช้คำสั่งต่อไปนี้
vcs –sim_res=1fs ทดสอบก่อนการสังเคราะห์
หมายเหตุ: The ต้องตั้งค่าความละเอียดของเวลาในการจำลองเป็น 1fs เพื่อการจำลองการทำงานที่ถูกต้อง - เมื่อคอมไพล์การออกแบบแล้ว ให้เริ่มการจำลองโดยใช้คำสั่งต่อไปนี้
./ซิมวี - สำหรับการจำลองที่มีคำอธิบายประกอบด้านหลัง คำสั่ง VCS จะต้องเป็นไปตามที่แสดงใน codeblock ต่อไปนี้
vcs postlayout.testbench –sim_res=1fs –sdf max:.<อินสแตนซ์ DUT
ชื่อ>:<sdf file เส้นทาง> –gui –l postlayout.log
6.4 ข้อจำกัด/ข้อยกเว้น (ถามคำถาม)
ต่อไปนี้เป็นข้อจำกัด/ข้อยกเว้นของการตั้งค่า Synopsys VCS
- การจำลอง VCS สามารถทำงานได้เฉพาะกับโปรเจ็กต์ Verilog ของ Libero SoC เท่านั้น เครื่องจำลอง VCS มีข้อกำหนดภาษา VHDL ที่เข้มงวดซึ่ง VHDL ที่สร้างขึ้นอัตโนมัติของ Libero SoC ไม่ตรงตามข้อกำหนด files.
- คุณต้องมีคำสั่ง $finish ใน Verilog testbench เพื่อหยุดการจำลองทุกครั้งที่คุณต้องการ
สำคัญ: เมื่อใด การจำลองทำงานในโหมด GUI สามารถระบุเวลารันได้ใน GUI
6.5 วินาทีampเลอ Tcl และเชลล์สคริปต์ Fileส (ถามคำถาม)
Perl ต่อไปนี้จะสร้าง synopsys_sim.setup โดยอัตโนมัติ file เช่นเดียวกับเชลล์สคริปต์ที่เกี่ยวข้อง fileจำเป็นต้องอธิบาย รวบรวม และจำลองการออกแบบ
หากการออกแบบใช้ MSS ให้คัดลอก test.vec file อยู่ในโฟลเดอร์จำลองของโครงการ Libero SoC ลงในโฟลเดอร์จำลอง VCS ส่วนต่อไปนี้ประกอบด้วย sampเลอรัน.โด fileที่สร้างโดย Libero SoC รวมถึงการแมปไลบรารีและเชลล์สคริปต์ที่เกี่ยวข้อง fileจำเป็นสำหรับการจำลอง VCS
6.5.1 ก่อนการสังเคราะห์ (ถามคำถาม)
พรีซินท์_รัน.ดู
ตั้งค่า ACTALLIBNAME SmartFusion2 อย่างเงียบๆ
ตั้งค่า PROJECT_DIR “/sqa/users/me/VCS_Tests/Test_DFF” อย่างเงียบๆ
ถ้า {[file มีอยู่แล้ว presynth/_info]} {
echo “ข้อมูล: ไลบรารีการจำลองมีอยู่แล้ว”
} อื่น {
vlib นำเสนอ
}
วีแมป พรีซินท์ พรีซินท์
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
vlog - งานนำเสนอ “${PROJECT_DIR}/component/work/SD1/SD1.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -งานก่อนหน้า “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
เพิ่มเวฟ /SD1_TB1/*
เพิ่มบันทึก -r /*
วิ่ง 1000ns
พรีซินธ์_เมน.csh
#!/bin/csh -f
ตั้ง PROJECT_DIR = “/sqa/users/Me/VCS_Tests/Test_DFF”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k - งาน presynth “${PROJECT_DIR}/component/
เวิร์ค/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -งาน
สังเคราะห์ “${PROJECT_DIR}/stimulus/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs presynth.SD1_TB1 -l คอมไพล์.log
./simv -l รันไฟล์บันทึก
การตั้งค่า Synopsys_sim
งาน > ค่าเริ่มต้น
SmartFusion2 : /VCS/SmartFusion2
พรีซินธ์ : ./presynth
ค่าเริ่มต้น : ./work
6.5.2 หลังการสังเคราะห์ (ถามคำถาม)
โพสต์ซินธ์_รัน.โด
ตั้งค่า ACTALLIBNAME SmartFusion2 อย่างเงียบๆ
ตั้งค่า PROJECT_DIR “/sqa/users/Me/VCS_Tests/Test_DFF” อย่างเงียบๆ
ถ้า {[file มีอยู่แล้ว postsynth/_info]} {
echo “ข้อมูล: ไลบรารีการจำลอง postynth มีอยู่แล้ว”
} อื่น {
vlib โพสต์ซินธ์
}
vmap โพสซินธ์ โพสซินธ์
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
สมาร์ทฟิวชั่น2”
vlog -งานโพสต์ซินธ์ “${PROJECT_DIR}/synthetic/SD1.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -งานโพสต์สังเคราะห์ “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L โพสต์ซินธ์ -t 1fs โพสต์ซินธ์.SD1_TB1
เพิ่มเวฟ /SD1_TB1/*
เพิ่มบันทึก -r /*
วิ่ง 1000ns
บันทึก SD1_TB1/*
ทางออก
Postynth_main.csh
#!/bin/csh -f
ตั้ง PROJECT_DIR = “/sqa/users/Me/VCS_Tests/Test_DFF”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -งานโพสต์ซินธ์ “${PROJECT_DIR}/synthetic/
“SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -งาน
โพสต์ซินธ์ “${PROJECT_DIR}/stimulus/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postsynth.SD1_TB1 -l คอมไพล์.log
./simv -l รันไฟล์บันทึก
การตั้งค่า Synopsys_sim
งาน > ค่าเริ่มต้น
SmartFusion2 : /VCS/SmartFusion2
โพสต์ซินธ์ : ./postsynth
ค่าเริ่มต้น : ./work
6.5.3 หลังเค้าโครง (ถามคำถาม)
การโพสต์เลย์เอาต์_รัน.ทำ
ตั้งค่า ACTALLIBNAME SmartFusion2 อย่างเงียบๆ
ตั้งค่า PROJECT_DIR “E:/ModelSim_Work/Test_DFF” อย่างเงียบๆ
ถ้า {[file มีอยู่ ../designer/SD1/simulation/postlayout/_info]} {
echo “ข้อมูล: ไลบรารีการจำลอง ../designer/SD1/simulation/postlayout มีอยู่แล้ว”
} อื่น {
vlib ../นักออกแบบ/SD1/จำลอง/postlayout
}
vmap โพสต์เลย์เอาต์ ../designer/SD1/simulation/postlayout
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
สมาร์ทฟิวชั่น2”
vlog - เค้าโครงหลังงาน “${PROJECT_DIR}/designer/SD1/SD1_ba.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -เค้าโครงหลังงาน “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L เค้าโครงหลัง -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/designer/SD1/
SD1_ba.sdf เลย์เอาต์หลัง SD1_TB1
เพิ่มเวฟ /SD1_TB1/*
เพิ่มบันทึก -r /*
วิ่ง 1000ns
โพสเลย์เอาต์_เมน.csh
#!/bin/csh -f
ตั้ง PROJECT_DIR = “/VCS_Tests/Test_DFF”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k - เค้าโครงหลังงาน “${PROJECT_DIR}/
ผู้ออกแบบ/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -งาน
เค้าโครงหลัง “${PROJECT_DIR}/stimulus/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs การจัดวางภายหลัง.SD1_TB1 -sdf
max:SD1_TB1.SD1_0:${PROJECT_DIR}/designer/SD1/SD1_ba.sdf -l compile.log
./simv -l รันไฟล์บันทึก
การตั้งค่า Synopsys_sim
งาน > ค่าเริ่มต้น
SmartFusion2 : /VCS/SmartFusion2
โพสเลย์เอาต์ : ./postlayout
ค่าเริ่มต้น : ./workVCS
6.6 ระบบอัตโนมัติ (ถามคำถาม)
โฟลว์สามารถเป็นแบบอัตโนมัติได้โดยใช้สคริปต์ Perl ต่อไปนี้ file เพื่อแปลง ModelSim run.do fileลงในเชลล์สคริปต์ที่เข้ากันได้กับ VCS fileสร้างไดเร็กทอรีที่เหมาะสมภายในไดเร็กทอรีการจำลอง Libero SoC จากนั้นรันการจำลอง
เรียกใช้สคริปต์ file โดยใช้ไวยากรณ์ต่อไปนี้
perl vcs_parse.pl presynth_run.do โพสต์ซินธ์_run.do postlayout_run.do
วีซีเอส_พาร์ส_พีแอล
#!/usr/bin/perl -w
-
#
#การใช้งาน: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
-
ของฉัน ($presynth, $postsynth, $postlayout) = @ARGV;
if(system("mkdir VCS_Presynth")) {พิมพ์ "mkdir ล้มเหลว:\n";}
if(system("mkdir VCS_Postsynth")) {พิมพ์ "mkdir ล้มเหลว:\n";}
if(system("mkdir VCS_Postlayout")) {พิมพ์ "mkdir ล้มเหลว:\n";}
chdir(VCS_Presynth);
`ซีพี ../$ARGV[0] .` ;
&parse_do($presynth,”presynth”);
ชเดียร์ (“../”);
chdir(VCS_Postsynth);
`ซีพี ../$ARGV[1] .` ;
&parse_do($postsynth,”postsynth”);
ชเดียร์ (“../”);
chdir(VCS_Postlayout);
`ซีพี ../$ARGV[2] .` ;
&parse_do($postlayout,”postlayout”);
ชเดียร์ (“../”);
ย่อย parse_do {
$vlog ของฉัน = “/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k” ;
%LIB ของฉัน = ();
$ ของฉันfile = $_[0] ;
$state ของฉัน = $_[1];
เปิดFILE”$file”) || ตาย “เปิดไม่ได้ File เหตุผลอาจเป็น:$!”;
ถ้า ( $state eq “presynth” )
{
เปิด (OUT1,”>presynth_main.csh”) || ตาย “ไม่สามารถสร้างคำสั่งได้ File เหตุผลอาจเป็น:$!”;
}
elsif ( $ state eq “postsynth” )
{
เปิด (OUT1,”>postsynth_main.csh”) || ตาย “ไม่สามารถสร้างคำสั่งได้ File เหตุผลอาจเป็น:$!”;
}
elsif ( $state eq “ภายหลังเค้าโครง” )
{
เปิด (OUT1,”>postlayout_main.csh”) || ตาย “ไม่สามารถสร้างคำสั่งได้ File เหตุผลอาจเป็น:$!”;
}
อื่น
{
พิมพ์ “สถานะการจำลองหายไป \n” ;
}
เปิด (OUT2,”>sinopsys_sim.setup”) || ตาย “ไม่สามารถสร้างคำสั่งได้ File เหตุผลอาจเป็น:$!”;
# .csh file
พิมพ์ OUT1 “#!/bin/csh -f\n\n\n” ;
#ติดตั้ง FILE
พิมพ์ OUT2 “งาน > ค่าเริ่มต้น\n” ;
พิมพ์ OUT2 “SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n” ;
ในขณะที่ ($เส้น = <INFILE>)
{
การตั้งค่า Synopsys VCS
ถ้า ($line =~ m/ตั้ง PROJECT_DIR\s+\”(.*?)\”/) อย่างเงียบๆ
{
พิมพ์ OUT1 “set PROJECT_DIR = \”$1\”\n\n\n” ;
}
มิฉะนั้น ( $line =~ m/vlog.*\.v\”/ )
{
ถ้า ($line =~ m/\s+(\w*?)\_LIB/)
{
#พิมพ์ “\$1 =$1 \n” ;
$temp = “$1″.”_LIB”;
#print “อุณหภูมิ = $อุณหภูมิ \n” ;
$LIB{$อุณหภูมิ}++;
}
chomp($เส้น);
$line =~ s/^vlog/$vlog/ ;
เส้น =~ s/ //g;
พิมพ์ OUT1 “$line\n”;
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1 ;
$tb =~ วินาที/ // กรัม;
ชอมป์($tb);
#print “ชื่อ TB : $tb \n”;
ถ้า ( $line =~ m/sdf(.*)\.sdf/)
{
chomp($เส้น);
$ไลน์ = $1 ;
#พิมพ์ “LINE : $line \n” ;
ถ้า ($เส้น =~ m/สูงสุด/)
{
$line =~ s/max \/// ;
$เส้น =~ s/=/:/;
พิมพ์ OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
สูงสุด:$tb.$line.sdf -l คอมไพล์.log\n” ;
}
elsif ($เส้น =~ เมตร/นาที/)
{
$line =~ s/นาที \/// ;
$เส้น =~ s/=/:/;
พิมพ์ OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
นาที:$tb.$line.sdf -l คอมไพล์.log\n” ;
}
elsif ($เส้น =~ m/typ/)
{
$line =~ s/typ \/// ;
$เส้น =~ s/=/:/;
พิมพ์ OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
ประเภท:$tb.$line.sdf -l คอมไพล์.log\n” ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — รูปแบบ ModelSim SDF
#$sdf = “-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf”; -วีซีเอส
รูปแบบ SDF
}
}
}
พิมพ์
ออก1 “\n\n”
;
if
($state eq “พรีซินธ์”
)
{
พิมพ์
OUT2 “ปัจจุบัน
: ./พรีซินธ์\n”
;
พิมพ์
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs ก่อนการสังเคราะห์$tb -l
คอมไพล์.log\n”
;
}
เอลซิฟ
( $ state eq “postsynth”
)
{
พิมพ์
OUT2 “โพสต์ซินธ์
: ./โพสต์ซินธ์\n”
;
พิมพ์
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs โพสต์ซินธ์.$tb -l
คอมไพล์.log\n”
;
}
เอลซิฟ
( $state eq “ภายหลังการจัดวาง”
)
{
พิมพ์ OUT2 “postlayout : ./postlayout\n” ;
}
อื่น
{
พิมพ์ “สถานะการจำลองหายไป \n” ;
}
foreach $i ( คีย์ %LIB)
{
#print “คีย์ : $i ค่า : $LIB{$i} \n” ;
พิมพ์ OUT2 “$i : ./$i\n” ;
}
พิมพ์ OUT1 “\n\n” ;
พิมพ์ OUT1 “./simv -l run.log\n” ;
พิมพ์ OUT2 “ค่าเริ่มต้น : ./work\n” ;
ปิดในFILE;
ปิด OUT1;
ปิด OUT2;
}
ประวัติการแก้ไข (เข้าสู่ระบบไมโครชิป
ประวัติการแก้ไขจะอธิบายการเปลี่ยนแปลงที่นำมาใช้ในเอกสาร การเปลี่ยนแปลง
แสดงรายการตามการแก้ไข โดยเริ่มจากสิ่งพิมพ์ล่าสุด
การแก้ไข | วันที่ | คำอธิบาย |
A | 12/2023 | มีการเปลี่ยนแปลงต่อไปนี้ในการแก้ไขนี้: • แปลงเอกสารเป็นเทมเพลต Microchip การแก้ไขเบื้องต้น • อัปเดตส่วนที่ 5 การตั้งค่า Siemens QuestaSim/การตั้งค่า ModelSim เพื่อรวมบันทึกใหม่ที่อธิบายผลกระทบต่อการมองเห็นระหว่างการจำลองและการปรับให้เหมาะสม |
รองรับ Microchip FPGA
กลุ่มผลิตภัณฑ์ Microchip FPGA สนับสนุนผลิตภัณฑ์ด้วยบริการสนับสนุนต่างๆ รวมถึงการบริการลูกค้า ศูนย์สนับสนุนด้านเทคนิคสำหรับลูกค้า a webเว็บไซต์และสำนักงานขายทั่วโลก
ขอแนะนำให้ลูกค้าเยี่ยมชมแหล่งข้อมูลออนไลน์ของ Microchip ก่อนที่จะติดต่อฝ่ายสนับสนุน เนื่องจากมีแนวโน้มสูงว่าข้อซักถามของพวกเขาจะได้รับคำตอบแล้ว
ติดต่อศูนย์บริการทางเทคนิคผ่าน webไซต์ที่ www.microchip.com/support. ระบุหมายเลขชิ้นส่วนอุปกรณ์ FPGA เลือกหมวดหมู่เคสที่เหมาะสม และอัปโหลดการออกแบบ fileขณะสร้างกรณีการสนับสนุนทางเทคนิค
ติดต่อฝ่ายบริการลูกค้าสำหรับการสนับสนุนผลิตภัณฑ์ที่ไม่ใช่ด้านเทคนิค เช่น ราคาผลิตภัณฑ์ การอัพเกรดผลิตภัณฑ์ ข้อมูลอัปเดต สถานะการสั่งซื้อ และการอนุญาต
- จากอเมริกาเหนือ โทร 800.262.1060
- จากส่วนอื่นของโลก โทร 650.318.4460
- แฟกซ์จากทุกที่ในโลก 650.318.8044
ข้อมูลไมโครชิป
ไมโครชิป Webเว็บไซต์
Microchip ให้การสนับสนุนออนไลน์ผ่านของเรา webไซต์ที่ www.ไมโครชิป.com/. นี้ webเว็บไซต์นี้ใช้ในการทำ fileและข้อมูลที่ลูกค้าเข้าถึงได้ง่าย เนื้อหาบางส่วนที่เข้าถึงได้ ได้แก่:
- การสนับสนุนผลิตภัณฑ์ – แผ่นข้อมูลและข้อผิดพลาด บันทึกการใช้งาน และ sampโปรแกรม ทรัพยากรการออกแบบ คู่มือผู้ใช้ และเอกสารสนับสนุนฮาร์ดแวร์ ซอฟต์แวร์รุ่นล่าสุด และซอฟต์แวร์ที่เก็บถาวร
- การสนับสนุนทางเทคนิคทั่วไป – คำถามที่พบบ่อย (FAQs), คำขอการสนับสนุนทางเทคนิค, กลุ่มสนทนาออนไลน์, รายชื่อสมาชิกโปรแกรมพันธมิตรการออกแบบของ Microchip
- ธุรกิจของไมโครชิป – คู่มือการเลือกผลิตภัณฑ์และการสั่งซื้อ ข่าวประชาสัมพันธ์ล่าสุดของไมโครชิป รายชื่องานสัมมนาและงานต่างๆ รายชื่อสำนักงานขาย ผู้จัดจำหน่าย และตัวแทนโรงงาน
บริการแจ้งการเปลี่ยนแปลงผลิตภัณฑ์
บริการแจ้งเตือนการเปลี่ยนแปลงผลิตภัณฑ์ของไมโครชิปช่วยให้ลูกค้าทราบถึงผลิตภัณฑ์ของไมโครชิปในปัจจุบัน สมาชิกจะได้รับการแจ้งเตือนทางอีเมลทุกครั้งที่มีการเปลี่ยนแปลง อัปเดต การแก้ไข หรือข้อผิดพลาดที่เกี่ยวข้องกับตระกูลผลิตภัณฑ์ที่ระบุหรือเครื่องมือการพัฒนาที่สนใจ
หากต้องการลงทะเบียนให้ไปที่ www.ไมโครชิป.com/pcn และปฏิบัติตามคำแนะนำในการลงทะเบียน
การสนับสนุนลูกค้า
ผู้ใช้ผลิตภัณฑ์ Microchip สามารถรับความช่วยเหลือได้ผ่านช่องทางต่างๆ:
- ตัวแทนจำหน่ายหรือตัวแทน
- สำนักงานขายในพื้นที่
- วิศวกรโซลูชันเอ็มเบ็ดเด็ด (ESE)
- การสนับสนุนด้านเทคนิค
ลูกค้าควรติดต่อตัวแทนจำหน่าย ตัวแทน หรือ ESE เพื่อขอรับการสนับสนุน นอกจากนี้ ยังมีสำนักงานขายในพื้นที่เพื่อให้ความช่วยเหลือลูกค้าอีกด้วย รายชื่อสำนักงานขายและสถานที่ตั้งต่างๆ รวมอยู่ในเอกสารนี้
การสนับสนุนด้านเทคนิคพร้อมให้บริการผ่าน webเว็บไซต์อยู่ที่: www.microchip.com/support
คุณสมบัติการป้องกันรหัสอุปกรณ์ไมโครชิป
โปรดทราบรายละเอียดต่อไปนี้เกี่ยวกับคุณลักษณะการป้องกันรหัสบนผลิตภัณฑ์ Microchip:
- ผลิตภัณฑ์ Microchip ตรงตามข้อกำหนดที่ระบุไว้ในแผ่นข้อมูล Microchip เฉพาะของตน
- Microchip เชื่อว่ากลุ่มผลิตภัณฑ์ของตนจะปลอดภัยเมื่อใช้ตามลักษณะที่ต้องการ ภายใต้ข้อกำหนดการทำงาน และภายใต้เงื่อนไขปกติ
- คุณค่าของไมโครชิปและปกป้องสิทธิ์ในทรัพย์สินทางปัญญาอย่างจริงจัง การพยายามละเมิดคุณสมบัติการป้องกันโค้ดของผลิตภัณฑ์ไมโครชิปถือเป็นสิ่งต้องห้ามโดยเด็ดขาด และอาจละเมิดกฎหมาย Digital Millennium Copyright Act
- ทั้งไมโครชิปและผู้ผลิตเซมิคอนดักเตอร์รายอื่นไม่สามารถรับประกันความปลอดภัยของรหัสของตนได้ การปกป้องรหัสไม่ได้หมายความว่าเรารับประกันว่าผลิตภัณฑ์ "ไม่แตกหัก"
การปกป้องโค้ดมีการพัฒนาอย่างต่อเนื่อง Microchip มุ่งมั่นที่จะปรับปรุงคุณสมบัติการป้องกันโค้ดของผลิตภัณฑ์ของเราอย่างต่อเนื่อง
ประกาศทางกฎหมาย
สิ่งพิมพ์และข้อมูลในที่นี้สามารถใช้ได้เฉพาะกับผลิตภัณฑ์ของไมโครชิป ซึ่งรวมถึงการออกแบบ ทดสอบ และผสานรวมผลิตภัณฑ์ของไมโครชิปเข้ากับแอปพลิเคชันของคุณ การใช้ข้อมูลนี้ในลักษณะอื่นใดถือเป็นการละเมิดข้อกำหนดเหล่านี้ ข้อมูลเกี่ยวกับแอปพลิเคชันของอุปกรณ์มีให้เพื่อความสะดวกของคุณเท่านั้นและอาจถูกแทนที่ด้วยการอัปเดต เป็นความรับผิดชอบของคุณที่จะต้องตรวจสอบให้แน่ใจว่าใบสมัครของคุณตรงตามข้อกำหนดของคุณ ติดต่อสำนักงานขายของ Microchip ในพื้นที่ของคุณเพื่อขอรับการสนับสนุนเพิ่มเติม หรือขอรับการสนับสนุนเพิ่มเติมที่ www.microchip.com/en-us/support/design-help/client-support-services.
ข้อมูลนี้จัดทำโดย MICROCHIP "ตามที่เป็น" MICROCHIP ไม่รับรองหรือรับประกันใดๆ ไม่ว่าจะโดยชัดแจ้งหรือโดยนัย เป็นลายลักษณ์อักษรหรือวาจา ตามกฎหมายหรืออย่างอื่นใดที่เกี่ยวข้องกับข้อมูล รวมถึงแต่ไม่จำกัดเฉพาะการรับประกันโดยนัยของการไม่ละเมิด ความสามารถในการขาย และความเหมาะสมสำหรับจุดประสงค์เฉพาะ หรือการรับประกันที่เกี่ยวข้องกับเงื่อนไข คุณภาพ หรือประสิทธิภาพ
ในกรณีใดๆ MICROCHIP จะไม่รับผิดชอบต่อการสูญเสีย ความเสียหาย ค่าใช้จ่าย หรือค่าใช้จ่ายใดๆ อันเป็นทางอ้อม พิเศษ เป็นการลงโทษ โดยบังเอิญ หรือเป็นผลสืบเนื่อง ไม่ว่าประเภทใดก็ตามที่เกี่ยวข้องกับข้อมูลหรือการใช้งาน ไม่ว่าจะเกิดจากสาเหตุใดก็ตาม แม้ว่า MICROCHIP จะได้รับแจ้งถึงความเป็นไปได้หรือความเสียหายที่คาดการณ์ได้ก็ตาม ในขอบเขตสูงสุดที่กฎหมายอนุญาต ความรับผิดทั้งหมดของ MICROCHIP ต่อการเรียกร้องใดๆ ก็ตามที่เกี่ยวข้องกับข้อมูลหรือการใช้งานนั้นจะไม่เกินจำนวนค่าธรรมเนียม (ถ้ามี) ที่คุณได้ชำระโดยตรงกับ MICROCHIP สำหรับข้อมูลดังกล่าว
การใช้เครื่องมือไมโครชิปในการช่วยชีวิตและ/หรือการใช้งานด้านความปลอดภัยเป็นความเสี่ยงของผู้ซื้อโดยสิ้นเชิง และผู้ซื้อตกลงที่จะปกป้อง ชดเชย และทำให้ไมโครชิปไม่ต้องรับผิดใดๆ จากความเสียหาย การเรียกร้อง การฟ้องร้อง หรือค่าใช้จ่ายใดๆ ทั้งสิ้นที่เกิดจากการใช้งานดังกล่าว จะไม่มีการให้ใบอนุญาตใดๆ ไม่ว่าโดยปริยายหรือด้วยวิธีอื่นใด ภายใต้สิทธิ์ในทรัพย์สินทางปัญญาของไมโครชิป เว้นแต่จะระบุไว้เป็นอย่างอื่น
เครื่องหมายการค้า
ชื่อและโลโก้ของ Microchip, โลโก้ Microchip, Adaptec, AVR, โลโก้ AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, โลโก้ Microsemi, MOST, โลโก้ MOST, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, โลโก้ PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, โลโก้ SST, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, TinyAVR, UNI/O, Vectron และ XMEGA เป็นเครื่องหมายการค้าจดทะเบียนของ Microchip Technology Incorporated ในสหรัฐอเมริกาและประเทศอื่นๆ
AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, โลโก้ ProASIC Plus, Quiet-Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime และ ZL เป็นเครื่องหมายการค้าจดทะเบียนของ Microchip Technology Incorporated ในสหรัฐอเมริกา
การลดคีย์ที่อยู่ติดกัน, AKS, อะนาล็อกสำหรับยุคดิจิตอล, ตัวเก็บประจุใดๆ, AnyIn, AnyOut, การสลับที่เพิ่มขึ้น, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, การจับคู่เฉลี่ยแบบไดนามิก , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, การเขียนโปรแกรมแบบอนุกรมในวงจร, ICSP, INICnet, การต่อขนานอัจฉริยะ, IntelliMOS, การเชื่อมต่อระหว่างชิป, JitterBlocker, Knob-on-Display, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, โลโก้ที่ผ่านการรับรอง MPLAB, MPLIB, MPLINK, MultiTRAK, NetDetach, การสร้างรหัสรอบรู้, PICDEM, PICDEM.net,
PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAMICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher,
SuperSwitcher II, Switchtec, SynchroPHY, ความอดทนทั้งหมด, เวลาที่เชื่อถือได้, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect และ ZENA เป็นเครื่องหมายการค้าของ ไมโครชิป เทคโนโลยี อินคอร์ปอเรเต็ด
ในสหรัฐอเมริกาและประเทศอื่นๆ
SQTP เป็นเครื่องหมายบริการของ Microchip Technology Incorporated ในสหรัฐอเมริกา
โลโก้ Adaptec, Frequency on Demand, Silicon Storage Technology และ Symmcom เป็นเครื่องหมายการค้าจดทะเบียนของ Microchip Technology Inc. ในประเทศอื่นๆ
GestIC เป็นเครื่องหมายการค้าจดทะเบียนของ Microchip Technology Germany II GmbH & Co. KG ซึ่งเป็นบริษัทในเครือของ Microchip Technology Inc. ในประเทศอื่นๆ
เครื่องหมายการค้าอื่น ๆ ทั้งหมดที่กล่าวถึงในที่นี้เป็นทรัพย์สินของบริษัทที่เกี่ยวข้อง
© 2023, Microchip Technology Incorporated และบริษัทในเครือ สงวนลิขสิทธิ์.
ISBN: 978-1-6683-3694-6
ระบบการจัดการคุณภาพ
สำหรับข้อมูลเกี่ยวกับระบบการจัดการคุณภาพของ Microchip โปรดไปที่ www.microchip.com/quality.
อเมริกา | เอเชีย/แปซิฟิก | เอเชีย/แปซิฟิก | ยุโรป |
สำนักงานใหญ่ 2355 เวสต์แชนด์เลอร์บูเลอวาร์ด แชนด์เลอร์ AZ 85224-6199 โทร: 480-792-7200 โทรสาร: 480-792-7277 การสนับสนุนด้านเทคนิค: www.microchip.com/support Web ที่อยู่: www.ไมโครชิป.คอม แอตแลนตา ดูลูธ, จอร์เจีย โทร: 678-957-9614 โทรสาร: 678-957-1455 ออสติน, เท็กซัส โทร: 512-257-3370 บอสตัน เวสต์โบโรห์, แมสซาชูเซตส์ โทร: 774-760-0087 โทรสาร: 774-760-0088 ชิคาโก อิตาสกา อิลลินอยส์ โทร: 630-285-0071 โทรสาร: 630-285-0075 ดัลลาส แอดดิสันเท็กซัส โทร: 972-818-7423 โทรสาร: 972-818-2924 ดีทรอยต์ โนวี มิชิแกน โทร: 248-848-4000 ฮูสตัน, เท็กซัส โทร: 281-894-5983 อินเดียนาโพลิส โนเบิลส์วิลล์, อินเดียน่า โทร: 317-773-8323 โทรสาร: 317-773-5453 โทร: 317-536-2380 ลอสแองเจลีส มิชชัน วีโฮ แคลิฟอร์เนีย โทร: 949-462-9523 โทรสาร: 949-462-9608 โทร: 951-273-7800 ราลีห์, นอร์ทแคโรไลนา โทร: 919-844-7510 นิวยอร์ก, นิวยอร์ก โทร: 631-435-6000 ซานโฮเซ แคลิฟอร์เนีย โทร: 408-735-9110 โทร: 408-436-4270 แคนาดา – โตรอนโต โทร: 905-695-1980 โทรสาร: 905-695-2078 | ออสเตรเลีย – ซิดนีย์ โทร : 61-2-9868-6733 ประเทศจีน – ปักกิ่ง โทร : 86-10-8569-7000 จีน – เฉิงตู โทร : 86-28-8665-5511 ประเทศจีน – ฉงชิ่ง โทร : 86-23-8980-9588 จีน – ตงกวน โทร : 86-769-8702-9880 ประเทศจีน – กว่างโจว โทร : 86-20-8755-8029 จีน – หางโจว โทร : 86-571-8792-8115 จีน – ฮ่องกง SAR โทร: 852-2943-5100 จีน – หนานจิง โทร : 86-25-8473-2460 จีน – ชิงเต่า โทร : 86-532-8502-7355 ประเทศจีน – เซี่ยงไฮ้ โทร : 86-21-3326-8000 จีน – เสิ่นหยาง โทร : 86-24-2334-2829 จีน – เซินเจิ้น โทร : 86-755-8864-2200 จีน – ซูโจว โทร : 86-186-6233-1526 จีน – หวู่ฮั่น โทร : 86-27-5980-5300 จีน – ซีอาน โทร : 86-29-8833-7252 จีน – เซียะเหมิน โทร: 86-592-2388138 จีน – จูไห่ โทร: 86-756-3210040 | อินเดีย – บังกาลอร์ โทร : 91-80-3090-4444 อินเดีย – นิวเดลี โทร : 91-11-4160-8631 อินเดีย – ปูเน่ โทร : 91-20-4121-0141 ญี่ปุ่น – โอซาก้า โทร : 81-6-6152-7160 ญี่ปุ่น – โตเกียว โทร: 81-3-6880-3770 เกาหลี – แดกู โทร : 82-53-744-4301 เกาหลี – โซล โทร : 82-2-554-7200 มาเลเซีย - กัวลาลัมเปอร์ โทร : 60-3-7651-7906 มาเลเซีย – ปีนัง โทร : 60-4-227-8870 ฟิลิปปินส์ – มะนิลา โทร : 63-2-634-9065 สิงคโปร์ โทร: 65-6334-8870 ไต้หวัน – Hsin Chu โทร : 886-3-577-8366 ไต้หวัน – เกาสง โทร : 886-7-213-7830 ไต้หวัน – ไทเป โทร : 886-2-2508-8600 ประเทศไทย – กรุงเทพมหานคร โทร : 66-2-694-1351 เวียดนาม – โฮจิมินห์ โทร : 84-28-5448-2100 | ออสเตรีย – เวลส์ โทร : 43-7242-2244-39 แฟกซ์ : 43-7242-2244-393 เดนมาร์ก – โคเปนเฮเกน โทร: 45-4485-5910 โทรสาร : 45-4485-2829 ฟินแลนด์ – เอสโป โทร : 358-9-4520-820 ฝรั่งเศส – ปารีส Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 เยอรมนี – การชิง โทร: 49-8931-9700 เยอรมนี – ฮาน โทร: 49-2129-3766400 เยอรมนี – ไฮลบรอนน์ โทร: 49-7131-72400 เยอรมนี – คาร์ลสรูเฮอ โทร: 49-721-625370 เยอรมนี – มิวนิค Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 เยอรมนี – โรเซนไฮม์ โทร : 49-8031-354-560 อิสราเอล – ราอานานา โทร : 972-9-744-7705 อิตาลี – มิลาน โทร: 39-0331-742611 โทรสาร : 39-0331-466781 อิตาลี – ปาโดวา โทร: 39-049-7625286 เนเธอร์แลนด์ – ดรูเนน โทร: 31-416-690399 โทรสาร : 31-416-690340 นอร์เวย์ – ทรอนด์เฮม โทร : 47-72884388 โปแลนด์ – วอร์ซอ โทร: 48-22-3325737 โรมาเนีย – บูคาเรสต์ Tel: 40-21-407-87-50 สเปน – มาดริด Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 สวีเดน – โกเธนเบิร์ก Tel: 46-31-704-60-40 สวีเดน – สตอกโฮล์ม โทร : 46-8-5090-4654 สหราชอาณาจักร – วอคกิ้งแฮม โทร : 44-118-921-5800 แฟกซ์ : 44-118-921-5820 |
© 2023 Microchip Technology Inc. และบริษัทสาขา
DS50003627A –
เอกสาร / แหล่งข้อมูล
![]() | ซอฟต์แวร์ไลบรารีการจำลอง SoC ของ MICROCHIP Libero [พีดีเอฟ] คู่มือการใช้งาน DS50003627A, ซอฟต์แวร์ไลบรารีการจำลอง Libero SoC, ซอฟต์แวร์ไลบรารีการจำลอง SoC, ซอฟต์แวร์ไลบรารีการจำลอง, ซอฟต์แวร์ไลบรารี, ซอฟต์แวร์ |