关于ARToolKit的大概成像方法

关于ARToolKit的大概成像方法
关于ARToolKit的大概成像方法

基于ARToolkit的计算机视觉原理ARToolkit利用计算机视觉技术来计算摄像机相对于黑白标识(带黑色方框的正方形)的距离与位置。首先根据用户设定的阈值将采集到的一帧彩色图像转换成一幅二值(黑白)图像,然后对该二值图像进行连通域分析[2],找出其中所有的四边形区域作为候选匹配区域,将每一候选区域与模板库中的模板进行匹配,如果产生匹配,则ARToolkit认为找到了一个标识,利用该标识区域的变形来计算摄像机相对于已知标识的位置和姿态,最后根据得到的坐标变换矩阵实现虚拟场景与真实世界之间的三维注册。通过计算标识点的图像坐标与其空间三维坐标间的变换关系[5],可以求出摄像机的内部参数(焦距、像平面中心坐标、像素的水平和垂直间距)以及摄像机相对于标识点的旋转矩阵和平移矩阵。

关于ARToolKit的大概成像方法

AR成像的方法其实已经被你所说的两种都能实现,其一:立方体是直接在代码里画出来的,这也是我在群里回答你的,我能如此肯定是因为分析过源码。其二:AR亦可以通过模型文件来实现。为何呢,原因是源码可以通过读取其模型文件,然后再画上。Artoolkit 的工作原理ARToolKit 的跟踪步骤如下:1. 摄像机捕获真实世界的视频,并将它传送给计算机。2. 软件监控视频流中的每一帧图像,并在其中搜索是否有匹配的图形标记。 3. 如果找到了,ARToolKit 将通过数学运算计算出图形标记和摄像头的相对位置(投影变换矩阵)。 4. 得到摄像头的位置之后,此来调整模型的位置和方向。5. 将模型渲染到标记卡所在(帧画面)的位置。6. 最终输出到显示设备的视频流是进过处理的,因此当人们通过显示设备看到视频(而不是直接拿眼睛看真实世界)时,模型便覆盖到拍摄到的真实世界画面上了。

什么是AR技术?【来自raoweijie1】增强现实(Augmented Reality,简称AR)是近年来国外众多知名大学和研究机构的研究热点之一,AR技术不仅在与VR技术相类似的应用领域,诸如尖端武器、飞行器的研制与开发、数据模型的可视化、虚拟训练、娱乐与艺术等领域具有广泛的应用,而且由于其具有能够对真实环境进行增强显示输出的特性,在医疗研究与解剖训练、精密仪器制造和维修、军用飞机导航、工程设计和远程机器人控制等领域,具有比VR技术更加明显的优势。增强现实(AR),也被称之为混合现实。它通过电脑技术,将虚拟的信息应用到真实世界,真实的环境和虚拟的物体实时地叠加到了同一个画面或空间同时存在。增强现实提供了在一般情况下,不同于人类可以感知的信息。它不仅展现了真实世界的信息,而且将虚拟的信息同时显示出来,两种信息相互补充、叠加。在视觉化的增强现实中,用户利用头盔显示器,把真实世界与电脑图形多重合成在一起,便可以看到真实的世界围绕着它。增强现实借助计算机图形技术和可视化技术产生现实环境中不存在的虚拟对象,并通过传感技术将虚拟对象准确“放置”在真实环境中,借助显示设备将虚拟对象与真实环境融为一体,并呈现给使用者一个感官效果真实的新环境。因此增强现实系统具有虚实结合、实时交互、三维注册的新特点。增强现实技术的应用领域* 医疗领域:医生可以利用增强现实技术,轻易地进行手术部位的精确定位。* 军事领域:部队可以利用增强现实技术,进行方位的识别,获得目前所在地点的地理数据等重要军事数据。* 古迹复原和数字化文化遗产保护:文化古迹的信息以增强现实的方式提供给参观者,用户不仅可以通过HMD看到古迹的文字解说,还能看到遗址上残缺部分的虚拟重构。* 工业维修领域:通过头盔式显示器将多种辅助信息显示给用户,包括虚拟仪表的面板、被维修设

备的内部结构、被维修设备零件图等。* 网络视频通讯领域:该系统使用增强现实和人脸跟踪技术,在通话的同时在通话者的面部实时叠加一些如帽子、眼镜等虚拟物体,在很大程度上提高了视频对话的趣味性。* 电视转播领域:通过增强现实技术可以在转播体育比赛的时候实时的将辅助信息叠加到画面中,使得观众可以得到更多的信息。* 娱乐、游戏领域:增强现实游戏可以让位于全球不同地点的玩家,共同进入一个真实的自然场景,以虚拟替身的形式,进行网络对战。* 旅游、展览领域:人们在浏览、参观的同时,通过增强现实技术将接收到途经建筑的相关资料,观看展品的相关数据资料。* 市政建设规划:采用增强现实技术将规划效果叠加真实场景中以直接获得规划的效果。国内比较权威的增强现实学者是北京理工大学光电工程系的王涌天教授

DC综合全过程及使用的命令

DC综合全过程及使用的命令 DC的初始化文件.synopsys.dc.setup,该文件是隐藏文件,需要用ls –a显示 读取文件 DC支持多种硬件描述格式,.db .v .vhd等 对于dcsh工作模式来说,读取不同的文件格式需要不同的参数 Read -format Verilog[db\vhdl ect] file //dcsh工作模式 对于tcl工作模式来说,读取不同文件格式使用不同的命令。

Read_db file.db //tcl工作模式读取db格式 Read_verilog file.v //tcl工作模式读取verilog格式 Read_vhdl file.v //tcl工作模式读取vhdl格式 读取源程序的另外一种方式是配合使用analyzer命令和elaborate命令; Analyzer是分析HDL的源程序并将分析产生的中间文件存于work(用户可以自己指定)的目录下 Elaborate则在产生的中间文件中生成verilog的模块或者VHDL的实体 缺省情况下,elaborate读取的是work目录中的文件 当读取完所要综合的模块后,需要使用link命令将读到DC存储区中的模块或实体连接起来 注意:如果在使用link命令后,出现unresolved design reference的警告信息,需要重新读取该模块,或者在.synopsys_dc.setup 文件中添加link_library,告诉DC到库中去找这些模块,同时还要注意search_path中的路径是否指向该模块或单元电路所在的目录 Link命令执行后,DC就将模块按照RTL级或者门级的描述将电路连接起来,之后的各种限制条件就可以对该电路的顶层模块施加 DC限制条件施加的对象 针对以下电路成分:输入输出端口、模块、子模块的实例化、单元电路、连线及电路的引脚。在使用DC命令的时候,不要使用模糊的对象,例如,如下面的电路: Set_load 3 Clk 由于在电路中含有名称为CLK的pin、port和net,因此,DC无法知道该处的load是施加在哪个对象上,注意到一般连线会驱动负载,该命令就改为: Set_load 3 [get_nets Clk] TCL mode Set_load 3 find(net,”Clk”)dc_shell mode 路径的划分与合法路径 DC综合的时候是基于路径的优化,对于DC来说,合法的路径必须满足以下条件 路径的起点为输入端口或者是触发器的数据端 路径终点为输出端口或者是触发器的时钟端 DC设定的限制条件的值都是无单位的,这些单位都是由工艺库中给定的 可以用report_lib lib_name来查看所有在工艺库中设定的各个参数的单位 定义电路的工作环境和综合环境

synopsys DC10.03图文安装配置详解

喾林原创 Synopsys DC10.03安装配置 1、需准备安装包: 1)、Synopsys DC(design compiler)安装包 2)、SCL 安装包(注:此包为synopsys license 管理)。 3)、Synopsys 图像安装工具:installer2.0及以上均可。 (注:图形安装操作简单,不易出错,故采用图形安装界面) 4)、Synopsys license 制作工具( EFA LicGen 0.4b 和Synopsys SSS Feature Keygen )。 2、开始安装DC : 1)、启动图形安装界面 于linux 系统下解压installer2.0包(在windows 下解压文件易损坏)。解压后运行setup.sh 得如图(一)所示界面。 图 (一)

喾林原创点击“start ”有如图(二)所示界面开始安装。在“Source ”栏选中DC 安装文件所在上层目录。“Done ”后“Next ”(此次“Next ”时间较长,耐心等待)。 图 (二) 之后可一直“NEXT ”到如图(三)所示。 图 (三)

在该界面勾选linux选项即可,继续下一步到如图(四)所示。选择安装路径后继续下一步直到结束。 喾林原创 图(四) 至此DC安装结束。 3、开始安装SCL: 此安装与DC安装步骤一直,几乎没有差别,唯一不同的就是安装路径不同。 4、license的制作: License的制作是在windows下制作的。

1)、打开EFA LicGen 0.4b文件夹运行LicGen.exe程序出现如图(五)所示界面。 喾林原创 图(五) 点击“OPEN”选择Synopsys.lpd文件,“打开”。回到图(五)所示界面。勾选上Custon、Use Daemon及最后一个Custon。

synopsys简易教程

以.cshrc 及用户根目录下的.synopsys_vss.setup .synopsys_dc.setup 已经配置为前提)1.创建工作目录; 2.编写vhdl源程序; 3.编写.synopsys_vss.setup 和.synopsys_dc.setup文件; 4.编译vhdl源程序; 5.运行vhdldbx 仿真器; 6.运行synopsys的综合器; 7.完成综合后的门级仿真; 以一个一位加法器为例,进行具体说明(用户界面为CDE): 1)创建adder 目录: 可以在资源管理器中完成,也可以在unix环境下完成:mkdir adder; 2)在adder目录下创建work目录; 3)编写.synopsys_vss.setup文件并存入adder目录;.synopsys_vss.setup的内容如下:WORK >DEFAULT DEFAULT:work TIMEBASE = NS 4)编写一位加法器的源程序(adder1.vhd)并存入adder目录下: library ieee; use ieee.std_logic_1164.all; entity adder1 is port(din1 : in std_logic; din2 : in std_logic; cin : in std_logic; dout: out std_logic; cout: out std_logic); end adder1; architecture rtl of adder1 is begin dout <= din1 xor din2 xor cin; cout <= (din1 and din2) or (cin and (din1 xor din2)); end rtl; 5)编写一位加法器的测试基准(即test_bench)并存入adder目录下:(tb_adder1.vhd)library ieee; use ieee.std_logic_1164.all; entity tb_adder1 is end tb_adder1; architecture rtl of tb_adder1 is component adder1 is port(din1 : in std_logic; din2 : in std_logic; cin : in std_logic;

启动dc_shell工具的.synopsys.setup文档

设置启动dc_shell-t工具的 .synopsys.setup文件 Author:周建伟 Company:西安邮电大学SOC组 Date:2013.10.30 摘要:若你在读不进你的库,即在你的运行报告中总是有:warning:Can?t read link_library file …your_library.db?,这边文档会对你有一定的帮助

逻辑综合环境 启动文件 启动文件用来指定综合工具所需要的一些初始化信息。DC使用名为“.synopsys_dc.setup”的启动文件(位置:inst_dir/admin/setup/.synopsys_dc.setup)。启动时,DC会以下述顺序搜索并装载相应目录下的启动文件: DC安装目录($DC_PATH/admin/setup) 用户主目录 工具启动目录 注意:后装载的启动文件中的设置将覆盖先装载的启动文件中的相同设置 本文档重在讲述怎么设置工具启动目录 1、把inst_dir/admin/setup/.synopsys_dc.setup文件拷贝到你DC脚本目录下(也就是和你 脚本在同个目录下) 2、在.synopsys_dc.setup文件的第92行,即set link_force_case “check_reference”命令下 修改内容如下: A、set lib_path /library/smic18/feview~2/version2.2(注:lib_path为你smic18库安装 目录,不同于DC安装目录) B、set link_library [list * $lib_path/STD/Synopsys/smic18_ss.db \ $lib_path/IO/Synopsys/smic18IO_line_ss.db \ $lib_path/IO/Synopsys/smic18IO_stagger_ss.db ] C、set search_path [list . ${synopsys_root}/libraries/syn ${synopsys_root}/dw/syn_ver \ ${synopsys_root}/dw/sim_ver \ $lib_path/STD/Synopsys $lib_path/IO/Synopsys ] D、set target_library [list $lib_path/STD/Synopsys/smic18_ss.db \ $lib_path/IO/Synopsys/smic18IO_line_ss.db \ $lib_path/IO/Synopsys/smic18IO_stagger_ss.db ] E、set synthetic_library “” set command_log_file “./command.log” set designer “zjw” set company “soc of xupt”

DC基本问题

1.14. translation这一步是用什么DC命令来实现的? 我们知道,DC综合过程包括3个步骤:translation + logic optimization + mapping transition 对应命令为 read_verilog(read_vhdl等) logic optimization 和 mapping 对应于 compile 1.15. 逻辑优化和映射(logic optimization + mapping)又是用什么DC命令来实现的? logic optimization 和 mapping 均在compile命令完成,但是可以指定使用特殊的优化方法:structural 和flatten,建议大家在synthesis时同时生成structural 和flatten格式的netlist,然后打开看看到底有什么不同之处。 1.17. 基于路径的综合的意思是什么? 路径(path),是DC中的一个重要概念。它包括4种路径方式: 1 input到FF的D端。 2 FF的clk到另一个FF的D端。 3 FF的clk到输出Q。 4 input到output。 基于路径的综合就是对这四种路径进行加约束,综合电路以满足这些约束条件。 1.24 reference 是指什么? 和cell 有什么区别? 当存在一个模块被多次例化,那么该模块就称为reference 1.25 如何读入一个design? 使用analyze + elaborate 或者 read_verilog、read -f verilog、 read_vhdl、read_file 命令。 1.26 analyze+ elaborate 和 read 命令有什么区别? read_file 是可以读取任何synopsys支持格式的;analyze和eloborate 只支持verilog和VHDL两个格式,但是他们支持在中间过程中加入参数而且以便以后可以加快读取过程。

Encounter使用入门教程

Encounter使用入门教程 本教程介绍一下自动布局布线工具Encounter的使用知识,开始以一个简单的十进制计数器版图的自动实现为例子,之后介绍包含block模块的复杂的版图自动实现。 在Designer Compiler使用入门教程中,笔者设计了一个十进制计数器,并经过Design Compiler对其进行综合后获得了门级综合网表文件counter.sv以及约束文件counter.sdc,根据这两个文件,我们就可以使用SOC Encounter实现十进制计数器的物理版图设计了。首先,我们要准备使用Encounter进行版图自动设计时所需要的数据: 时序库文件:fast.lib,slow.lib,tpz973gwc.lib,tpz973gbc.lib 物理库文件:tsmc18_6lm_cic.lef,tpz973g_5lm_cic.lef,tsmc18_6lm_antenna_cic.lef 门级网表文件:pad_counter.sv 时序约束文件:pad_counter.sdc IO位置放置文件:pad_counter.io //在设计导入Encounter中指定PAD的放置位置文件,不是必须文件 还有其它一些文件在后面用到时进行介绍。 一、网表中添加PAD、编写IO Assignment File 这里,pad_counter.sv是加入PAD后综合得到的门级网表。工程项目中设计制作完成后的芯片要进行封装,PAD就是芯片在封装时连接封装引线的地方。一般信号输入/输出PAD即I/O PAD要在综合前添加进入网表中,电源电压PAD 可以在综合时添加也可以在综合后添加。接下来就先介绍一下如何在网表中加入PAD,其实给网表加入PAD就是一般的module例化,和Verilog中一般的module 模块例化是一样的。 这里介绍在综合时给设计中加入I/O PAD。十进制计数器的Verilog源程序如下:module Cnt10(reset_n,clk,in_ena,cnt,carry_ena); input clk; input reset_n; input in_ena; output [3:0] cnt; output carry_ena; reg [3:0] cnt; reg carry_ena; always @(posedge clk or negedge reset_n) begin if(!reset_n) cnt<=4'b0; else if(in_ena && cnt==4'd10)

DC使用全书(Design Compiler)

DC学习----第一章基本概念 作者:未知时间:2010-08-15 15:02:50 来自:网络转载 1.1 启动文件 启动文件用来指定综合工具所需要的一些初始化信息。DC使用名为“.synopsys_dc.setup”的启动文件,启动时,DC会以下述顺序搜索并装载相应目录下的启动文件: 1)、DC的安装目录; 2)、用户的home目录; 3)、当前启动目录。 注意:后装载的启动文件中的设置将覆盖先装载的启动文件中的相同设置。 下面是一个DC启动文件的实例,它包含了几乎所有重要的设置,下文将结合该实例解释启动文件中各项设置的具体含义。 例1-1(一个DC启动文件): search_path= search_path + {“.”, synopsys_root + “/dw/sim_ver” } search_path= search_path + { “~/risc32/synthesis/libraries” } target_library={ tcb773stc.db } synthetic_library={dw_foundation.sldb} link_library = { “*”, dw_foundation.sldb, tcb773stc.db } symbol_library = { tcb773s.sdb } synlib_wait_for_design_license = {"DesignWare-Foundation"} alias rt “report_timing” designer= XXXXX company= “ASIC Lab, Fudan Univ.” search_path指定了综合工具的搜索路径。 target_library为综合的目标库,它一般是由生产线提供的工艺相关的库。 synthetic_library是综合库,它包含了一些可综合的与工艺无关的IP。dw_foundation.sldb是Synopsys提供的名为Design Ware的综合库,它包含了基本的算术运算逻辑、控制逻辑、可综合存储器等IP,在综合是调用这些IP有助于提高电路性能和减少综合时间。 link_library是链接库,它是DC在解释综合后网表时用来参考的库。一般情况下,它和目标库相同;当使用综合库时,需要将该综合库加入链接库列表中。 symbol_library为指定的符号库。 synlib_wait_for_design_license用来获得DesignWare-Foudation的许可(license)。 alias语句与UNIX相似,它定义了命令的简称。 最后的designer和company项则表明了设计者和所在公司。 另外,在启动文件中用符号“/*” 和“*/” 进行注释。 1.2 设计实体 在DC中,总共有8种设计实体: λ设计(Design):一种能完成一定逻辑功能的电路。设计中可以包含下一层的子设计。 单元(Cell):设计中包含的子设计的实例。λ λ参考(Reference):单元的参考对象,即单元是参考的实例。 端口(Port):设计的基本输入输出口。λ λ管脚(Pin):单元的输入输出口。 连线(Net):端口间及管脚间的互连信号。λ λ时钟(Clock):作为时钟信号源的管脚或端口。

dc使用

DC使用说明 文件说明:在进行下面的演示时需要用到两个文件,一个是example1.v,它是描述一个电路的verilog代码,我们的目标就是用DC综合这个代码得到满足约束条件的电路网表;另一个是dc.scr,它是综合example1.v的脚本文件。这两个文件都在/home/student1000目录下,大家把它们拷贝到自己的目录下,以备使用。DC既可使用图形界面,也可不使用图形界面而直接运行脚本来综合电路。 一、DC图形界面的使用。 1.DC图形界面的启动 1.1 打开一个终端窗口,写入命令dv –db_mode,敲入回车。 则DC图形界面启动,如下图所示

红框处是DC的命令输入框,以下在图形界面上的操作都可以在命令输入框中输入相应的命令来完成。 选择Help----- Man Pages可以查看DC的联机帮助。相应指令:man。例:man man表示 查看man命令的帮助。man create_clock表示查看creat_clock命令的帮助。

2.设置库文件 选择File---- Setup 需要设置以下库文件,如下图。 相应指令: set search_path [list /tools/lib/smic25/feview_s/version1/STD/Synopsys \ /tools/lib/smic25/feview_s/version1/STD/Symbol/synopsys] set target_library { smic25_tt.db } set link_library { smic25_tt.db } set symbol_library { smic25.sdb }

中文DC文档

max_transition可以定义为上升或下降电阻和线网负载的乘积,除了工艺库中提供的,用户也可自己定义,而实际采用的是最严格的那个定义值。 相比较max——transition并不直接控制线网的实际电容,而max_capacitance作为直接控制电容的限制而提出的。但是其cost function是基于总的电容而不是瞬态时间。二者可以同时定义。没有违反约束的定义是:驱动pin或者是port的max capacitance大于或者是等于所有被驱动管的电容之和。 Max transition和max fanout 和max capacitance可以用来决定设计中的buffer个数。―――影响时间参数 优化约束―――对时间的约束优先于对面积的约束。在满足对面积的约束之前,会尽量的考虑满足对时间约束条件的满足。 对时间的约束―――-时序电路中通过对时钟的定义来达到,set input delay和set output delay。 ――――组合电路通过对set max delay和set min delay来设定点点之间的时间延迟,max delay通过设定set max delay和creat clock来达到; 而min delay通过设定set min delay和对保持时间的要求来达到。其中的使用set fix hold来固定保持时间。 优化的过程就是减少代价函数的过程――包括设计规则代价函数和优化代价函数。Max delay cost;min delay cost;max power cost;max area cost; 其中max delay cost是代价函数中具有最优权。 Max delay cost的计算:最差的违背和每个路径组的权重之积――worst violation;path group; 当设计不能满足时序单元的建立时间的要求的时候,违背就发生了。一般,把由一个时钟约束的路径组合成一个路径组,这样每个时钟都建立了一个单独的路径组,而剩余的路径组合成默认的路径组,如果在没有时钟的情况下,所有的路径都组合成一个默认的路径组。而综合总是针对路径进行的,所以很容易给每个路径定义其权重。如:max delay cost=1×1+1×2+1×3=6 min delay cost次重。与路径无关,是所有的最差的min delay违背之和,当实际的延迟时间小于设定的期望的延迟时间的时候,违背就发生了。如:min delay=1+2+3=6 max power是用于ECL电路中。 综合时候的时钟设定: 设定时钟树的时候,使用set dont touch network来设定时钟的dont touch参数值,防止 buffers。 Synopsys的STA不报告时序单元中针对时钟管脚的延迟(认为是理想状态-0)。如果时钟经过门单元的话,则不能认为时钟延迟是0,所以也要设定set clock skew-proagated选项来得到非零的时钟延迟,如果ASIC提供商已经定义了相对于时序单元管脚的潜在的时钟skew的上限的话,可以用set clock skew -uncertainty来定义skew。在设定完时钟之后,我们要使用set input delay和set output delay-option来设定输入输出端口的时间设定。用set multicycle path来设定复合时钟。

synopsys_DC-200809安装图文详解

Synopsys Design Compiler 2008.09安装图文详解 安装环境说明:此文讲述的是基于虚拟机VMware 中的Ubuntu10.04系统安装DC 的详细过程。在其它Linux 系统安装也可以循此步骤安装。 安装资源准备:synopsys installer 2.0版本;scl(scl_v10.9.3_common 和scl_v10.9.3_linux);DC _200809(Design Compiler_200809_common 和Design Compiler_200809_linux);license 。 破解工具:EFA LicGen 0.4b 和 Synopsys SSS Feature Keygen 。 安装的目录结构:在安装的过程中会选择要安装的路径,这些指安装后的文件夹结构。 安装过程:(安装是在root 权限下进行的,推荐) 1. 安装前确保Linux 系统已经安装了csh .若没有安装,通过命令apt-get installer csh 安装, 如下所示: (注:我之前死活装不上CSH ,发现需要更新一下sudo apt-get update ) 2. 安装installer :将synopsys installer2.0 解压到installer 文件夹即可. 3. 安装SCL : 通过命令./installer –gui ,采用图形化用户界面的方式安装。首先用cd 命令转 到installer 目录下,然后执行 ./installer –gui 命令。如图所示:(参照图中下方两行命令)

选中目标后,点击Done。 接下来一直点击Next就行,出现下面的情况,点击NO,继续安装。

DC综合操作流程_设置流程

总流程 1:库的设置 2:设计的读入 3:设置环境属性 (1)set_operating_conditions (2)set_wire_load_model和set_wire_load_mode (3)set load (4)set_drive或者set_driving_cell 4:设计规则约束 (1)set_max_transtion (2)set_max_capacitance (3)set_max_fanout 5:优化约束 (1)create_clock (2)set_clock_uncertainty (3)set_clock_latency (4)set_input_delay (5)set_output_delay (6)set_false_path (7)set_multicycle_path (8)set_max_delay和set_min_delay (9)set_max_area

7:一些编译命令及DC的输出格式 注意: 1:在前端设计中一般不做hold_time的约束,hold_time的约束可以在后端修复!!!

总流程: 1:对库进行基本设置,如下:设置完成后应该查看.synopsys_dc.setup里面库的设置和软件application setup处的设置是否一样!DC的初始化文件.synopsys.dc.setup需要用ls –a显示,命令:more .synopsys.dc.setup查看文件内容!

2:读入设计,两种方法:read和analyze+elaborate Analyzer是分析HDL的源程序并将分析产生的中间文件存于work(用户可以自己指定)的目录下;Elaborate则在产生的中间文件中生成verilog的模块或者VHDL的实体缺省情况下,elaborate读取的是work目录中的文件

SynopsysDC中文培训实验

SYNOPSYS Lab1 Setup and Synthesis Flow 缩略词:Design Compile =DC; 备注:UNIX%代表在linux终端下进行操作,其余的代表在DC下进行DC命令输入 前言: DC(Design Compiler)是Synopsys的logical synthesis优化工具,它根据design description 和constraints自动综合出一个优化了的门级电路。它可以接受多种输入格式,如硬件描述语言、原理图和netlist等,并产生多种性能报告,在缩短设计时间的同时提高读者设计性能。 基本的综合流程:

该基本综合流程包含下列步骤: 1. 发展HDL文件 输入Design Compiler的设计文件通常都是用诸如VHDL和Verilog HDL等 硬件描述语言编写。这些设计描述必须小心地编写以获得可能的最好的综合结果。在编写HDL代码时,你需要考虑设计数据的管理、设计划分和HDL编码风格。划分和编码风格直接影响综合和优化过程。 虽然流程中包含该步骤,但实际上它并不是Design Compiler的一个步骤。你不能用Design Compiler工具来编写HDL文件。 2. 指定库 通过link_,target_,symbol_,和synthetic_library命令为Design Compiler指定链接库、对象库、符合库和综合库。 链接库和对象库是工艺库,详细说明了半导体厂家提供的单元和相关信息,象单元名称、单元管脚名称、管脚负载、延迟、设计规则和操作环境等。 符号库定义了设计电路图所调用的符号。如果你想应用Design Analyzer图形用户界面,就需要这个库。 另外,你必须通过synthetic_library命令来指定任何一种特殊的有许可的设计工具库(你不需要指定标准设计工具库)。 3. 读入设计 Design Compiler使用HDL Compiler将RTL级设计和门级网表作为设计输 入文件读入。通过analyze和elaborate命令读入RTL级设计,通过read_file或read命令读入门级网表。Design Compiler支持所有主要的门级网表格式。 如果你用read_file或read命令读入RTL设计,等于实现了组合3analyze和elaborate命令的功能。 4. 定义设计环境 Design Compiler要求设计者模拟出待综合设计的环境。这个模型由外部 的操作环境(制造流程、温度和电压)、负载、驱动、扇出、线负载模型等组成。它直接影响到设计综合和优化的结果。利用图2-4中该步骤下所列的一系列命令来定义设计环境。5. 设置设计约束 Design Compiler利用设计规则和最优化约束来控制设计的综合。厂家工 艺库提供设计规则以保证产品符合规格、工作正常。典型的设计规则约束转换时间(set_max_transition)、扇出负载(set_max_fanout)和电容(set_max_capacitance)。这些规则指定了要求的工艺,你不能违反。当然,你可以设置更严格的约束。 最优化约束则定义了时序(时钟、时钟错位、输入延时和输出延时)和面积(最大面积)等设计目标。在最优化过程中,Design Compiler试图去满足这些目标,但不会去违反任何设计规则。利用图2-4中该步骤下所列的一系列命令来定义这些约束。为能够正确地优化设计,必须设置更接近现实情况的约束。 你选择的编译策略将影响设计约束的设置。流程中的步骤5和步骤6是相互依赖的。 6. 选择编译策略 你可以用来优化层次化设计的两种基本编译策略被称为自顶向下和从下上。 在自顶向下的策略里,顶层设计和它的子设计一起进行编译。所有的环境和约束设置都根据顶层设计来定义。因此,它会自动的考虑内部模块的依赖性。但对于大型设计,这种方法并不实用,因为所有的设计必须同时贮存在内存里。 在从下到上的策略里,分别对子设计进行约束和编译。在成功编译后,这些设计都被赋予一个dont_touch参数,防止在随后的编译过程中对它们进行进一步的改变。然后这些编

synopsys工具安装教程

前言:这是本人经过两个星期的奋斗,从对linux命令的生涩到熟练,对后端工具的陌生到熟悉的一段战斗史!!!下面我把我的操作过程详细写下,供大家学习参考!! 一:准备工作 所需平台 1、vmware9 2、RHEL(红帽企业版)6.3 Synopsys 工具 1、installer_v3.0(安装synopsys EDA tools 的图形界面的安装工具) 2、scl_10.9.3(synopsys license 管理工具,用于启动tools 的features) 3、dc_2009.06(逻辑综合工具) 4、icc_2009.06(布局布线工具) 5、pt_2012.12(时序分析工具) License生成工具 1、EFA LicGen 0.4b 2、Synopsys SSS Feature Keygen 3、Synposys.src(最新的据我所知是40kb大小,有比较全的features) 二:搭建RHEL 1、安装vmware:本章节详见另一个文档。文档名为“vmware安装手册”。 还有一份汉化包,需要可自行下载。 2、安装RHEL:本章详见另一个文档。文档名为“RHEL6.3安装手册”。 Ps:有一个页面会让你选择安装的软件包,这个时候人工勾上所有的软件包,不然启eda 工具的时候会发现很多系统库找不到。 三:vmware tools安装 1、以root用户进入linux,找到左上角的VM选项,下拉之后选择安装wmware tools。

过一会儿会弹出来一个框框,显示vmwaretools-9.2.2-893683.tar.gz 然后新开一个终端,输入cd /media 你会看到vmwaretools-9.2.2-893683.tar.gz就在那里。然后把他拷贝出来,后解压安装。具体命令可以网上搜索。 四:license制作 License制作要用到上述的材料,具体详见另一个文档。文档名为“license制作”。将license文件,即synopsys.dat文件放到linux下的共享文件夹。 五:软件安装 注意:安装之前先确保可以使用共享文件夹,一般是cd /mnt/hgfs/共享文件夹名字。拷贝文件都是从这里开始的。 1. 目录结构,本人以用户登录,建了/homr/hy/eda/synopsys 文件夹,下面是文件夹内部的 目录结构,仅供参考以及便于后面的说明 /eda/synopsys | ---- installer3.0 | ---- scl | ---- license | ---- dc200906 2. 安装installer,将installer 3.0 解压到installer 文件夹即可; 3、安装SCL 首先将scl下的两个tar包(scl_v10.9.3_common.tar 和scl_v10.9.3_linux.tar)放到scl/temp 文件夹中,不用解压缩,installer 会自动分析压缩包的。 然后进入到installer 文件中,运行./setup.sh 然后会提示选择安装源,选择/eda/synopsys/scl/temp,按照提示继续向下,最后会提示安装路径,选择 /eda/synopsys/scl 即可。 4、然后安装DC。 将DC2009.06 的common 和linux 平台文件解拷贝到同一目录 /home/hy/eda/synopsys /dc2009.06 下.

DC介绍

1 Introduction to Design Compiler1 Design Compiler is the core of the Synopsys synthesis software products. It provides constraint-driven optimization and supports a wide range of design styles. The Design Compiler tools synthesize your HDL description into a technology-dependent,gate-level design. Design Compiler optimizes combinational or sequential designs for speed, area, and power, and supports both ?at and hierarchical designs. Figure 1-1Design Compiler Overview VHDL Source Verilog Source Other Input Formats VHDL Compiler HDL Compiler compile Design Compiler Mapped, Technology- Dependent Netlist

Design Compiler provides links to electronic design automation(EDA) tools, such as place and route tools, and post layout resynthesis techniques, such as in-place optimization. These EDA tool links enable sharing of information (such as forward-directed constraints and delays) between Design Compiler and external tools. This chapter includes the following sections: ?Design Compiler Products ?User Interfaces ?Supported File Formats ?Supported File Formats ?License Requirements ?Resource Requirements ?High-Level Design Flow Design Compiler Products Synopsys provides a spectrum of Design Compiler products,which vary in the complexity of the features offered.Choose the right product for your design environment,based on your synthesis requirements. Using the Design Compiler products, you can ?Produce fast,area-ef?cient ASIC designs by using user-speci?ed gate-array, FPGA, or standard-cell libraries ?Translate designs from one technology to another

DC仿真教程

DC的使用 一、实验目的 1、掌握DC软件的基本使用流程; 2、熟悉基本的DC命令,并理解其意义; 3、对DC综合后的结果进行分析。 二、实验工具 Synopsys 公司电路综合工具Design Complier,即DC。 三、实验内容概述 1、利用DC图形界面进行电路综合; 2、使用DC脚本文件进行电路综合; 3、查看综合报告,根据报告分析电路性能。 四、实验步骤 (文件说明:为了演示方便,在进行下面的实验时需要用到两个文件,一个是example1.v,它是描述一个电路的verilog代码,我们的目标就是用DC综合这个代码得到满足约束条件的电路网表;另一个是dc.scr,它是综合example1.v 的脚本文件。) DC既可使用图形界面,也可不使用图形界面而直接运行脚本来综合电路。当然,它们二者功能是一样的,在图形界面的每步操作都有相应的命令。我们先以较为直观的图形界面来演示各个操作步骤,并给出相应的tcl命令,再用DC 脚本来对电路进行综合。准备好需要综合的文件和相应的脚本文件后,下面就开始我们的实验:

一、DC图形界面的使用。 1.DC图形界面的启动 打开一个终端窗口,键入命令dv –db_mode,回车: 则DC图形界面启动,如下图所示:

红框处是DC的命令输入框,所有以下在图形界面上的操作都可以在这个命令输入框中输入相应的命令来完成。 选择Help-----→Man Pages可以查看DC的联机帮助。相应指令:man。例:man man表示查看man命令的帮助。man create_clock表示查看creat_clock命令的帮助。 2.设置库文件 选择File----→Setup

DC综合教程

启动dc的三种方法: DCSH:dc_shell TCL:dc_shell-t //注意:-t前没有空格 图形化界面:design_vision tip1. 综合主要包括三个阶段:转换(translation)、优化(optimization)与映射(mapping)。 1. 转换阶段:综合工具将高层语言描述的电路用门级的逻辑来实现,对于Synopsys 的综合工具DC 来说,就是使用gtech.db库中的门级单元来组成HDL 语言描述的电路,从而构成初始的未优化的电路。 2. 优化与映射:是综合工具对已有的初始电路进行分析,去掉电路中的冗余单元,并对不满足限制条件的路径进行优化,然后将优化之后的电路映射到由制造商提供的工艺库上。 tip2 DesignWare 是集成在DC综合环境中的可重用电路的集合 DesignWare 分为DesignWare Basic 与DesignWare Foundation,DesignWare Basic 提供基本的电路,DesignWare Foundation提供性能较高的电路结构。如果需要Foundation的DesignWare,需要在综合的时候设置synthetic_library3。 tip3 日志文件 Design Analyzer 在启动时自动在启动目录下面创建两个日志文件:command.log 和view_command.log,用于记录用户在使用Design Compiler 时所执行的命令以及设置的参数,在运行过程中同时还产生filenames.log的文件,用于记录design compiler访问过的目录,包括库、源文件等,filenames.log文件在退出design compiler 时会被自动删除。启动dc_shell时则只产生command.log 的日志文件。 tip4 Propagation Delay传播延时

DC简明教程

1.1 什么是DC? DC(Design Compiler)是Synopsys的logical synthesis优化工具,它根据design description和constraints自动综合出一个优化了的门级电路。它可以接受多种输入格式,如硬件描述语言、原理图和netlist等,并产生多种性能报告,在缩短设计时间的同时提高读者设计性能。 1.2 DC能接受多少种输入格式? 支持.db, .v, .vhd , edif, .vgh等等,以及.lib等相关格式。 1.3 DC提供多少种输出格式? 提供.db, .v, .vhd, edif, .vgh等,并可以输出sdc, .sdf等相关格式文件。 1.4 DC的主要功能或者主要作用是什么? DC是把HDL描述的电路综合为跟工艺相关的门级电路。并且根据用户的设计要求,在timing和area,timing和power上取得最佳的效果。在floorplanning和placement和插入时钟树后返回DC进行时序验证 1.5 如何寻找帮助? 帮助可以用3种求助方式: 1. 使用SOLD,到文档中寻求答案 2. 在命令行中用man+ DC命令 3. 在命令行中用info+ DC命令 1.6 如何找到SOLD文档? SOLD文档可以在teminal中输入sold&执行。 $> sold& 或者用命令 which dc_shell找到dc的安装目录。找到online目录。 1.7 如何配置DC? 综合设置提供必要的参数给DC,使工具能够知道进行综合时所需要的必要的信息,即重要参数:工艺库,目标库,标志库等等。要在.synopsys_dc.setup上设置好这些参数。而.synopsys_dc.setup要在三个目录下有说明,一个是synopsys的安装目录,一个是用户文件夹,最后一个是工程目录。由后一个设置覆盖前一个文件。 参数包括:search_path, target_library, link_library, symbol_library 1.8 target_library 是指什么? target_library是在synthesis的map时需要的实际的工艺库

相关主题
相关文档
最新文档