摘要: python字符串 python的字符串是 基于Unicode编码的,所以支持中文; 如果我们的python文件中,包含中文字符,务必以utf-8编码形式保存。 方法 : 保存时候确保。 为了告诉linux用utf-8编码解读 .py文件, 需要田间注释 print('%02d , %d‘ %(3, 阅读全文
posted @ 2018-09-17 22:05 mokang0421 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 首先介绍什么是STA:静态时序分析。所谓静态,就是指非动态仿真;不用仿真pattern就能分析时序信息。 它贯穿于后端P&R阶段,是检查时序是否满足的方法。 steps: (1) 把整个设计打散成N多的timing-path,主要依据就是 DFF DFF,input DFF、DFF >output 阅读全文
posted @ 2018-08-16 22:26 mokang0421 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 我们进行了时钟建模,设置了input\output_delay,这些都是为了DC对综合逻辑的优化而准备的. 我们知道std_cell各自都由延迟,DC不断替换期间,以满足时序要求。那么这些cell_delay到底是怎么一回事? 整个电路会被拆成 cell +net cell的延迟信息是一个范围值,它 阅读全文
posted @ 2017-10-10 23:40 mokang0421 阅读(528) 评论(0) 推荐(0) 编辑
摘要: 上一文只是说了约束的具体内容. 完成整个综合的脚本还没有写. 本文将介绍这个. 我们这个实现是 读入design.v ,完成creat_clock、设置好约束,然后保存。并不进行综合。 我们先编写了setup文件,配置了target_librart、link、search_path、 接着启动dc, 阅读全文
posted @ 2017-10-08 13:07 mokang0421 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 在前面介绍了如何进行添加约束,一遍所有的组合逻辑都能正确的进行时间优化,满足寄存器的setup、hold. 但是呢,往往这些约束信息,需要很多条目。如果每次都手动输入,就有很大几率出错。 所以脚本化,是必然要进行的、 DC运行后,会自动的执行tcl脚本。我们所有的anlayze、elaborate、 阅读全文
posted @ 2017-10-07 22:45 mokang0421 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 条件编译 符合条件,才进行编译。不符合条件的部分,直接忽略,根本不对其进行编译,能大大的提高效率。 主要有两种方式 : (1) #if expressition 看表达式结果。 (2) #ifdef xxx 看是否有过define xxx行为。 (1) #if expression 首先对这个表达式 阅读全文
posted @ 2017-10-07 15:16 mokang0421 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 前面说了怎么 get_* ,下面就是怎么把 约束加载到指定位置上。 Specifying an Area Constraint set_area_max 245000 把最大面积约束,自动的施加在current_design上。 一般xxxx的单位,有可能是与非门的个数或者是晶体管数目、或者是mm2 阅读全文
posted @ 2017-09-27 23:09 mokang0421 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 我们知道dc是为了约束.可是要约束谁? 怎么能把位置描述清楚.? DC在读入所有的verilog文件,link、check_design后,把整个current树分成了一下几个组成: 所有吃进来的module,都称为design. 只有current-design的 in/out 被称为Port 内 阅读全文
posted @ 2017-09-24 20:40 mokang0421 阅读(658) 评论(0) 推荐(0) 编辑
摘要: 使用setup文件。 DC在invoke起来时,会顺序的执行三个setup文件。 (1) ~usr/.synopsys_dc.setup (2) 安装路径/admin/setup/.synopsys_dc.setup (3) DC_当前工作目录cwd/.synopsys_dc.setup 考虑到,我 阅读全文
posted @ 2017-09-24 00:56 mokang0421 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 这是一个实验课. 读入一个vhdl文件,并完成整个dc流程。 实验lab2总结: 复盘: 一开始读入verilog时候,cwd出现了大量的中间文件。 查了read_vhdl也没找到怎么修改存储路径。后来在student guide里面有。 之后读入之后,link时,报错 无法read sc_max. 阅读全文
posted @ 2017-09-24 00:56 mokang0421 阅读(386) 评论(0) 推荐(0) 编辑