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

synopsys DC10.03图文安装配置详解
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。

喾林原创

在两个“Custon ”后输入Linux 系统的MAC 。

注:Linux MAC 获取命令。

A :lmhostid 下图(六)红线处即为 MAC 。

图 (六) B :ifconfig 下图(七)红线处即为MAC,在填写是需删 除“:”及字母大写换成小写。

图 (七)

填写好以上内容后点击“Generade ”出现license

内容界面,取名

ynopsys.dat保存(例:保存到D:/Synopsys SSS Feature Keygen)。2)、点击菜单键>运行(或者快捷键:WIN+R),输入“cmd”进入命令界面。

进入D:/Synopsys SSS Feature Keygen目录下。具体命令如图(八)所示。

(注:“cd”为改变路径的命令,“ls”为显示当前路径下文件及文

喾林原创

图(八)

到Synopsys SSS Feature Keygen路径后输入“sssverify synopsys.dat”回车后自动在D:/Synopsys SSS Feature Keygen下生成一个名为license.dat的文件。(注:该路径下必须存在sssverify.exe及之前生成的synopsys.dat文件,否则生成不了或者生成的license.dat失效导致启动不了DC。)

喾林原创

3)、合并dat 文件

打开license.dat 文件(可用记事本打开)复制出图(九)红框所示部分内容。

图 (九)

再打开synopsys.dat 文件(和license.dat 文件一样,也可用记事本打开)。删除图(十)红框所示内容再将图(九)红框内容粘贴到该处。

图 (十)

这时license 初步完成,但是还得更改SERVER 行和DAEMON 行。 说明:A:SERVER 行格式

SERVER 计算机名 网卡地址(MAC ) 端口

(注:在liunx 下查看计算机名的命令:uname –a 。

MAC 获取方法前面已说过,默认生成端口为27000。可以自

己改动)

喾林原创B:DAEMON 行格式

DAEMON snpslmd !!!Path_to_snpslmd.exe

“snpslmd ”后是该工具的路径及名称。如果没改动,该

路径则为: /SCL 安装目录/linux/bin/snpslmd 。

修改完以上内容,license 制作完全完成。

5、环境变量的配置(bash )

环境配置内容一般包含一下几个内变量: SNPSLMD_LICENSE_FILE 、LM_LICENSE_FILE 、SYNOPSYS 和PATH 。

SYNOPSYS 该变量指向DC 安装目录

SNPSLMD_LICENSE_FILE 该变量指向计算机及其端口

LM_LICENSE_FILE 该变量指向license.dat 文件存放路径 PATH 该变量指向运行程序的目录,一般为DC

安装目录下的bin 文件夹

以下为我环境变量的配置:

#alias syn='/eda_tools/synopsys/SCL/linux/bin/lmgrd -c

/eda_tools/synopsys/DC10.03/license.dat

> /eda_tools/synopsys.log'

export SYNOPSYS=/eda_tools/synopsys/DC10.03

export SNPSLMD_LICENSE_FILE=27000@localhost.localdomain #export

LM_LICENSE_FILE=/eda_tools/synopsys/DC10.03/synopsys.dat

喾林原创

export PATH=$SYNOPSYS/bin:$PATH

修改完成后source 环境,运行(dc_shell 、design_vision )即可。

6、说明

Synopsys 公司的软件license 制作好了即可启动,不需特别的破解,环境配置好后不能启动一般都是license 制作的问题。之前我启动的时候

运行dc_shell 报错:

Fatal: Design Compiler is not enabled. (DCSH-1);

运行design_vision 报错:

Unable to obtain feature 'Design-Vision ' because:

Error: Can't communicate with the license server. (SEC-12)

Please contact at root@(none), who is your local Synopsys license administrator for Synopsys site 000.

Unable to obtain feature 'Design-Analyzer ' because:

Error: Can't communicate with the license server. (SEC-12)

Please contact at root@(none), who is your local Synopsys license administrator for Synopsys site 000.

Fatal: At least

这是license 没有正确的启动。这是有可能是因为license 制作过程有问题。

在制作时需要注意license 工具里面的两个文件:一为EFA LicGen 0.4b 文件加里面的licgen.dll ,该文件不能是老版本的。另一文件为EFA LicGen 0.4b/packs/synopsys.src,license 启动不成功很有可能是因为该文件导致生成的license 不能启动。

Gems Simics 安装报告

课程设计报告 多核全系统模拟器GEMS分析 班级: 学号: 姓名: 2011年7月

1 目的和背景 由于单核处理器的处理能力已经接近极限,很难再有提高,多核处理器体系结构应运而生。在处理器体系结构的设计中,由于用硬件做测试投资大,且不便于设计,不具有多次性,因此体系结构软件仿真技术是研究中的一门新技术。 而多核全系统模拟器GEMS/Simics框架能够模拟单核处理器、并行式多处理器、阵列式处理器等体系机构。故本此课设选用构建GEMS+Simics框架,先逐步介绍搭建GEMS+Simics的各个环节,然后初步的研究单核和多核运行时程序在每个CPU中的运行情况,分析模拟器的构成及各部分的功能及性能分析。 2 安装流程 2.1软件准备 1) 在Ubuntu的官方网站上获得32位的Ubuntu10.04 2) 由于GEMS是开源软件首先在https://https://www.360docs.net/doc/154234392.html,/gems/registercgi下进行注册,然后再在https://https://www.360docs.net/doc/154234392.html,/gems/download.html下进行下载 3)下载Simics时麻烦一些,先在https://https://www.360docs.net/doc/154234392.html,/register/register.php地址上进行注册,而且必须作为学生或教职员工注册,然后申请免费的license。 4) 在https://www.360docs.net/doc/154234392.html,/ubuntu/pool/main/z/zlib/网站上下载和自己的系统配套的zlib1g_1.2.3.3.dfsg-15ubuntu1_i386.deb和zlib1g-dev_1.2.3.3.dfsg-15ubuntu1_i386.deb 5) 在https://www.360docs.net/doc/154234392.html,/index2/unixsystem/Solaris/sol-10-u2-ga-sparc-v4/或者https://www.360docs.net/doc/154234392.html,/us/sun/index.htm或者在网站上获得Soloris ,建议使用前者2.2安装Ubuntu 此处不建议使用虚拟机安装,因为会影响到后面的安装,如果有CD/DVD可以直接用CD/DVD安装;也可以用USB或硬盘安装;最简单的是虚拟光驱wubi安装,但磁盘空间最大只能为30G,虽然之后可以用LVPM工具进行扩充,但不建议使用,因为速度很慢,且容易出错。最好采用CD/DVD安装。 2.3GEMS/Simics安装 1) 安装必要的工具 s udo apt-get update sudo apt-get install build-essential sudo apt-get install bison sudo apt-get install flex sudo dpkg –-install zlib1g_1.2.3.3.dfsg-7ubuntu1_i386.deb sudo dpkg –-install zlib1g-dev_1.2.3.3.dfsg-7ubuntu1_i386.deb

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来查看所有在工艺库中设定的各个参数的单位 定义电路的工作环境和综合环境

Ruby的简单实例

Ruby的简单实例 ?出处:站长百科 ?原文地址:https://www.360docs.net/doc/154234392.html,/wiki/Ruby的简单实例 ?本电子书整理自站长百科Ruby简单实例词条,查看内容请访问网站。 让我们写一个计算阶乘的函数.对于阶乘的数学定义如下: n! = 1 (当 n==0 时) = n * (n-1)! (其它情况) 在Ruby里,可以这样来写: def fact(n) if n == 0 1 else n * fact(n-1) end end ?出处:站长百科

你可能会发现 end 的反复出现,正因为如此,Ruby被叫做"类Algol"语言.(实际上,Ruby的语法更像Eiffel).同时,你也可能会发现这段函数缺少 return语句.在这里是可以用return的,但却不是必须的,因为一个Ruby的函数会自动返回它所最后赋值的元素. 让我们来试试我们的阶乘函数.加入一行代码会使它成为一个可工作的程序: # Program to find the factorial of a number # Save this as fact.rb def fact(n) if n == 0 1 else n * fact(n-1) end end print fact(ARGV[0].to_i), "\n" ?出处:站长百科

这里,ARGV是一个包含命令行参数的数组,to_i将字符串转化为整数. % ruby fact.rb 1 1 % ruby fact.rb 5 120 当参数为40时它可以工作吗?它将使你的计算器产生溢出(overflow)... % ruby fact.rb 40 815915283247897734345611269596115894272000000000 它确实算出来了.实际上,Ruby能处理任何你机器的内存所允许的整数.实际上400!也可以: % ruby fact.rb 400 6403452284662389526234797031950300585070258302600295945 8684 4459428023971691868314362784786474632646762943505750358?出处:站长百科

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。

《Ruby on Rails敏捷开发最佳实践》PDF教程

《Ruby on Rails敏捷开发最佳实践-精典章节收录》PDF教程 申明:本PDF教程由https://www.360docs.net/doc/154234392.html,网站搜集整理,如需转载,请务必注明出处。介绍:Ruby On Rails框架一经推出,立即引起B/S结构应用开发领域革命性的变化:开发者无需理会架构,只需要按Rails框架的约定向应用中填充代码,一切OK。 为了让众多Ruby On Rails学习、工作者,以及准备使用Ruby On Rails作为开发平台的开发人员能快速掌握Ruby On Rails的开发,作者精心编写了本书,书中既详细讲解了Ruby语言的基本语法,又重点介绍了Rails框架相关知识点的各种用法。最后给出两个综合案例,作为Ruby On Rails应用开发者的参考,读者可以通过这两个案例触类旁通,解决日常开发中的问题。 读者对象 本书适用于正在使用Ruby On Rails进行应用开发的开发人员、渴望了解Ruby On Rails框架的开发人员,尤其适合有初步的Java EE开发经验,想从Java EE平台过渡到Ruby On Rails开发平台的开发者。(未完待续) https://www.360docs.net/doc/154234392.html,

第15章Rails 的邮件抽象层 本章要点 ·电子邮件的基础知识 ·SMTP 协议初步 ·POP3协议初步 ·在Ruby 程序中使用SMTP 支持发送邮件 ·在Ruby 程序中使用POP3支持接收邮件 ·ActionMailer::Base 的邮件支持 ·在Rails 应用中发送邮件 ·发送HTML 格式邮件 ·发送带附件的邮件 ·电子邮件在实际应用中的用途 ·账户需要激活的优势 ·实现注册激活系统 15.4注册激活系统 本章将介绍一个注册激活系统,当用户输入注册信息时,必须输入有效的邮箱,当用户注册成功后,并不能立即登录系统,而要登录注册时输入的邮箱,然后通过该邮箱内的激活邮件来激活自己账户。通过这种方式可以防止用户恶意注册,保证用户必须输入有效的邮箱地址。 15.4.1基本注册功能 当用户注册一个账户时,实际上就等同于向底层数据表增加一条记录,因此本应用必须有持久层支持。本示例应用的注册功能需要一个数据表支持,该数据表用于保存系统的所有注册账户。下面是本应用的数据库脚本: drop database if exists regist_development; create database regist_development; use regist_development; --创建用户表 create table users ( id int not null auto_increment,

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;

ruby入门教程 免费篇

介绍 这是一个短小的Ruby入门,完全读完只需20分钟。这里假设读者已经安装了Ruby,如果你没有安装的话,请在阅读文前访问Ruby 官方网站进行下载并安装。 交互式的Ruby 打开IRB(交互式Ruby外壳): 如果你使用Mac OS X,那么请打开终端窗口输入irb; 如果你使用Linux,那么请打开shell输入irb; 如果你使用windows,那么请在开始菜单中找到Ruby->fxri,并执行它。 Ok,在打开IRB之后,在其中输入"Hello World"。 Ruby听从你的安排! 发生了什么?我们刚才编写了世界上最短小的“Hello World”程序吗?这么说不太确切。第二行输出是IRB告诉我们:上一个表达式的评

估结果。如果我们希望打印出“Hello World”,那么就还需要一点努力: puts在Ruby中是一个简单的打印输出命令。后面的“=>nil”表示什么?——那是表达式的结果。Puts总是返回nil,这是Ruby中表示“绝对无值”(absolutely-positively-nothing value)的方式,看上去有些类似Java中的null。 你的免费计算器在这里! 无需做什么,我们就能把IRB作为一个简单的计算器使用: 这样就能计算3+2。够简单的!那么3乘以2如何?你可以在下面继续输入3*2,也可以回到上面(3+2处)重新修改你刚刚输入的计算公式。使用键盘上的向上键,使光标到达3+2那一行,再用左键移动光标到加号上,然后使用空格键进行修改。

下面,让我们尝试计算3的平方: 在Ruby语言中,**表示幂运算。那么如何计算平方根呢? Ok,等一下,表达式中的sqrt(9)表示什么?你一定能猜到这是计算9的平方根。而Math表示什么?不要着急,下面就让我们进一步了解像Math这样的模块。 模块——按照主题分组的代码 Math是Ruby内建的数学模块。在Ruby中,模块提供了两种角色:一种角色是将类似的方法聚集在同一个“家族”名下。因此,Math 也包括sin、tan这样的方法。第二种角色是一个圆点(dot),它标记了消息的接收者。什么是消息?在上面的例子中,sqrt(9)便是消息,它意味着调用sqrt方法取出9的平方根。 Sqrt方法调用的结果是3.0。你可能注意到它并不是3。这是因为多数情况下,数字的平方根并不是整数,所以这里返回了一个浮点数。

Ruby语言入门教程

Ruby语言入门教程 Version0.6 编著张开川 kaichuan_zhang@https://www.360docs.net/doc/154234392.html,

目录 自序 (3) 第一章概述 (4) 1.1编程语言的发展简史 (4) 1.2编程其实很容易 (5) 1.3Ruby的由来 (6) 1.4Ruby的特性 (7) 第二章 (8) 2.1下载Ruby1.8.5 (8) 2.2安装Ruby1.8.5for Windows (8) 2.3开始第一个小程序 (10) 2.4ruby语言的集成开发环境 (12) 第三章语法快览 (14) 3.1注释与分行 (14) 3.2分隔符 (15) 3.3关键字 (16) 3.4运算符 (17) 3.5标识名和变量的作用域 (19) 3.6类库 (19) 3.7数据类型 (20) 3.8赋值和条件运算符 (21) 3.9条件判断语句 (22) 3.10循环语句 (24) 3.11常与线程 (29) 3.12一个综合小练习 (30) 第四章一切都是对象 (31) 4.1两种思维方式 (31) 4.2对象 (32) 4.3封装 (33) 4.4继承 (34) 4.5多态36小跋37

自序 其它编程语言的学习都主要来自于书本,而Ruby的学习却是完全经由网络。我想,回报网络的最好方式就是在网络上还没有Ruby中文书籍的时候,编著一本Ruby中文入门教材。感谢编程语言发展史上的前辈们;感谢网络论坛上程序员们或是理智,或是激烈的讨论;感谢一切看到这本书的人。 曾经经受了SCJP的挖掘、挖掘、再挖掘(基于1.4,还没有Java5,Java6的许多特性),初遇Ruby,觉得十分亲切,仿佛童年时得到一个新奇的玩具。把玩之后,才发现玩具的塑料外壳里,藏着一把瑞士军刀。自此,模式、框架常常变得多余,很多时候可以更直接。好比在量子时代,星际航行只是一次时空转换而已,航天飞机静静地躺在博物馆里,那是旧时代科学的极致代表。 从物理课本中,我们感受到爱因斯坦的伟大,但对牛顿则怀以更加崇敬的心情。身体终将消逝,而你,我,他——我们的意识却将在网络中延续。旧时代文明的延续依赖于纸质书籍,书籍传递了理性之光。也许直觉才是这个宇宙本体的最初相用,直觉是一种天赋,我无从把握,但是理性,如此真切实在,她照亮了我,照亮了你,直到未来。 思,亘古如斯又倏忽闪现,谁的惊愕能深究它。 ——海德格尔 张开川 2006年12月31日

启动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”

ruby文件操作

1ruby文件操作 关键字:file ruby 转! 1检测文件是否存在及其大小 FileTest的exist?方法可以检测一个文件是否存在: Ruby代码 1.flag=FileTest::exist?("LochNessMonster") 2.flag=FileTest::exists?("UFO") 3.#exists?is a synonym for exist? Ruby代码 1.flag=FileTest::exist?("LochNessMonster") 2.flag=FileTest::exists?("UFO") 3.#exists?is a synonym for exist? 如果我们想要知道文件是否有内容,可以使用File::Stat的zero?方法: Ruby代码 1.flag=File.new("somefile").stat.zero? Ruby代码 1.flag=File.new("somefile").stat.zero? 这个将会返回true,这是因为在ruby中0也是true,nil才是false. 所以我们可以使用size?方法: Ruby代码 1.if File.new("myfile").stat.size? 2.puts"The file has contents." 3.else 4.puts"The file is empty." 5.end

1.if File.new("myfile").stat.size? 2.puts"The file has contents." 3.else 4.puts"The file is empty." 5.end FileTest模块里面也有zero?和size?方法: Ruby代码 1.flag1=FileTest::zero?("file1") 2.flag2=FileTest::size?("file2") Ruby代码 1.flag1=FileTest::zero?("file1") 2.flag2=FileTest::size?("file2") 这里还有一个size方法: Ruby代码 1.size1=File.size("file1") 2.size2=File.stat("file2").size Ruby代码 1.size1=File.size("file1") 2.size2=File.stat("file2").size 2检测特殊文件属性 这边要注意,File类mix了FIleTest模块,并且FileTest模块和File::Stat 模块功能上也有很多重复. unix/linux有面向字符和面向块的设备。FileTest的方法blockdev?和chardev?可以进行测试:

Ruby中单元测试(Unit Test)方法

Ruby中单元测试(Unit Test)方法 Ruby中也提供了单元测试的框架,类似Java中的JUnit,此框架在Ruby中被成为mini test。 我们先看一个例子,这个是我的源代码: [code lang=”ruby”] require ‘json’ module PMU_INTERFACE class IUserLoginReq def initialize(command_id=nil, user_name=nil, user_password=nil, auth_code=nil, token=nil) @command_id = command_id @user_name = user_name @user_password = user_password @auth_code = auth_code @token = token end def to_json(*a) { "json_class" => self.class, "data" => self.to_json_hash }.to_json(*a) end def to_json_hash {:command_id => @command_id, :user_name => @user_name, :user_password => @user_password, :auth_code => @auth_code, :token => @token} end def self.json_create(json_str) data = json_str["data"] new(data["command_id"], data["user_name"], data["user_password"], data["auth_code"], data["token"]) end attr_accessor :command_id, :user_name, :user_password, :auth_code end class IUserLoginResp def initialize(result=nil, user_name=nil, user_password = nil) #the login result @result = result #the token holding by client @user_name = user_name @user_password = user_password end def to_json(*a) { "json_class" => self.class,

Ruby on Rails 之 Oracle 应用:简易教程

Ruby on Rails 之 Oracle 应用:简易教程 您可能听说过 Ruby on Rails,一个似乎正以狂风暴雨之势席卷 Web 开发社区(尤其是 JEE 和 PHP 的编程人员)的新应用框架。 Rails 是功能强大的 Web 应用平台,而且深受 JEE 和 PHP 的编程人员的喜爱。当您了解了 Rails 的优势后,您就会理解它为何对 J2EE 和 PHP 编程人员有如此的吸引力。首先,它使用任何自视甚高的设计模式专家都很钦佩的严格的模型-视图-控制器体系结构;这可以解释它为什么吸引了大量 JEE 开发人员。其次,使用 Rails 可以轻松地构建基本系统—这对 PHP 开发人员具有吸引力。 然而,从数据库的角度来说,Rails 还是有一些非常大的局限性。Rails 对您的数据库布局和应用程序需求做出了许多假定。例如,Rails 假定所有表都使用单一的非组合式主键。需通过Rails 插件支持组合式主键。此外,Rails 支持多数据库而且可以对其间事务进行协调;Rails 不支持两阶段提交。 本文章的目的不在于对 Rails 进行赞扬或批评,而只是对该技术的介绍。其中包含表扬也包含有批评。有时批评可能看起来过重了(尤其对于那些 Rails 的热爱者来说),但是请不要将 Rails 看得神乎其神。使用任何 Web 应用框架都是需要技巧的,无论是 JEE、https://www.360docs.net/doc/154234392.html, 还是 PHP。从长远来看,使用 Rails 可能比使用许多其他 Web 应用程序开发平台更高效,但是也需要假以时日来学习其中的技巧。 Ruby 是什么?Rails 是什么? Ruby 是一种动态编程语言,在很多方面和 Perl、Python 以及 Smalltalk 相似,但也有自己的特点。Java 和 PHP 编程人员似乎可以非常轻松地学会该语言,而且他们是 Ruby 的最忠实的拥护者。但是其他人也为该语言所吸引;这其中还包括著名的 Microsoft 王国中最资深的专家之一 Don Box。 Ruby 并不是新生事物;它创建于 1993 年,时间比 1995 年发布的 Java 或 PHP 都要久。当时 Ruby 语言虽已成熟,但不如某些其他语言受欢迎。因此,Ruby 编程语言的周边体系并不像 Java、PHP 或 Perl 那样丰富。因此,您能找到的有关该语言的框架、信息库、书籍、Web 站点、网志和其他资源也相对较少。 David Heinemeier Hanson 提出了 Rails 框架(Ruby 历史上最受欢迎的应用程序)后,Ruby 社区的软弱无力的市场表现近期发生了变化。Rails 将 Ruby 编程语言扩展为域特定的语言,特别适合 Web 开发。它还使用了另一种语言扩展ActiveRecord,使 Ruby 具有对象关系持久性。除了不支持组合主键和两阶段提

Anaconda介绍、安装及使用教程

Anaconda介绍、安装及使用教程 开源 安装过程简单 高性能使用Python和R语言 免费的社区支持 其特点的实现主要基于Anaconda拥有的: conda包 环境管理器 1,000+开源库 如果日常工作或学习并不必要使用1,000多个库,那么可以考虑安装Miniconda(图形界面下载及命令行安装请戳 3. Anaconda、conda、pip、virtualenv的区别 ① Anaconda Anaconda是一个包含180+的科学包及其依赖项的发行版本。其包含的科学包包括:conda, numpy, scipy, ipython notebook等。 ② conda conda是包及其依赖项和环境的管理工具。 适用语言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。 适用平台:Windows, macOS, Linux 快速安装、运行和升级包及其依赖项。 在计算机中便捷地创建、保存、加载和切换环境。 如果你需要的包要求不同版本的Python,你无需切换到不同的环境,因为conda同样是一个环境管理器。仅需要几条命令,你可以创建一个完全独立的环境来运行不同的Python版本,同时继续在你常规的环境中使用你常用的Python版本。——conda官方网站 conda为Python项目而创造,但可适用于上述的多种语言。 conda包和环境管理器包含于Anaconda的所有版本当中。 ③ pip pip是用于安装和管理软件包的包管理器。 pip编写语言:Python。 Python中默认安装的版本: Python 2.7.9及后续版本:默认安装,命令为pip Python 3.4及后续版本:默认安装,命令为pip3 “Pip installs Python”(“pip安装Python”) ④ virtualenv virtualenv:用于创建一个独立的Python环境的工具。 解决问题: 当一个程序需要使用Python 2.7版本,而另一个程序需要使用Python 3.6版本,如何同时使用这两个程序? 如果将所有程序都安装在系统下的默认路径,如:/usr/lib/python2.7/site-packages,当不小

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两个格式,但是他们支持在中间过程中加入参数而且以便以后可以加快读取过程。

Redmine安装配置

1.下载RubyInstaller1.8.7-p370。下载地址https://www.360docs.net/doc/154234392.html,/projects/rubyinstaller/ 2.下载rubygems1.8.24。下载地址https://www.360docs.net/doc/154234392.html,/projects/rubygems/ 3.下载redmine2.0.3。下载地址https://www.360docs.net/doc/154234392.html,/projects/redmine/ 4.安装RubyInstaller1.8.7-p370,安装目录不能有空格,如d:/ruby;另外将rubygems解压 到与ruby平级的目录rubygems-1.8.24,再将redmine也解压到与ruby平级的目录redmine-2.0.3。123 5. 6.进入dos界面,输入命令bundle install,效果如图所示: 7.解决以上错误参考http://rubyer.me/blog/134/,下载 DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe。下载地址https://www.360docs.net/doc/154234392.html,/downloads 8.运行,解压文件到(与ruby同级的目录)DevKit 9.在dos下切换到该目录,即cd DevKit,然后输入ruby dk.rb init,效果如下:

10.检查是否安装成功,输入命令gem install rdiscount --platform=ruby,效果如下: 11.接着切换到redmine目录再次执行bundle install --without development test rmagick,效 果如下:

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)

ruby安装配置教程详解

Ruby On Rails安装配置详解(WINDOWS) Windows系统下开发环境的搭建 本文中将介绍如何在Windows操作系统下搭建RoR开发环境。 1.远程安装 a、步骤1:下载并安装Ruby一键安装包 下载最新的Ruby 1.8.4-16一键安装包,其下载地址为https://www.360docs.net/doc/154234392.html,/ projects/rubyinstaller/。 下载后运行该安装文件,显示界面如图2-1所示。 图1 安装程序运行界面 一直单击Next按钮默认安装即可。安装完成后打开命令行窗口,输入并运行命令ruby –v,安装成功会显示Ruby的版本号,如图2-2所示。 图2 Ruby的版本信息 接下来需要配置ClassPath,在环境变量中新增环境变量名"RUBY_HOME",变量值"D:\ruby",该值以本机Ruby安装目录为准。然后在path 加入"%BURY_HOME%\bin"。 测试Ruby是否安装成功 在命令行下运行ruby -v ,显示如下: ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32] 如果不放心,再运行ruby -e 'puts "hello world"' ,显示如下: hello world 至此,Ruby的安装告一段落,接下安装Rails。

安装Rails之前需要按顺序安装以下模块: gem install activesupport gem install activerecord gem install actionpack gem install actionmailer gem install actionwebservice(简称aws) 最后才是rails b、步骤2:使用RubyGems安装Rails RubyGems是标准的Ruby包管理器,它的功能类似于Linux下的apt-get。使用RubyGems可以方便地从远程服务器下载并安装Rails。 打开命令行窗口,输入并执行命令gem install rails --remote或gem install rails-- include-dependencies,程序运行结果分别如图3和图4所示。 图3 命令执行过程中 图4 命令执行过程中 打开命令行窗口输入并运行rails –v,执行结果如图2-5所示。 图5 Rails的版本信息 显示的Rails版本为1.0.0,Rails安装成功,即RoR开发环境搭建成功。 注意使用gem install rails - -remote安装Rails,是直接从远程服务器下载Rails安装包文件;而使用gem install rails - -include-dependencies命令安装Rails,会首先在本地主机上寻找是否存在Rails 的安装包,如果没有则从远程服务器下载安装。 2.本地安装 a、步骤1:下载并安装Ruby一键安装包 具体步骤请参见“远程安装”部分。 b、步骤2:获取Rails安装插件包

相关文档
最新文档