武汉大学教学实验报告实验名称集成电路实验指导教师孙涛姓名王晓东年级08 学号2008301200188 成绩一、预习部分1.实验目的2.实验基本原理3.主要仪器设备(含必要的元器件、工具)实验一:Shell命令与Solaris9桌面管理一.实验目的了解Sorlaris 平台发展历史,Unix 操作系统的主要三个部分。
掌握Unix 的Shell 基本命令,公共桌面管理(Common Desk Environment)基本操作,Unix 的文件管理。
二.预备知识与实验原理计算机基本知识,Unix 操作系统发展的历史、特点,基本UNIX Shell 文件管理命令(见本章第一节)。
三.实验设备与软件平台Unix 服务器,工作站。
四.实验内容与要求熟悉三种UnixShell,及基本文件管理命令行命令:掌握UnixShell 的基本命令、使用、参数意义;并学会使用帮助;熟悉Unix 文件管理系统;基本掌握Sorlaris 公共桌面管理平台(CDE)。
五.实验步骤1. 分别完成并熟练掌握如下实验内容(参阅第一节内容)Bourneshell($)Kornshell($)Cshell(%)ls 显示文件名cd 目录转换mkdir 创建目录rmdir 删除目录cp 文档复制find 文件查找vi 编辑器geidt 编辑器man 帮助exit 系统退出reboot 系统重启pwd 显示当前路径二、实验操作部分1.实验操作过程(可用图表示)2.结论2. Sorlaris 操作系统的三个基本组成,熟悉命令行下的文件管理,子目录等。
3. CDE(公共桌面环境)(1)geidt 编辑文本文件(2)在CDE 下运行可执行程序(3)文件管理思考题1.简述UNIX 操作系统的三个组成部分。
答:UNIX 操作系统是基于文件的,其三个主要部分是Kernel(内核)、Shell、文件系统。
Kernel是操作系统的核心,Shell是用户与kernel之间的接口。
它就像是命令的解释器或翻译器。
Solaris环境的文件结构是分层的目录树结构,类似于DOS的文件结构。
2.简述UNIX 演化过程和特点。
答:最早的计算机都采用的是批处理的方式,耗费的时间和财力都比较大,为克服这一缺点,贝尔实验室研制了一种较为简单的操作系统即UNIX。
随着许多商业机构和学术机构的加入,使UNIX得到了迅速的发展。
直至今天拥有强大功能、性能良好的的UNIX 系统。
UNIX系统具有可移植性好、可靠性高、伸缩性强、开放性好、网络功能强、数据库支持强大、用户界面良好、文本处理工具强大而完美、开发环境良好、系统审计完善、系统安全机制强、系统备份功能完善、系统结构清晰、系统的专业性和可制定性强的特点。
3.何为UNIX shell?有那些常用shell 命令?答:UNIX Shell 是Unix 内核与用户之间的接口,是Unix 的命令解释器。
常用的shell 命令有Bourne Shell(sh)、Korn Shell(ksh)、C Shell(csh)、Bourne-again Shell (bash)。
实验二:Tcl脚本命令与编程——从1到100的累加一. 实验目的掌握Tcl 基本命令,脚本编程的语法,数据类型、控制结构命令,以及基本Tcl 脚本编程。
二. 预备知识与实验原理见本章第二节,Tcl/Tk 脚本基础。
三. 实验设备与软件平台UNIX 服务器一台,工作站数台,Tcl 8.3.2。
四. 实验要求(1)掌握Tcl 的基本语法、命令结构。
(2)编写脚本程序实现1 到100 的累加。
五. 实验步骤阅读第二节内容并完成如下实验:1.熟悉Tcl 的基本语法。
注释,变量特点,置换,命令结构。
“命令”是指每一条Tcl 语句都可以理解成命令加参数的形式:命令[参数1] [参数2] [参数3] [参数4] ...... [参数N]2.变量的声明,赋值,输出: set,puts, incr 的使用。
3.掌握条件、循环、分支控制流:if 语句,while 语句,for 语句;Tcl 脚本的编写过程;掌握$ %#等符号的意义。
4. 掌握置换方法:变量置换$命令置换[expr ]5. 编写Tcl 脚本实现1 到100 的累加和(使用VI 或gedit 编辑TCL 脚本,脚本末尾加指令:exit) 。
6. 运行脚本:dc_shell –tcl –f filename.tcl实验代码为:for {set I 0;set sum 0;} {$i<=100} {incr I; set sum [expr $sum+$i];} {puts $i;puts $sum;}思考题1.何为TCL 脚本语言,并简述特点和程序编写的注意事项?答:tcl 是类似于Unix Shell 的一种解释性的语言,它可以利用tcl 语法来创建按钮、滚动杆、对话框以及窗口等GUI 组件。
需要注意的是,交互的命令以百分号( % )开始;在通常情况下,tclsh 和wish -般是以非交互的方式来使用的,这就是说,它们在Unix 的提示符( $ )下被调用并执行脚本;Tcl 是一种可嵌入的命令脚本化语言(Command Script Language)。
“可嵌入”是指把很多应用有效,无缝地集成在一起。
2.如何编写Tcl 脚本语言的过程,如何调用?答:打开Terminal就可编写Tcl脚本语言。
键入正确的文件地址即可调用。
3.请简要说明何为tcl 的置换,有哪些置换方式?答:TCL 解释器在分析命令时,把所有的命令参数都当作字符串看待,TCL 提供三种形式的置换:变量置换、命令置换和反斜杠置换。
每种置换都会导致一个或多个单词本身被其他的值所代替。
置换可以发生在包括命令名在内的每一个单词中,而且置换可以嵌套。
实验三:8位累加器VCS CLI仿真验证一. 实验目的掌握集成电路计算机设计工具验证仿真工具VCS(Verilog Compiled Simulator)的基本操作命令行命令,从集成电路Verilog 设计到VCS 验证的基本流程;掌握利用命令行来实现对Verilog 设计的调试与分析。
二. 预备知识与实验原理1. VCS 部分见第一节;2. 8 位累加器逻辑框图;3. 8 位累加器源码中有错误,调试并找出错误。
三. 实验设备与软件平台UNIX 服务器,unix 工作站及Synopsys VCS。
四. 实验内容1. 掌握VCS 的基本命令行命令(包括编译,仿真等);3.掌握集成电路设计验证的基本流程;4.掌握VCS 调试、验证结果分析;5.运用Verilog 实现8 位累加器;6.掌握VCS 命令和选项的意义;7.按照实验步骤找出8 位累加器的错误并改正;8.结果分析并明确其含义。
五. 实验步骤1. VCS的编译2. 利用Verilog SystemTask Calls进行调试3. 利用VCS CLI进行调试思考题1.集成电路从设计到验证的基本流程?答:用VCS 编译Verilog 源程序→执行simv 进行仿真验证→在错误点停下→确定错误并改正→编译仿真确认修改是否正确→解释结果2.VCS 对verilog 模型进行仿真包括两个步骤?答:VCS对verilog模型进行仿真包括两个步骤:编译verilog文件成为一个可执行的二进制文件;运行该可执行文件。
3.VCS 验证各选项参数的含义?答:①$stop 为了设置断点将$finish 改为$stop,这样每当发现一个错误的时候,结果都会由$display 函数显示出来,同时仿真过程会停在出错的地方。
②-s 可以启动CLI 并且将仿真时间停在0 时刻,-l 可以将所写过的命令记录下来。
③?,可以显示所在的位置,即位于模块的哪一层。
④print 显示所有的变量值。
⑤scope 命令进入指定模块⑥alias 命令新设立一个命令pravas,用来显示变量值。
4.在lab1 中,能不能在adder.f 文件中加入-R?答:不能。
-R的作用是显示文件及所有子目录,而adder.f为自定义格式,没有其他文件或子目录可以显示。
5.在lab1 中,是否可以用-v 代替-y?如果可以该怎样进行?答:可以,-v lib_file 在文件lib_file 中寻找未被编译的相关模块。
-y lib_dir 在lib_dir 的路径下的所有文件中寻找未被编译的相关模块。
可以利用TCL命令的置换功能来实现。
三、实验效果分析(包括仪器设备等使用效果)实验四:8位累加器VCS 图形界面仿真一. 实验目的掌握并理解VCS 集成电路设计仿真的基本操作、基本命令、调试;独立完成累加器的设计,掌握VCS 图形界面8 位累加器RTL 级仿真、调试与结果分析。
二. 预备知识与实验原理1. 集成电路Verilog 设计基础,Solaris 9 操作系统基本知识。
2. VCS 的基本功能,VCS 验证的基本流程。
3. Verilog的基本语法结构4. 8位累加器代码:Fa.v:基本的加法模块;Add4.v:4位的加法器;Add8.v:顶层的模块,通过引用4位加法模块实现;Addertb.v:实验中的测试模块;5. 实验流程用VCS 编译Verilog 源程序并激活VirSim→进行仿真验证→在错误点停下→确定错误并改正→编译仿真确认修改是否正确→解释结果三. 实验设备与软件平台UNIX 服务器,unix 工作站,synopsys VCS。
四. 实验内容1. 基于Verilog 的8 位累加器的设计;2. 掌握并理解VCS 基本仿真操作和命令;3. 基于VCS 的累计器的验证;4. 基于VCS 的累计器的调试;5. 结果分析。
五. 实验步骤1. 了解8位累加器各个模块和源程序(参考synopsys Lab3累加器)2. Lab 3 parta(分别为步骤3和步骤6)3. Mupdate 的作用4. 打开波形图5. 从工程树状管理面板中加入信号模块到波形图的左边的面板,在Window子菜单中选择Hierarchy6. 修改仿真StepTime7. 利用按钮观察波形图的变化Z观察z观察100%z观察8. 仿真时间复位9. 设置仿真时间为100010. 利用逻辑图跟踪sum_test的值,并定位错误。
11. 修改8位累加器的设计源码a) 打开“Source Windows”b) 将2:1 多路选择器模块从逻辑图中拖至“Source Window”c) 在“Source Windows”窗口中,点击鼠标中键,在下拉菜单中选择“Go to Parent”12. 重新编译进行仿真验证思考题1.VCS 有命令行仿真命令(Command Language Interface CLI),同时VCS 具有有图形仿真工具,二者在功能和特点上有那些异同?答:相同点在于二者都能进行编译和仿真;而不同点则是:前者是利用程序代码来进行编译仿真,比较繁琐,而后者主要利用直观的图形来描述,无需花费大量时间用在程序的书写和检查方面。