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.
最新文章
- HTML5 &; 三年二班周杰伦
- 渡轮问题Ship
- Mysql函数:Last_insert_id()语法讲解
- C/C++ 结构体 简单输入输出
- LeetCode189——Rotate Array
- 解决wamp的Apache服务器不能重启
- Android 学习笔记多媒体技术之 Drawable类+Tween(补间动画)+Frame(帧动画)
- 【bzoj1300】大数计算器
- javascript基础学习(三)
- FFMPEG 视频旋转设置
- (转)	iOS深入学习(Block全面分析)
- VSS的配置和使用
- 【Java】实现一个根据日期判断星座程序的编写
- BNU Online Judge-34976-数细菌
- 如何手写JDK锁
- MySQL之ORM框架SQLAlchemy
- winfrom导出DataGridView为Excel方法
- gensim自然语言处理
- IntelliJ IDEA(2017)安装和破解
- C# 串口导致电脑蓝屏一个可能的原因
热门文章
- HDU——2588 GCD
- ORACLE-020:ORACLE技巧002 批量操作表
- pg_dump: [archiver (db)] connection to database “dbase” failed: FATAL: Peer authentication failed for user “postgres”
- 有用 .htaccess 使用方法大全
- 设置默认訪问项目的client的浏览器版本号(IE版本号)
- java学习总结——你的前世今生
- HDU 5090 Game with Pearls(二分匹配)
- word2vec 中的数学原理具体解释(六)若干源代码细节
- (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作
- Linux ALSA声卡驱动之七:ASoC架构中的Codec