文档视界 最新最全的文档下载
当前位置:文档视界 › 同步fifo设计实验报告

同步fifo设计实验报告

同步fifo设计实验报告
同步fifo设计实验报告

课程设计报告

题目:同步的设计

姓名: 贾安乐

学号:20105000

学院:电子科学与应用物理学院专业:电子科学与技术10-3 组员: 徐健勋、兰伯章

指导老师:杨小平、杞宁

日期:2014.12.15

一.课程设计要求

1.课程设计的目的

通过运用语言编写程序,体会程序的逻辑性,掌握基本的程序开发的注意事项。在实践中,学习掌握简单、周全的编程方法。

掌握较大工程的基本开发技能。

培养综合运用,工具进行硬件开发的能力。

培养数字系统设计的基本能力。

理解的定义与功能,掌握的编写方法。

2.课程设计的条件

的定义与功能

仿真工具

3.课程设计的要求

是英文的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺

点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部

读写指针自动加1完成,不能像普通存储器那样可以由地址线决

定读取或写入某个指定的地址。

使用语言和仿真器完成同步的设计和验证。

使用和实验箱验证设计的正确性。

代码要符合微电子中心编码标准。

4语言

是一种硬件描述语言(),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。

是由设计自动化公司的工程师于1983年末创立的。当时设计自动化公司还叫做自动集成设计系统(),1985年公司将名字改成了前者。该公司的菲尔·莫比()完成了的主要设计工作。

1990年代初,开放国际(, )组织(即现在的)成立,面向公有领域开放。1992年,该组织寻求将纳入电气电子工程师学会标准。最终,成为了电气电子工程师学会1364-1995标准,即通常所说的95。

设计人员在使用这个版本的的过程中发现了一些可改进之处。为了解决用户在使用此版本过程中反映的问题,进行了修正和扩展,这部分内容后来再次被提交给电气电子工程师学会。这个扩展后的版本后来成为了电气电子工程师学会1364-2001标准,即通常所说的2001。2001是对95的一个重大改进版本,它具备一些新的实用功能,例如敏感列表、多维数组、生成语句块、命名端口连接等。目前,2001是的最主流版本,被大多数商业电子设计自动化软件包支持。

2005年,再次进行了更新,即电气电子工程师学会1364-2005标准。该版本只是对上一版本的细微修正。这个版本还包括了一个相对独立的新部分,即。

这个扩展使得传统的可以对集成的模拟和混合信号系统进行建模。容易与电气电子工程师学会1364-2005标准混淆的是加强硬件验证语言特性的(电气电子工程师学会1800-2005标准),它是2005的一个超集,它是硬件描述语言、硬件验证语言(针对验证的需求,特别加强了面对对象特性)的一个集成。

2009年,1364-2005和1800-2005两个部分合并为1800-2009,成为了一个新的、统一的硬件描述验证语言(, )。

5.仿真器

是公司的综合性开发软件,支持原理图、、以及()等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整设计流程。

可以在、以及上使用,除了可以使用脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。

支持的核,包含了宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方工具。

此外,通过和工具与相结合,可以方便地实现各种应用系统;支持的片上可编程系统()开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。

作为的上一代设计软件,由于其出色的易用性而得到了广泛的应用。目前已经停止了对的更新支持,与之相比不仅仅是支持器件类型的丰富和图形界面的改变。在中包含了许多诸如、和的设计辅助工具,集成了和设计流程,并且继承了友好的图形界面及简便的使用方法。

提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:

可利用原理图、结构框图、、和完成电路描述,并将其保存为设计实体文件;

芯片(电路)平面布局连线编辑;

增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;

功能强大的逻辑综合工具;

完备的电路功能仿真与时序逻辑仿真工具;

定时/时序分析与关键路径延时分析;

自动定位编译错误;

高效的期间编程与验证工具;

二.课程设计的内容

1.功能定义:

用实现一个同步先进先出()队列设计。由写使能端控制该数据流的写入,并由读使能控制中数据的读出。写入和读出的操作由时钟的上升沿触发。当的数据满和空的时候分别设置相应的高电平加以指示。

2.顶层信号定义:

3.顶层模块划分及功能实现

该同步可划分为如下四个模块:

①存储器模块()——用于存放及输出数据;

②读地址模块() ——用于读地址的产生;

③写地址模块()——用于写地址的产生

④标志模块用于产生当前空满状态。

1)模块

本设计中的的,以循环读写的方式实现;

1.根据模块产生的读地址,在读使能为低电平的时候,将中[3:0]地址中的对应单元的数据在时钟下降沿到来的时候,读出到[7:0]中。

2.根据产生的写地址和在写使能为低电平的时候,将输入数据([7:0]) 在时钟下降沿到来的时候,写入[3:0]地址对应的单元。

2):

该模块用于产生写数据时所用的地址。由于单元可以用3位地址线寻址。本模块用3位计数器( [2:0])实现写地址的产生。

l 在复位时(1),写地址值为0。

l 如果未满()且有写使能()有效,则[2:0]加1;否则不变。

3):

该模块用于产生读数据时所用的地址。由于单元可以用3位地址线寻址。本模块用3位计数器([2:0])实现读地址的产生。

l 在复位时(1),读地址值为1。

l 如果未空()且有读使能()有效,则[2:0]加1;否则不变。

4)和标志

产生空满标志。本模块设计并不用读写地址判定是否空满。具体计算如下:

1.复位的时候,1和0;

2.如果和同时有效的时候,表示同时对进行读写操作的时候,中的数据个数不变。

3.如果有效且0,表示写操作且未满时候,中的数据个数增加了1;

4.如果有效且0,表示读操作且未满时候,中的数据个数减少了1;

5.如果3'b010或者(3'b111)(3'b001)或者(3'b111)(3'b001)时,表示空,需要设置1;

如果的时候,表示现在已经满,需要设置1。

4.实验程序()

();

;

[7:0] ;

[7:0] ;

;

[7:0] ;

[7:0] ;

;

[2:0] ;

;

[7:0] [7:0];

;

;

[];

@ ( )

((1'b0)(1'b0))

[]<;

( )

@( )

()

<=1'b0;

((1'b0)(1'b0))

(3'b111)

<=3'b000;

<1'b1;

( )

@( )

()

<=3'b111;

((1'b0)(1'b0))

(3'b111)

<=3'b000;

<1'b1;

''

@( )

()

1'b1;

(((1'b0)(1'b1))((3'b010)((3'b111)(3'b001))((3'b110)(3'b000)))) <=1'b1;

((1'b1)(1'b0))

<=1'b0;

''

@( )

()

<=1'b0;

(()(1'b0)(1'b1))

<=1'b1;

((1'b1)(1'b0))

<=1'b0;

5.实验仿真图形及结果分析

⑴先写后读,仿真图如下:

分析:有仿真图知,全局使能端起初为复位状态,从输入为1时才有效;写地址使能端在输入数据位0到8时,处于有效状态,也就是正在写地址,写入8个数据时,1,表示已经写满了;而读地址在0到5时为高电平无效,也就是此时没有读,在输入6以后开始读地址,所以此时开始读出输入到队列的0到7。之后被读空,则1。

⑵边写边读

分析:由仿真图知,在0时,即写地址使能端有效,在写入数据,写进3个数据1、2、3时,0,即输出有效,此时开始输出;所以,堆栈中一直没有被写满数据,也就是一直0,。

⑶一直写入,隔一段读出一次

分析:0,表示一直在写入数据,在0时,才读出数据,第一次只读出了4个数据为1、2、3、4,之后1,表示未读,再之后0又开始读出5、6、7、、、、一直读出,直到读完为止;因此一直未被写满过,所以0。

三.课程设计心得体会

通过为期两周的课程设计使我充分体会到了编程的美妙。并有几点心得与教训。

一、要有良好的逻辑思维。在编程中良好的逻辑思维是很重要的,好的逻辑思维可以是编程简单,每个语句都要有一定的目的。特别是在测试文件中,好的编程不仅会使语句简单,而且会充分考虑所有可能出现的问题,只有这样才能写出简单易懂,优良的程序。

二、要注意编程中可能出现的问题。语言虽然与C语言有些相似,但在逻辑性与时序性上与C语言有本质上的区别,在编写程序时要注意加以区分,不能混淆。如不能在不同块中对同一变量进行赋值,又如赋值符号“=”“<=”是不同的,在编程中要加以体会,加以区分。

三、、的语法问题。这两个编程语句的某些语法是不一样的,如语句在是不支持的。这些要再以后的总结中加以总结。

四、软件的使用,比如的使用应该放在所有的学习之前(学过数字电路的同学,如果没有学过的话,先把一些基本概念学一下,在学习到《数字逻辑基础与设计》的时候开始用原理图设计的方法学习使用该软件),然后就是学习了,建议在学习的过程中把书中的例子都用软件做一次,也利用提供的仿真功能进行仿真。

五、基本的语法知识学习的同时,书上很多仿真的例子在里面并不能实行,这个时候就需要学习使用了。进一步学习的高级编程知识,利用软件多做一些例子程序。

六、根据自己的兴趣爱好和专业方向,找一个题目用去实现(或者找相关的老师,看他们手上有没有这样的方向,你可以去帮忙做点什么的),这个过程中需要学习更多其他方面的知识,这样才能做成真正的应用系统。

七、后面继续学习,不断学习,持续学习——学习是一辈子的事情,不是花上那么几个月你就能把所有的技能学到手,更多的时候是通过实践不断提升自己的能力,这就是所谓的实践出真知。

总之,在以后的学习中要多看程序,多理解,多体会,不断地提高自己的编程水平。

算法设计与分析实验报告贪心算法

算法设计与分析实验报告 贪心算法 班级:2013156 学号:201315614 姓名:张春阳哈夫曼编码 代码 #include float small1,small2; int flag1,flag2,count; typedefstructHuffmanTree { float weight; intlchild,rchild,parent; }huffman; huffmanhuffmantree[100]; void CreatHuffmanTree(intn,int m) { inti; void select(); printf("请输入%d个节点的权值:",n); for(i=0;i

printf("\n"); for(i=0;i

Linux进程通信实验报告

Linux进程通信实验报告 一、实验目的和要求 1.进一步了解对进程控制的系统调用方法。 2.通过进程通信设计达到了解UNIX或Linux系统中进程通信的基本原理。 二、实验内容和原理 1.实验编程,编写程序实现进程的管道通信(设定程序名为pipe.c)。使 用系统调用pipe()建立一条管道线。而父进程从则从管道中读出来自 于两个子进程的信息,显示在屏幕上。要求父进程先接受子进程P1 发来的消息,然后再接受子进程P2发来的消息。 2.可选实验,编制一段程序,使其实现进程的软中断通信(设定程序名为 softint.c)。使用系统调用fork()创建两个子进程,再用系统调用 signal()让父进程捕捉键盘上来的中断信号(即按Del键),当父进程 接受这两个软中断的其中一个后,父进程用系统调用kill()向两个子 进程分别发送整数值为16和17的软中断信号,子进程获得对应软中 断信号后分别输出相应信息后终止。 三、实验环境 一台安装了Red Hat Linux 9操作系统的计算机。 四、实验操作方法和步骤 进入Linux操作系统,利用vi编辑器将程序源代码输入并保存好,然后 打开终端对程序进行编译运行。 五、实验中遇到的问题及解决 六、实验结果及分析 基本实验 可选实验

七、源代码 Pipe.c #include"stdio.h" #include"unistd.h" main(){ int i,j,fd[2]; char S[100]; pipe(fd); if(i=fork==0){ sprintf(S,"child process 1 is sending a message \n"); write(fd[1],S,50); sleep(3); return; } if(j=fork()==0){ sprintf(S,"child process 2 is sending a message \n"); write(fd[1],S,50); sleep(3); return;

水电安装实习报告

水电安装实训报告 实训目的 为了进一步加固和加深课堂多学过的理论知识,了解主要建筑 物的施工特点、施工方法等,培养我们分析问题和解决实际问题的 能力,提升自我的专业知识和现场操作技能。 实训流程 我们迎来了一周的水电安装实训.第一天我们进行了对水管的切 割与用板牙对水管加工螺纹的初步尝试.之中我们开始进行一个小型的模版的安装,第二天我们开始进行卫生间整体安装,老师跟我么讲 在厨房、在卫生间等等地方都是水管的集中地。不管家里其他地方 装修怎么样,水管安装都必须引起重视,否则会带来很多后续问题,

我在书上找到一些管安装注意事项: 1、计算大概用量 安装水管前估计一下用量是多少再进行材料购买,以免材料买 多了或者少了,造成浪费或者缺乏材料影响安装进程。 2、使用新水管 如果是二手房或旧房改造,旧水管往往被损坏,不要犹豫心疼 果断换新的,水管装好后某些部位是不方便更换的,都换成新的以 策安全。 3、水管及配件检查 安装前要对水管及其各种配件进行检查,看是否有破损、渗漏 等问题,水管及配件的连接必须正确牢固,接好后进行测试没问题.后再进行安装。水管安装注意事项

4、水管走向 建议水管走顶最安全。主要是水路改造大部分走暗管,而水的 特性是水往低处流。如果管路走地下,一但发生漏水很难及时发现,只有水漫金山或者地板变形以及漏到楼下,才会发现漏水,且由于 水管暗埋很难查出漏水之处。这时巨大的损失更是无法挽回,甚至 严重的影响了友好的邻里关系;如果水管走顶部,可能水改时费用高些,但做为一项长远投资来看,是值得的。水管走顶,即使漏水, 也能够及时发现,便于检修,损失也较小。 5、安装后测试 安装后一定要进行增压测试。增压测试一般是在 1.5倍水压的 情况下进行,在测试中应没有漏水现象。在没有加压条件下的简单测

算法分析_实验报告3

兰州交通大学 《算法设计与分析》 实验报告3 题目03-动态规划 专业计算机科学与技术 班级计算机科学与技术2016-02班学号201610333 姓名石博洋

第3章动态规划 1. 实验题目与环境 1.1实验题目及要求 (1) 用代码实现矩阵连乘问题。 给定n个矩阵{A1,A2,…,A n},其中A i与A i+1是可乘的,i=1,2,…,n-1。考察这n 个矩阵的连乘积A1A2…A n。由于矩阵乘法满足结合律,故计算矩阵的连乘积可以有许多不同的计算次序,这种计算次序可以用加括号的方式来确定。若一个矩阵连乘积的计算次序完全确定,则可以依此次序反复调用2个矩阵相乘的标准算法(有改进的方法,这里不考虑)计算出矩阵连乘积。 确定一个计算顺序,使得需要的乘的次数最少。 (2) 用代码实现最长公共子序列问题。 一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切地说,若给定序列X= < x1, x2,…, xm>,则另一序列Z= < z1, z2,…, zk>是X的子序列是指存在一个严格递增的下标序列< i1, i2,…, ik>,使得对于所有j=1,2,…,k有Xij=Zj 。例如,序列Z=是序列X=的子序列,相应的递增下标序列为<2,3,5,7>。给定两个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。例如,若X= < A, B, C, B, D, A, B>和Y= < B, D, C, A, B, A>,则序列是X和Y的一个公共子序列,序列也是X和Y的一个公共子序列。而且,后者是X和Y的一个最长公共子序列,因为X和Y没有长度大于4的公共子序列。 (3) 0-1背包问题。 现有n种物品,对1<=i<=n,已知第i种物品的重量为正整数W i,价值为正整数V i,背包能承受的最大载重量为正整数W,现要求找出这n种物品的一个子集,使得子集中物品的总重量不超过W且总价值尽量大。(注意:这里对每种物品或者全取或者一点都不取,不允许只取一部分) 使用动态规划使得装入背包的物品价值之和最大。 1.2实验环境: CPU:Intel(R) Core(TM) i3-2120 3.3GHZ 内存:12GB 操作系统:Windows 7.1 X64 编译环境:Mircosoft Visual C++ 6 2. 问题分析 (1) 分析。

网络程序设计实验报告-Winsock编程接口实验

网络程序设计 实验报告 实验名称: Winsock编程接口实验 实验类型:____验证型实验_____ __ 指导教师:______________________ 专业班级:_____________________ 姓名:_______________________ 学号:_____________________ 电子邮件:____________ 实验地点:______ _______ 实验日期2013 年 3 月29 日 实验成绩:__________________________

一、实验目的 ●掌握Winsock的启动和初始化; ●掌握gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的使用。 二、实验设计 由实验内容可以知道: 1、编写程序能同时实现对多个域名的解析。比如在控制台输入:getip https://www.docsj.com/doc/817979172.html, https://www.docsj.com/doc/817979172.html,,能输出https://www.docsj.com/doc/817979172.html,和https://www.docsj.com/doc/817979172.html,对应的IP地址列表。 2、编写程序获取并输出本地主机的所有适配器的IP地址,子网掩码,默认网关,MAC 地址。 首先要了解一些基本的知识gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的基本知识gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针。结构的声明与gethostaddr()中一致。 之后要根据内容画出函数流程图

三、实验过程(包含实验结果) 1.在实验过程中调用GetAdaptersInfo()时,出现了undeclared identifier的报错,原因是没有包含其头文件,之后进行一些修改解决了问题. 2.实验结果 3.选择查看本机信息 四、讨论与分析 1.Winsock初始化的作用是什么? 答:使用winsock初始化可加载winsock编程的动态链接库。

实验二 液压阀拆装

实验二液压阀拆装 一、实验目的 液压元件是液压系统的重要组成部分,通过对液压阀的拆装可加深对阀结构及工作原理的了解。并能对液压阀的加工及装配工艺有一个初步的认识。 二、实验用工具及材料 内六角扳手、固定扳手、螺丝刀、各类液压泵、液压阀及其它液压元件 三、实验内容及步骤 拆解各类液压元件,观察及了解各零件在液压阀中的作用,了解各种液压阀的工作原理,按一定的步骤装配各类液压阀。 1.溢流阀 型号:Y型溢流阀(板式) 结构图见图1—4 图1-4 工作原理 溢流阀进口的压力油除经轴向孔a进入主阀芯的下端A 腔外,还经轴向小孔b进入主阀芯的上腔B,并经锥阀座上的小孔d作用在先导阀锥阀体8上。当作用在先导阀锥阀体上的液压力小于弹簧的预紧力和锥阀体自重时,锥阀在弹簧力的作用下关闭。因阀体内部无油

液流动,主阀芯上下两腔液压力相等,主阀芯再主阀弹簧的作用下处于关闭状态(主阀芯处于最下端),溢流阀不溢流。 2.减压阀 型号:J 型减压阀 结构图见图1---5 图1-5 工作原理 进口压力1p 经减压缝隙减压后,压力变为2p 经主阀芯的轴向小孔a 和b 进入主阀芯的底部和上端(弹簧侧)。再经过阀盖上的孔和先导阀阀座上的小孔C 作用在先导阀的锥阀体上。当出口压力低于调定压力时,先导阀在调压弹簧的作用下关闭阀口,主阀芯上下腔的油压均等于出口压力,主阀芯在弹簧力的作用下处于最下端位置,滑阀中间凸肩与阀体之间构成的减压阀阀口全开不起减压作用。 3.换向阀 型号:34E —25D 电磁阀 结构图见图1—6

图1-6 工作原理 利用阀芯和阀体间相对位置的改变来实现油路的接通或断开,以满足液压回路的各种要求。电磁换向阀两端的电磁铁通过推杆来控制阀芯在阀体中的位置。 4.单向阀 型号:I—25型 结构图见图1—7 工作原理

算法分析实验报告--分治策略

《算法设计与分析》实验报告 分治策略 姓名:XXX 专业班级:XXX 学号:XXX 指导教师:XXX 完成日期:XXX

一、试验名称:分治策略 (1)写出源程序,并编译运行 (2)详细记录程序调试及运行结果 二、实验目的 (1)了解分治策略算法思想 (2)掌握快速排序、归并排序算法 (3)了解其他分治问题典型算法 三、实验内容 (1)编写一个简单的程序,实现归并排序。 (2)编写一段程序,实现快速排序。 (3)编写程序实现循环赛日程表。设有n=2k个运动员要进行网球循环赛。现 要设计一个满足以下要求的比赛日程表:(1)每个选手必须与其它n-1个选手各赛一次(2)每个选手一天只能赛一场(3)循环赛进行n-1天 四、算法思想分析 (1)编写一个简单的程序,实现归并排序。 将待排序元素分成大小大致相同的2个子集合,分别对2个子集合进行 排序,最终将排好序的子集合合并成为所要求的排好序的集合。 (2)编写一段程序,实现快速排序。 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有 数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数 据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据 变成有序序列。 (3)编写程序实现循环日赛表。 按分治策略,将所有的选手分为两组,n个选手的比赛日程表就可以通

过为n/2个选手设计的比赛日程表来决定。递归地用对选手进行分割, 直到只剩下2个选手时,比赛日程表的制定就变得很简单。这时只要让 这2个选手进行比赛就可以了。 五、算法源代码及用户程序 (1)编写一个简单的程序,实现归并排序。 #include #include #define MAX 10 using namespace std; void merge(int array[],int p,int q,int r) { int i,k; int begin1,end1,begin2,end2; int* temp = new int[r-p+1]; begin1 = p; end1 = q; begin2 = q+1; end2 = r; k = 0; while((begin1 <= end1)&&(begin2 <= end2)) { if(array[begin1] < array[begin2]) { temp[k] = array[begin1]; begin1++; } else { temp[k] = array[begin2]; begin2++; } k++; } while(begin1 <= end1) {

网络编程实验报告

实验一TCP Socket API程序设计 一、预备知识 1.网络编程基本概念 网络上的计算机间的通讯,实质上是网络中不同主机上的程序之间的通讯。在互联网中使用IP地址来标识不同的主机,在网络协议中使用端口号来标识主机上不同进程,即使用(IP地址,端口号)二元组。 套接字(Socket)用于描述IP地址和端口,是一个通信链的句柄,通信时一个网络程序将要传输的一段信息写入它所在主机的Socket中,该Socket通过与网络接口卡相连的传输介质将这段信息发送到另一台主机的Socket中,以供其他程序使用。 图1-1 TCP通信流程 2.TCP通信流程 TCP程序是面向连接的,程序运行后,服务器一直处于监听状态,客户端与

服务器通信之前必须首先发起连接请求,由服务器接收请求并在双方之间建立连接后才可以互相通信。 二、实验目的 1.了解Winsock API编程原理; 2.掌握TCP Socket程序的编写; 3.了解C/S模式的特点; 4.学会解决实验中遇到的问题。 三、实验任务 使用Winsock API相关类实现TCP Socket通信程序,并能成功运行。 四、实验环境及工具 1. Windows2000/XP/7 2. Visual C++开发平台 3. Visual Studio2010 五、实验内容和步骤 参照《Visual C++网络编程教程》书中81页,TCP Socket API程序设计。 连接: void CChatClientDlg::OnConnect() { WSADATA wsd; //WSADATA结构 WSAStartup(MAKEWORD(2,2),&wsd); //加载协议,使用Winsock 2.2版 m_client = socket(AF_INET,SOCK_STREAM,0); //创建流式套接字 //服务器地址 sockaddr_in serveraddr; UpdateData(); if(ServerIP.IsBlank()) { AfxMessageBox("请指定服务器IP!"); return; } if(sPort.IsEmpty()) { AfxMessageBox("请指定端口!"); return; }

过程装备拆装实验报告

过程装备拆装实验任务书 1实验目的: 过程装备拆装实验可完成在工厂现场无法进行的实践环节,是工厂现场实习的重要补充。学生通过对流体输送管路实训系统、各种泵、阀、压缩机、搅拌反应器、列管换热器及发动机等设备的拆装实践,对小型机器设备的测绘,可以使学生对过程设备的内部结构形式和功能加深了理解,使学生在初步接触生产实践的基础上,对过程装备的生产程序有一个基本认识。通过拆装实验可提高学生对流体输送机械设备拆装能力、化工仪表的操作能力,强化动手操作技能训练、同时树立学生严谨的工作态度,树立责任意识,团队协作精神,提高其分析解决问题、吃苦耐劳的能力和素质,为学生从事过控专业工作奠定基础。 2. 实验内容和要求: 1. 流体输送管路拆装实训实验 (1)全面分析系统、辨别正误和迅速决策等能力,在实践中结合了识图能力、出具规范清单、 安全操作等各项理论功底的考察。 (2)配套流体输送机械、过程仪表和机械制图等多门课程的教学实践,如管件识辨、流量计安 装、检测、显示等。 (3)认识操作工具的准备:锤击工具(钳工铁锤、木锤等);螺纹松紧工具(螺丝刀、起子、扳手 等);测量工具(钢尺、软尺、水平尺等)。 (4)拆卸:按照先放水,管路先上后下、先仪表后阀门的顺序进行拆卸; (5)安装:按照先阀门后仪表、管路先下后上,再加水的顺序进行安装。 (6)识读工艺流程图:主要了解掌握物料介质的工艺流程、设备的数量、名称和设备位号,所 有管线的管段号、物料介质、管道规格、管道材料,管件、阀件及控制点(测压点、测温点、流量、分析点)的部位和名称及控制系统,与工艺设备有关的辅助物料水、气的使用情况。以便在管路安装和工艺操作实践中,做到心中有数。 (7)工艺流程图绘制:工艺流程图一般按工艺装置的主要工序为单元绘制,流程简单的可以画 一张总工艺流程图附在实验报告中。 (8)实验报告中说明工艺管道、阀门、仪表、调节控制阀及外围设备的衔接关系。 2 ?阀类拆装实验 (1)阀门是管路及热力系统中的重要部件,因此必须熟悉和掌握阀门的结构和性能,正确识别

实验3.2无名管道通信

计算机操作系统实训教程实验报告 姓名王学杰专业计算机应用技术班级1362班 课程操作系统实验项目无名管道通信 【实验目的】 1了解管道通信机制的基本原理 2 掌握父子进程使用无名管道通信的方法 【实验要求】 编写程序实现多个进程基于无名管道进行通讯。用系统调用pipe()建立一个无名管道,两个进程p1和p2分别向管道输出一句话 【实验内容】 #include #include #include #include #include #include #include main() { int fd[2],p1,p2,i; char receive[50]; char send1[50]="My name is wangxuejie"; char send2[50]="My id is 1308610203";

pipe(fd); //建立一个无名管道 p1=fork(); if(p1==0) { lockf(fd[1],1,0); write(fd[1],send1,strlen(send1)); //子进程1写入 lockf(fd[1],0,0); sleep(1); } else { wait(0); read(fd[0],receive,50); printf("parent read from child1:%s\n",receive); p2=fork(); if(p2==0) { lockf(fd[1],1,0); write(fd[1],send2,strlen(send2)); //子进程2写入

管路拆装 实验报告

管路拆装 一、实验目的 1、认识化工管路的构成和常用软件、阀门及作用。 2、认识常用工具并能正确使用。 3、掌握管路拆装的方法,进行管路拆装的基本技能训练。 4、测量所安装管路的尺寸,并能绘制简单的管路布置图。 5、按要求进行水压试验。 二、实验原理 管路是化工生产过程中不可或缺的部分,他将各种设备和车间之间连接起来以输送各种流体,管路对于化工厂的重要性正如血管对于人生命的重要性一样。 为了大量批量生产降低成本,使管子、管件和阀门之间具有互换性,减少库存,便于设计、制造和施工,所以管路采取标准化。公称直径和工程压力是两个最基本的技术标准。 管路由管子、管件、阀门等组成。管子之间、管子与管件、阀门之间的连接方式很多,常用的有焊接、阀门连接、螺纹连接、承插连接、和胀管连接等五种。本实验装置的管路主要采用螺纹贺法兰连接。 1、管路连接方式 (1)法兰连接有一对法兰、一个垫片、和若干螺栓、螺母所组成。法兰连接具有较好的强度和严密性,适用的尺寸范围广,可以拆卸。法兰连接的过程一般分为三步进行,首先将法兰装配或焊接在管端,然后将垫片置于法兰之间,最后用螺栓连接两个法 兰并把紧。法兰端面应与管子中心线垂直,两个对接法兰之间应相互平行。螺栓, 螺母应位于同一侧。拧紧法兰连接用螺栓应选用合适的扳手,分两次或三次对称成 十字行按十字形进行,不得一次拧紧。 (2)螺纹连接 螺纹连接广泛用于2in及以下的管路中,它是通过内外管螺纹拧在一起而实现连接。 为了增加螺纹连接的严密性,在连接之前应在带有外螺纹的管头或配件上缠以适量 麻丝。缠绕的方法是按逆螺纹方向缠4-5圈。麻丝如果缠的太少,所起作用小,如 果缠得多,就会被螺纹挤压出来,同样起不了大作用。连接时,将缠好麻丝的带外 螺纹的管头或管件,用手拧入带内螺纹的管件中约2-3扣,当用手拧不动时,再用 管钳拧转管子,直到拧紧为止。 (3)活接头 活接头是管路中常用的后连接部件,它也属于螺纹连接,一般在阀门附近均装有活 接头。活接头由公口,母口和套母三个单件组成。连接时套母要加在公口一端,并 使套母有内丝的一面想着母口,公口上应加垫或石棉绳,套母在锁紧前必须将公口 与母口正对平,否则容易出现渗漏现象。 2、常用工具 (1)管子台虎钳:又称龙门钳,用于夹稳金属管材。 (2)管子钳:又称管钳,用来搬动金属管或其他圆柱形工件。 (3)活扳手:用于搬动螺栓,螺母等。 3、管路的布置(配管) 管路的布置随厂房、设备的布置而定,要正确的布置和安装管路,必须明确生产工艺的特点和操作条件的要求。由于化工产品品种繁多,操作条件不一,以及被输送物料性质的复杂性,对管路的布置和安装难于作出统一规定,但还是有一定的原则可遵循。管

武汉理工大学算法分析实验报告

学生实验报告书 实验课程名称算法设计与分析开课学院计算机科学与技术学院 指导教师姓名李晓红 学生姓名 学生专业班级软件工程zy1302班2015-- 2016学年第一学期

实验课程名称:算法设计与分析 同组者实验日期2015年10月20日第一部分:实验分析与设计 一.实验内容描述(问题域描述) 1、利用分治法,写一个快速排序的递归算法,并利用任何一种语言,在计算机上实现,同时 进行时间复杂性分析; 2、要求用递归的方法实现。 二.实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述) 本次的解法使用的是“三向切分的快速排序”,它是快速排序的一种优化版本。不仅利用了分治法和递归实现,而且对于存在大量重复元素的数组,它的效率比快速排序基本版高得多。 它从左到右遍历数组一次,维护一个指针lt使得a[lo..lt-1]中的元素都小于v,一个指针gt 使得a[gt+1..hi]中的元素都大于v,一个指针i使得a[lt..i-1]中的元素都等于v,a[i..gt]中的元素都还未确定,如下图所示: public class Quick3way { public static void sort(Comparable[] a, int lo, int hi) { if (lo >= hi) return; int lt = lo, i = lo + 1, gt = hi; Comparable pivot = a[lo];

第二部分:实验调试与结果分析 一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等) 1、调试方法描述: 对程序入口进行断点,随着程序的运行,一步一步的调试,得到运行轨迹; 2、实验数据: "R", "B", "W", "W", "R", "W", "B", "R", "R", "W", "B", "R"; 3、实验现象: 4、实验过程中发现的问题: (1)边界问题: 在设计快速排序的代码时要非常小心,因为其中包含非常关键的边界问题,例如: 什么时候跳出while循环,递归什么时候结束,是对指针的左半部分还是右半部分 排序等等; (2)程序的调试跳转: 在调试过程中要时刻记住程序是对那一部分进行排序,当完成了这部分的排序后, 会跳到哪里又去对另外的那一部分进行排序,这些都是要了然于心的,这样才能准 确的定位程序。 二、实验结果分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等) 1、实验结果:

进程的管道通信

计算机操作系统实验第六次实验报告 学院:计算机科学与信息学院专业:通信工程班级:081姓名学号 实验 组 实验时间2010年11月17日指导教师成绩 实验项目名称进程的管道通信实 验目的 1、了解什么是管道; 2、熟悉UNIX/LINUX支持的管道通信方式。 实 验要求 1、了解管道的概念和管道的类型; 2、熟悉UNIX/LINUX支持的管道通信方式。 实 验 原 理 在管道通信时系统会调用:pipe( )建立一无名管道;read( );write( ) 。 实 验 仪 器 PC机或工作站一台; RedHat9.0操作系统;

实验步骤一、什么是管道 UNIX系统在OS的发展上,最重要的贡献之一便是该系统首创了管道(pipe)。这也是UNIX系统的一大特色。 所谓管道,是指能够连接一个写进程和一个读进程的、并允许它们以生产者—消费者方式进行通信的一个共享文件,又称为pipe文件。由写进程从管道的写入端(句柄1)将数据写入管道,而读进程则从管道的读出端(句柄0)读出数据。 句柄fd[0] 句柄fd[1] 读出端 写入端 二、管道的类型: 1、有名管道 一个可以在文件系统中长期存在的、具有路径名的文件。用系统调用mknod( )建立。它克服无名管道使用上的局限性,可让更多的进程也能利用管道进行通信。因而其它进程可以知道它的存在,并能利用路径名来访问该文件。对有名管道的访问方式与访问其他文件一样,需先用open( )打开。 2、无名管道 一个临时文件。利用pipe( )建立起来的无名文件(无路径名)。只用该系统调用所返回的文件描述符来标识该文件,故只有调用pipe( )的进程及其子孙进程才能识别此文件描述符,才能利用该文件(管道)进行通信。当这些进程不再使用此管道时,核心收回其索引结点。 二种管道的读写方式是相同的,本文只讲无名管道。 3、pipe文件的建立 分配磁盘和内存索引结点、为读进程分配文件表项、为写进程分配文件表项、分配用户文件描述符 4、读/写进程互斥 内核为地址设置一个读指针和一个写指针,按先进先出顺序读、写。 为使读、写进程互斥地访问pipe文件,需使各进程互斥地访问pipe文件索引结点中的直接地址项。因此,每次进程在访问pipe文件前,都需检查该索引文件是否已被上锁。若是,进程便睡眠等待,否则,将其上锁,进行读/写。操作结束后解锁,并唤醒因该索引结点上锁而睡眠的进程。 三、所涉及的系统调用 1、pipe( ) 建立一无名管道。 系统调用格式 pipe(filedes) 参数定义 int pipe(filedes); int filedes[2]; 其中,filedes[1]是写入端,filedes[0]是读出端。 该函数使用头文件如下: #include #inlcude #include 2、read( ) 系统调用格式

算法设计与分析实验报告

本科实验报告 课程名称:算法设计与分析 实验项目:递归与分治算法 实验地点:计算机系实验楼110 专业班级:物联网1601 学号:2016002105 学生:俞梦真 指导教师:郝晓丽 2018年05月04 日

实验一递归与分治算法 1.1 实验目的与要求 1.进一步熟悉C/C++语言的集成开发环境; 2.通过本实验加深对递归与分治策略的理解和运用。 1.2 实验课时 2学时 1.3 实验原理 分治(Divide-and-Conquer)的思想:一个规模为n的复杂问题的求解,可以划分成若干个规模小于n的子问题,再将子问题的解合并成原问题的解。 需要注意的是,分治法使用递归的思想。划分后的每一个子问题与原问题的性质相同,可用相同的求解方法。最后,当子问题规模足够小时,可以直接求解,然后逆求原问题的解。 1.4 实验题目 1.上机题目:格雷码构造问题 Gray码是一个长度为2n的序列。序列无相同元素,每个元素都是长度为n的串,相邻元素恰好只有一位不同。试设计一个算法对任意n构造相应的Gray码(分治、减治、变治皆可)。 对于给定的正整数n,格雷码为满足如下条件的一个编码序列。 (1)序列由2n个编码组成,每个编码都是长度为n的二进制位串。 (2)序列中无相同的编码。 (3)序列中位置相邻的两个编码恰有一位不同。 2.设计思想: 根据格雷码的性质,找到他的规律,可发现,1位是0 1。两位是00 01 11 10。三位是000 001 011

010 110 111 101 100。n位是前n-1位的2倍个。N-1个位前面加0,N-2为倒转再前面再加1。 3.代码设计:

算法程序设计实验报告

程序设计》课程设计 姓名:王 学号:20100034 班级:软件工程00 班 指导教师:王会青 成绩: 2010年 6 月 实验一.构造可以使n 个城市连接的最小生成树 专业:__软件工程___ 班级:__软件姓名:_王___ 学号:_20100034 完成日期:_2010/6/26 ________ 一、【问题描述】给定一个地区的n 个城市间的距离网,用Prim 算法或Kruskal 算法建立最小生成树,并计算得到的最小生成树的代价。 1 城市间的道路网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道

路,则将相应边的权值设为自己定义的无穷大值。 2 显示出城市间道路网的邻接矩阵。 3 最小生成树中包括的边及其权值,并显示得到的最小生成树的总代价。 4 输入城市数、道路数→输入城市名→输入道路信息→执行Kruskal 算法→执行Prim 算法→输出最小生成树 二、【问题分析】 1. 抽象数据类型结构体数组的定义: #ifnd ef ADJACENCYMATRIXED// 防止该头文件被重复引用 #define ADJACENCYMATRIXED // 而引起的数据重复定义 #define INFINITY 32767 // 最大值∞ #define MAX_VERTEX_NUM 20 // 最大顶点个数 typedef int VRType; // 权值,即边的值 typedef char InfoType; // 附加信息的类型,后面使用时会定义成一个指针 typedef char VertexType[MAX_VERTEX_NUM]; // 顶点类型 typedef enum {DG=1, DN, UDG, UDN} GraphKind; //{ 有向图,有向网,无向图,无向网} typedef struct ArcCell { VRType adj; //VRType 是顶点关系类型。对无权图,用1 或0 表示相邻否;对带权图,则为权值类型。 InfoType*info; // 该弧关系信息的指针

通信系统仿真实验报告(DOC)

通信系统实验报告——基于SystemView的仿真实验 班级: 学号: 姓名: 时间:

目录 实验一、模拟调制系统设计分析 -------------------------3 一、实验内容-------------------------------------------3 二、实验要求-------------------------------------------3 三、实验原理-------------------------------------------3 四、实验步骤与结果-------------------------------------4 五、实验心得------------------------------------------10 实验二、模拟信号的数字传输系统设计分析------------11 一、实验内容------------------------------------------11 二、实验要求------------------------------------------11 三、实验原理------------------------------------------11 四、实验步骤与结果------------------------------------12 五、实验心得------------------------------------------16 实验三、数字载波通信系统设计分析------------------17 一、实验内容------------------------------------------17 二、实验要求------------------------------------------17 三、实验原理------------------------------------------17 四、实验步骤与结果------------------------------------18 五、实验心得------------------------------------------27

管路拆装训练实训指导书

管路拆装能力训练实训指导书 (一)实训目的 1.掌握流程图的识读 2.认识管路拆装设备的管件 3.根据提供的流体输送流程图,准确填写安装管线所需管道、管件、阀门、仪表的规格型号及数量等的材料清单;准确列出组装管线所需的工具和易耗品等领件清单并正确领取工具和易耗品。 4.进行管线的组装、管道的试压、管线的拆除。 (二)化工管路拆装技能基础 1.化工管道的标准化 化工管道标准化是为了简化管子、管件与阀门的品种规格,便于成批生产,使得同一直径的管子与管件、阀门均能实现相互连接,具有互通性,互换性,以满足设计、安装、维护、检修工作的需要。化工管道标准化的主要容是统一管子、管件与阀门的主要参数与结构尺寸,其中最重要的容是直径和压力的标准化、系列化,即所谓公称直径系列和公称压力系列。 (1)公称直径 根据生产实践的需要,按照一定的科学规律人为地规定一系列标准直径,称为公称直径。公称直径以往也称为公称通径或名义直径,以符号DN表示,其后附加公称直径的尺寸,单位为mm。例如,DN100,即表示公称直径为l00mm的管子及其管件、阀门等。优先选GB T 。 用的DN数值可查/10472005 由于管子的规格大多以外径为标准,而管子的径随管壁的厚度不同而略有差异,如外径为57mm,壁厚度为3.5mm和外径为57mm壁厚为5mm的无缝钢管,我们都称它为公称直径为50mm的钢管,但它们的径分别为50mm和47mm。而对于管道的各种附件和阀门的公称直径,一般都等于它们的实际径。 (2)公称压力 与公称直径一样,根据生产实践的需要,按照一定的科学规律人为地规定一系列标准压 PN,力,称为公称压力,以符号PN表示,其后附加公称压力的数值,单位为MPa。例如, 4.0即表示公称压力为4.0MPa的管子及其附件。 公称压力的数值,—般是指管工作介质的温度0~120℃围的最高允许工作压力。管道的最大工作压力应等于或小于公称压力。由于管材的机械强度因温度的升高而下降,所以最大工作压力亦随介质温度升高而减小。 根据公称直径及公称压力,可以确定管子、阀门、管件、法兰、垫片的结构尺寸和连接尺寸。另外根据公称压力还可以按有关标准来确定管道的连接结构形式和选择合适的密封材料等。 2.管子 化工厂中所用管子的种类繁多,由于输送流体物料的性质和工艺条件不同,用于连接设备和输送流体物料的管子不仅要满足输送流体物料的要求,还要满足耐温(高温或低温)、耐压(高压或低压)、耐腐蚀、导热等性能的要求。常用管材分成金属管和非金属管两大类。 金属管包括钢管(无缝钢管、有缝钢管)、铸铁管(普通铸铁管、高硅铸铁管)、有色金属管(铜管、铅管、铝管)等。 非金属管包括瓷管、塑料管、玻璃管、橡胶管等。 还可以按照以下方法进行分类: A按生产方法分类 (1)无缝管——热轧管、冷轧管、冷拔管、挤压管、顶管

网络编程实验报告

网络编程技术实验报告 一实验目的: 网络编程技术是计算机科学与技术专业、网络工程专业、软件工程专业的一门专业基础课程。本课程以Java技术为主讲授,Java语言是当前最流行的网络编程语言。本课程是一门实用性和综合运用性都很强的课程,实践教学环节是教学过程中必不可少的重要内容。通过实验,让学生熟悉JDK中的主要内容,掌握用JDK调试和运行程序的方法,掌握网络编程的基本思想和开发方法、面向对象编程的思想,JA V A中的基本方法和技术,能够熟练使用JA V A设计、编写程序,特别是基于TCP/IP的Socket 编程,并能运用这些知识方法完成C/S和B/S结构程序的设计工作。通过实验,提高学生使用Java语言程序设计开发的能力,提高应用面向对象技术分析和解决实际问题的能力,并在此基础上强化学生的实践意识、提高其分析问题、解决问题的能力以及动手能力和创新能力。 二实验要求 要求学生熟悉JDK中的主要内容,掌握用JDK调试和运行程序的方法,掌握网络编程的基本思想和开发方法、面向对象编程的思想,JAVA中的基本方法和技术,能够熟练使用JAVA设计、编写程序,特别是基于TCP/IP的Socket编程,并能运用这些知识方法完成C/S和B/S结构程序的设计工作。要注意培养学生良好的编程习惯,自始至终贯彻课程中所介绍的程序设计风格。为保证尽量在统一安排的上机时间内完成程序设计任务,学生应事先做问题分析,并做静态检查。学生应记录实验中所遇到的问题,并写出详细的实验报告。课前准备上机程序,上机认真调试,课后撰写实验报告,实验报告包括实验目的、实验内容、源程序、实验结果及分析。

. 实验一java基本语法 实验目的: 了解Java的数据类型,掌握各种变量的声明方式,理解运算符的优先级,掌握Java基本数据类型、运算符与表达式,掌握顺序结构、选择结构和循环结构语法的程序设计方法。 实验要求: 1、编写一个声明Java不同数据类型变量的程序。 2、编写使用不同选择结构的程序。 3、编写使用不同循环结构结构的程序。 实验内容: 1、编写一个声明Java不同数据类型变量的程序。 public class DataTypes { public static void main(String args[]) { byte b=127; short s=32767; int i=2147483647; long l=9223372036l;//为什么long表示的数比Int还小? char c='c'; float f=1.23F; double d=0.9E-3; boolean bool=true; System.out.println(" b="+b); System.out.println(" s="+s); System.out.println(" i="+i); System.out.println(" l="+l); System.out.println(" c="+c); System.out.println(" f="+f); System.out.println(" d="+d); System.out.println(" bool="+bool); }

通信实训心得体会

通信实训心得体会 篇一:通信实训总结 通信实训总结 这次学校组织的实训学习虽然只有短短的一周时间,但是我以100%的学习心态来对待。在这次的实训过程中,我们感性上学到了很多东西,也对我将来的学习和研究方向的确定产生了深远的影响。通过这次实训丰富了理论知识,增强了操作能力,开阔了视野,并使我对以后的工作有了定性的认识,真是让我收获颇多。现将本次实训就实训内容和实训收获进行简单的阐述。 一、通信工作概述 通信行业产业链分类: 设备商、设计院、施工队、优公司、代维公司、软、硬件提供商、增值业务公司、终端厂商。运营商之所以是通信业的龙头老大,最重要的原因是国家给了它络经营权。用户之所以是运营商的上帝,不仅仅是用户本身使用,还有用户可以自由选择运营商。 二、通信工程设计基础 1、通信络构成及专业划分 通信指人们通过听觉、视觉、触觉等感观,感知世界而

获 得信息,并通过通信来传递信息。通信的基本形式是在信源(始端)与信宿(末端)之间建立一个传输(转移)信息的通道(信道)。通信是通信系统的一种形式。通信系统特指使用光信号或电信号传递信息的通信系统。通信是由一定数量的节点(包括 终端节点、交换节点)和连接这些节点的传输系统有机地组织在一起,按约定的信令或协议完成任意用户间的信息交换的通信体制。在通信上,信息的交换可以在用户间进行,在两个计算机之间进行,还可以在一个用户和设备间进行。 现代通信的功能结构:(1)业务:负责向用户提供各种通信业务。(2)传送:负责向各节点之间提供信息的透明传输通道。(3)支撑:负责为业务和传送提供运行所必须的信令、同步、络管理等功能。 通信工程设计专业划分:动力(通信电源)设计专业、交换通信设计专业、传输通信设计专业、数据通信设计专业、无线通信设计专业、线路及管道工程设计专业、小区接入设计专业、无线室分系统设计专业、络规划与研究专业、建筑设计专业。 2、通信工程设计项目管理

相关文档
相关文档 最新文档