ICC LAB 实验指导:数字技术设计服务

需积分: 5 4 下载量 42 浏览量 更新于2024-07-09 收藏 1.57MB PDF 举报
“ICC LAB” 本资源是一份关于集成电路(IC)设计的实验指导文档,主要涉及使用ICCompiler工具进行芯片实现。实验环境主要是UNIX系统,其中涵盖了从设计准备到物理验证的多个步骤。实验文件组织结构清晰,包含了设计数据、约束文件、技术文件以及参考库等关键组件。 1. 设计数据:实验设计数据包含了一个门级网表文件(CHIP_syn.v),这是经过逻辑综合后的电路描述,用于后续布局布线阶段。 2. 输入/输出(IO)约束文件(io.tdf):此文件定义了设计的输入和输出接口,包括信号的电平、时序和方向等信息,确保设计满足实际应用的IO需求。 3. 时序约束文件(CHIP.sdc):这个文件设置了设计的时序目标和限制,如最大延迟、最小周期等,用于优化性能。 4. 扫描定义文件(CHIP.scandef):用于实现测试向量的插入和扫描链的建立,方便芯片的测试和调试。 5. 技术文件(tsmc090_9lm_2thick.tf):这是特定工艺节点(例如TSMC 0.09微米)的技术文件,提供了工艺规则和库信息,用于指导设计实现。 6. 层映射文件(macro.map):定义了设计中的不同逻辑单元与实际制造层之间的映射关系,帮助布局工具理解如何在物理层面上实现设计。 7. 安全间距规则文件(antenna_9lm_CIC.clf):包含了防止短路和过载电流的天线规则,确保设计的电气稳定性。 8. 参考库:实验包含了多种参考库,如内存库(nco_table_cos, nco_table_log)、核心库(tsmc090g, tsmc090gthvt)和IO库(tpzn90gv3, tpbn90gv),这些库提供了预先设计的宏单元,可以快速集成到设计中。 9. TLU+数据(~/icc_lab/Lab1/tluplus/):TLU+是一种时序分析的数据格式,用于更精确的时序分析和优化。 10. 脚本文件(~/icc_lab/Lab1/scripts/):包含了实验过程中使用的自动化脚本,用于执行设计流程的不同步骤,如编译、布局布线和检查等。 11. 物理验证目录(~/icc_/):该目录可能包含用于检查设计物理实现的规则检查(DRC)和电气规则检查(LVS)工具和配置。 通过这个实验,学生将学习如何使用ICCompiler工具链进行完整的数字IC设计流程,包括输入设计数据、设置约束、利用参考库、执行物理实现以及进行后处理的验证,这有助于理解和掌握现代集成电路设计的关键步骤。

select * from ( select row_.*, rownum rownum_ from ( select * from ( select distinct OB.BUSI_ORDER_ID, 0 as HIS_ID, OB.BUSI_CODE, OB.CUST_ID, OB.CEASE_REASON, OB.ORDER_STATE, OB.CHANNEL_TYPE, ob.user_id, OB.IS_BATCH_ORDER, OB.APPLICATION_ID, OB.CREATE_DATE, OB.DONE_DATE, OB.EFF_DATE, OB.EXP_DATE, OB.OPER_ID, OB.ORG_ID, OB.REGION_ID, OB.NOTE, OB.PROCESS_STATE, nvl(oi.cust_name, ic.cust_name) cust_name, nvl(oc.icc_id, iu.icc_id) icc_id, nvl(oc.svc_num, iu.svc_num) svc_num, icp.cust_name parent_cust_name, icp.cust_id parent_cust_id, ol.order_list_id from ord_busi ob left join ord_offer oo on oo.busi_order_id = ob.busi_order_id and ob.user_id = oo.user_id left join info_user iu on oo.user_id = iu.user_id left join info_cust ic on ob.cust_id = ic.cust_id left join ord_cust oi on ob.cust_id = oi.cust_id and ob.busi_order_id = oi.busi_order_id left join info_cust icp on nvl(ic.parent_cust_id, oi.parent_cust_id) = icp.cust_id left join ( SELECT * FROM ord_user WHERE user_order_id IN ( SELECT MAX(user_order_id) user_order_id FROM ord_user GROUP BY busi_order_id,user_id ) ) oc on ob.user_id = oc.user_id and ob.busi_order_id = oc.busi_order_id left join ord_list ol on ob.busi_order_id = ol.busi_order_id WHERE 1 = 1 and OB.CUST_ID IN( SELECT DISTINCT CUST_ID FROM (SELECT CUST_ID, PARENT_CUST_ID FROM INFO_CUST UNION SELECT CUST_ID, PARENT_CUST_ID FROM ORD_CUST) TMP START WITH TMP.CUST_ID = '10001009208' CONNECT BY TMP.PARENT_CUST_ID = PRIOR TMP.CUST_ID ) union all select distinct OB.BUSI_ORDER_ID,OB.HIS_ID, OB.BUSI_CODE, OB.CUST_ID, OB.CEASE_REASON, OB.ORDER_STATE, OB.CHANNEL_TYPE, OB.USER_ID, OB.IS_BATCH_ORDER, OB.APPLICATION_ID, OB.CREATE_DATE, OB.DONE_DATE, OB.EFF_DATE, OB.EXP_DATE, OB.OPER_ID, OB.ORG_ID, OB.REGION_ID, OB.NOTE, OB.PROCESS_STATE, nvl(oi.cust_name,ic.cust_name) cust_name , nvl(oc.icc_id, iu.icc_id) icc_id, nvl(oc.svc_num,iu.svc_num) svc_num, icp.cust_name parent_cust_name, icp.cust_id parent_cust_id, ol.order_list_id from ord_busi_his ob left join ord_offer_his oo on oo.busi_order_id = ob.busi_order_id 优化一下

2023-06-02 上传