本文档为《西北工业大学SOC设计实践》系列实验报告之一,记录了学生在第二阶段针对系统级芯片(SOC)的设计、仿真与测试等实践活动的过程和成果。
题目二 综合与后端设计选取总代码长度不少于1000行的设计,使用DC工具完成综合,使用ICC工具完成后端设计。
工作环境设置:
1. 将/cad/share/work目录拷贝到自己家目录下,命令为:cp -r /cad/share/work ~
2. work目录下有两个子目录traffic_light和soc2019(可修改为自己的设计模块名称)分别为两个题目的工作目录。其中每个目录下有rtl和scripts两个子目录,完成的rtl代码放置在rtl子目录下。完成的DC和ICC的脚本段落件放置在scripts子目录下。
提交数据:
1. 实验数据保存在服务器自己目录下的work子目录,以备检查。
2. 实验报告纸质版双面打印。
3. 纸质版实验报告交由各班班长统一收齐交至毅字楼609。实验一报告提交时间为2019年6月22日上午。实验二报告提交时间为2019年7月5日上午。未按时交报告者,每隔过2天相应题目的总成绩降10%,报告必须在放假前提交。
实验内容(实验一完成1-3,实验二完成3-4):
1. 使用Verilog语言完成设计;
2. 编写testbench,并使用Synopsys VCS进行仿真验证;
3. 使用Synopsys DC进行综合。
1) 在~/work/xxx/scripts目录下,编写约束文件xxx.con。题目一的约束(题目二根据设计报告设置约束参数)如下:
a. 创建时钟信号,设定频率为2MHz;
b. 时钟信号的source latency为25ns;
c. 时钟信号的network latency为13ns;
d. 时钟信号的setup uncertainty为[学号最后两位];
e. 时钟信号的transition为22ns;
f. 除clk之外的输入信号的最大延迟时间为35ns;
g. 除clk之外输入信号使用bufbd1进行驱动;
h. 所有输出信号的延迟时间为50ns;
i. 输出信号连接负载电容2fF;
j. 设置版图的利用率为0.8;
k. 设置版图的宽长比为1;
l. 所有的输入port在左边,输出port在右边。
2) 在script目录下编写运行脚本dc.tcl。该脚本中包含将report_constraint -all写到文件rc.rpt、将report_timing写到文件rt.rpt、将report_area写到文件ra.rpt,并且综合后结果需保存为.ddc 文件;
3)运行该脚本,完成综合。综合后电路的电路图截屏保存下来。
4. 使用Synopsys ICC进行版图设计:参考~/work/xxx/scripts/icc.tcl提示,修改完善脚本。
实验报告要求(实验一完成1-6,实验二完成4-9):
1. 使用Verilog HDL完成设计;
2. 编写testbench;
3. VCS完成仿真,并对仿真结果进行分析;
4. 编写Synopsys DC综合脚本段落件dc.tcl以及约束文件xxx.con;
5. 利用synopsys DC工具执行综合,给出包括rc.rpt、rt.rpt和ra.rpt在内的报告并对其内容进行解析(题目二需要在xxx.v模块中加入io);
6. 综合后的电路图;
7. 分析ICC版图设计脚本,并根据选择的设计对该脚本进行修改完善。
8. floorplan,place,cts,route以及finish各步骤的版图截图;
9. 路由之后的时间和物理分析。