RTL Compiler之synthesis steps
1 synthesis steps
1) Search Paths
rc:/> set_attribute lib_search_path path /
rc:/> set_attribute script_search_path path /
rc:/> set_attribute hdl_search_path path /
2) Target Technology Library
rc:/> set_attribute library lib_name.lib
- Target Library: Design Compiler uses the target library to build a circuit. During mapping, Design Compiler selects functionally correct gates from the target library. It also calculates the timing of the circuit, using the vendor-supplied timing data for these gates.
3) Loading the HDL Files
- sequentially: read_hdl file1.v read_hdl file2.v read_hdl file3.v
- simultaneously: read_hdl { file1.v file2.v file3.v }
read_hdl [-v1995 | -v2001 | -sv
| -vhdl [-library library_name ]
| -netlist]
[-define macro=value ] ... file_list
4) Performing Elaboration
This is only required for top-level design. The elaborate command automatically elaborates the top-level design and all of its references.
5) Applying Constraints
- Operating conditions; clock waveforms; I/O timing
6) Applying Optimization Constraints
7) Performing Synthesis
rc:\> synthesize -to_mapped
8) Analyzing the Synthesis Results
- generate a detailed area report, use report area
- generate a detailed gate selection and area report, use report gates
- generate a detailed timing report, including the worst critical path of the current design, use report timing
9) Exporting the Design
- gate-level netlist rc:/> write_hdl > design.v
- design constraints rc:/> write_script > constraints.g
- constraints in SDC format rc:/> write_sdc > constraints.sdc
10) Exiting RTL Compiler
quit or exit
2 recommended flow
#general setup
#--------------
set_attributer lib_search_path ...
set_attribute hdl_search_path ..
#load the library
#------------------------------
set_attribute library library_name
#load and elaborate the design
#------------------------------
read_hdl design.v
elaborate
#specify timing and design constraints
#--------------------------------------
read_sdc sdc_file
# add optimization constraints
#----------------------------
.....
#synthesize the design
#---------------------
synthesize -to_mapped
#analyze design
------------------
report area
report timing
report gates
#export design
#-------------
write_hdl > dessign.vm
write_sdc > constraints.sdc
write_script > constraints.g
# export design for EDI
#-----------------------
write_design [-basename string ] [-gzip_files] [-tcf]
[-encounter] [-hierarchical] [ design ]
3 working in the top-level(root) directory

Root is a special object that contains all other objects represented as a ‘tree’ underneath it.
The root object is always present in RTL Compiler and is represented by a “/”, as shown in above Figure.
Root attributes contain information about all loaded designs.
RTL Compiler之synthesis steps的更多相关文章
- RTL Compiler之synthesis flow
1 generic RTL Compiler work flow 2 invoking RTL compiler RTL Compiler is invoked from the operating ...
- RTL Compiler之Example
Synthesis = Translation + Logic Optimization + Mapping Step 1 Source files 1) make directory mkdir ...
- RTL Compiler之Technology Library
1 Target Library Design Compiler uses the target library to build a circuit. During mapping, Design ...
- 行为级和RTL级的区别(转)
转自:http://hi.baidu.com/renmeman/item/5bd83496e3fc816bf14215db RTL级,registertransferlevel,指的是用寄存器这一级别 ...
- Verilog的数据流、行为、结构化与RTL级描述
Verilog语言可以有多种方式来描述硬件,同时,使用这些描述方式,又可以在多个抽象层次上设计硬件,这是Verilog语言的重要特征. 在Verilog语言中,有以下3种最基本的描述方式: 数据流描述 ...
- RTL 与 technology schematic的区别,包含概念与实例
2013-06-25 16:40:45 下面是xilinx官网上的问答贴: http://china.xilinx.com/support/answers/41500.htm#solution The ...
- 1.2 the structure of a compiler
Compiler 1.2 the structure of a compiler Compiler : analysis and synthesis syntactically 语法上的 sema ...
- Tcl之Read files for synthesis
The following file is to read all design files into syntehsis tool automatically, like Cadence RTL C ...
- backend flow
在PD之后,netlist中会多出很多DCAP元件(去耦电容,减少IR-Drop)或者filter cell(保证芯片均匀度要求) 还有一些antenna cell也就是一些diode用来泻流,防止天 ...
随机推荐
- Spring Framework体系结构简介
说明:以下转自Spring官方文档,用的版本为4.3.11版本. 一.引用官方文档 2.2.1核心集装箱 所述核心容器由以下部分组成spring-core, spring-beans,spring-c ...
- SiteMesh2-sitemesh.xml的PageDecoratorMapper映射器的用法
继上一章http://www.cnblogs.com/EasonJim/p/7083165.html中使用的例子中,是通过decorators.xml文件通过URL匹配进行转换的. 而下面这种方法是通 ...
- Html5离线缓存简介
一. 什么是manifest 首先manifest是一个后缀名为minifest的文件,在文件中定义那些需要缓存的文件,支持manifest的浏览器,会将按照manifest文件的规则,像文件保存在本 ...
- PHP array_multisort()
定义和用法 array_multisort() 函数对多个数组或多维数组进行排序. 参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能.第一个数组是要排 ...
- 1. MaxCounters 计数器 Calculate the values of counters after applying all alternating operations: increase counter by 1; set value of all counters to current maximum.
package com.code; import java.util.Arrays; public class Test04_4 { public static int[] solution(int ...
- 畅谈HTML开发
现在,打开浏览器,各种各样的页面可以让人眼花缭乱,对于行外人看到的是美观效果是用户体验,对行内人很多其它的是关注技术和创造力. 对于开发者都知道DIV是一对html经常使用标签,DIV+CSS是一对非 ...
- android_handler(一)
仅仅是一个简单的handler的样例,目的就是对handler有一个初步的接触. 在layout上加入一个button,点击按钮,然后打印出利用handler传送的数据.(都是执行在mainthrea ...
- Linux内核之于红黑树and AVL树
为什么Linux早先使用AVL树而后来倾向于红黑树? 实际上这是由红黑树的有用主义特质导致的结果,本短文依旧是形而上的观点.红黑树能够直接由2-3树导出.我们能够不再提红黑树,而仅仅提2- ...
- 尊重百度的api语音合成规则
屏幕显示字幕内容与形式 和 字幕的播放时长分离 : 去除标点符号的影响 # 设置分句的标志符号:可以根据实际需要进行修改 # cutlist = ".!?".decode('ut ...
- .NET连接数据库实例
.NET连接数据库实例 keleyi.com 柯乐义 本实例实现了从MSSQL 2005数据库读取数据并显示在页面上的功能.在Visual Studio 2010上测试成功.源代码下载:http:// ...