当前位置:文档之家› CPU实验报告(DOC)

CPU实验报告(DOC)

CPU实验报告(DOC)
CPU实验报告(DOC)

武汉大学

开放式CPU设计实验报告专业:物联网

姓名:张三同组姓名:林文王伟

2012年5月

1. 设计报告错误!未定义书签。

1.1 实验目的2

1.2 实验方法 (2)

1.3 总体说明 (4)

1.4 各部分说明 (8)

2.测试报告 (42)

2.1 测试程序 (42)

2.2 测试结果 (44)

2.3 性能分析 (44)

3.总结 (44)

3.1 实验总结 (44)

3.2 取得的收获 (44)

3.3 意见与建议............................................................ 错误!未定义书签。

1. 设计报告

1.1 实验目的

与以往的CPU教学实验不同,这次的“开放式教学CUP设计与测试系统”中使用另外一个成品CUP专门运行监控程序,另外还能够将各种测试程序自动转换成用实验者所设计的指令系统表示的目标代码,并且能够在实验装置上运行、调试和测试所生成的目标代码。

有了这样的改进,我们做实验就有了新的要求和任务:学会使用先进的硬件设计工具和超大规模集成电路FPGA设计并实现一个CPU芯片。要求采用先进的工具软件进行模拟和

测试,测试通过后再下载到FPGA中制成CPU芯片。在过程中需要掌握的主要就是CPU 的设计、验证和测试方法,以及学会相关工具软件的使用方法。

1.2 实验环境

软件:QuartusII 5.2,完成指令集设计、逻辑设计后,用于各个功能模块的VHDL语言程序编写、编译以及FPGA-CPU的软件模拟;

Debug Controller,用于软件模拟成功后的硬件调试。

硬件:FPGA (Field Programmable Gate Array),即现场可编程门阵列。

FPGA具有掩膜可编程门阵列的通用结构,它由逻辑功能块排成阵列组成,并由可编程互联资源连接这些逻辑功能块来实现不同的设计。

1.3 实验方法

本实验要完成的工作主要包括:指令系统的设计,FPGA-CPU的整体结构设计及其细化,逻辑设计的具体实现(VHDL语言程序的编写),软件模拟,以及硬件调试。这几部分的工作之间是先行后续的关系,不存在并行完成的情况。实验主要流程如下图所示:

其中指令系统和逻辑结构的设计主要参考了附录所列的文献。主要的方法是先确定CPU 所要实现的功能,根据寄存器等的情况划分指令格式,然后根据功能写出指令,根据不同指

令的特点将它们分组并确定操作码;接下来设想每条指令的执行过程,需要哪些硬件支持,最后确定整个CPU 的逻辑结构图。

在各个功能模块的实现中主要使用了自底向上的设计方法。先实现寄存器,再实现寄存器组,等等,最后将各个器件和模块之间互连,得到顶层设计图。但有些逻辑的设计实现方法也涉及到顶向下的方法。要注意的是,根据各个信号所对应的管脚可以画出如下的FPGA-CPU 顶视图:

A0A9A8A7A6A5A4A3A2A1OUT (送往地址总线)

D0

D9D8D7D6D5D4D3D2D1I N O U T (和数据总线相连)

REG0

REG1OUT (寄存器输出)

REGSEL5REGSEL1REGSEL0

REGSEL2REGSEL3REGSEL4IN

(寄存器选择信号)

REG2REG3REG4REG5REG6REG7REG8REG9REG10REG11REG12REG13REG14REG15S

V Z C OUT (状态寄存器数据)

/WR CLK

可以看出在这个顶层模型中有一些信号并不是CPU 本身必须的,比如寄存器选择信号,主要是为调试和检查服务的。为此还需要在设计中加入一些译码电路以输出各个通用寄存器和指令寄存器等的内容。从这个角度说,在设计中还使用了自顶向下的方法。

软件模拟和硬件调试并无太多方法可言,主要是仔细观察和全面考虑,把各种可能性都验证到。

1.4 总体说明

1、指令系统:

计算机的指令是用户使用计算机与计算机本身运行的最小功能单位。一台计算机支持的全部指令就构成该机的指令系统。从计算机本身的组成看,指令系统直接与计算机系统的性能和硬件结构的复杂程度等密切相关,它是CPU设计的起始点和基本依据。

设计指令系统的核心问题是选定指令的格式和功能。具体到我们的设计来说,指令的功能应该包括简单的算术和逻辑运算,移位操作,数据传送,跳转,读写内存,另外还可能包括一些其他功能如置条件码等。

为了指令的规整性和便于译码,我们主要采用了定长的操作码组织方案,操作码为8位。寻址方式包括了寄存器寻址、立即数寻址、直接地址和相对寻址。

(1)指令格式分类(按指令字长和操作数不同):

①单字单操作数指令

OPCODE OFFSET

包括:DEC,INC,SHL,SHR,JR,JRC,JRNC,JRZ,JRNZ,JRS,JRNS

②单字双操作数指令

包括:ADD,SUB,AND,CMP,XOR,TEST,OR,MVRR,ADC,SBB,LDRR,STRR

③单字无操作数指令

OPCODE 0000 0000

包括:CLC,STC

④双字单操作数指令

OPCODE 0000 0000

ADR

包括:JMPA

⑤双字双操作数指令

DA TA

包括:MVRD

(2)指令的分组及节拍:

由于没有中断操作,本机指令的执行步骤可概括如下:

读取指令:地址寄存器<-指令地址,修改PC内容使其指向下一条将要执行的指令;

读内存,指令寄存器<-读出的内容。

分析指令

执行指令:通用寄存器之间的运算或传送,可1步完成;

读写内存,通常要两步完成。

根据指令的执行步骤不同,可以把全部指令分为A、B两组。其中A组指令完成的是通用寄存器之间的数据运算或传送,或其他一些特殊操作,在取指之后可一步完成,包括:ADD,SUB,AND,CMP,XOR,TEST,OR,MVRR,DEC,INC,SHL,SHR,ADC,SBB,JR,JRC,JRNC,JR Z,JRNZ,JRS,JRNS,CLC,STC;B组指令完成的是一次内存读写操作,在取指之后可两步完成,包括:JMPA,LDRR,STRR,MVRD。在编码的时候以指令操作码的最高位来区分A、B组指令,0为A组指令,1为B组指令。

在控制器方面我们选用了组合逻辑控制器方案。使用节拍来标记每条指令的执行步骤。由指令而定,在我们的系统中不同的执行步骤只有5个,故使用3位节拍就足够了。

(3)指令汇总表:

(*表示状态位在指令执行后会被重置,.表示状态位在指令执行后不会被修改)查看源文件

2、结构图:

/WR

(来自数据总线)送往地址总线送往数Array

注:图中所有寄存器都与时钟信号相连,并当RESET信号到来时清零。

查看源文件

由于没有流水和Cache,CPU的结构还是比较简单的。主要的部件就是算逻单元ALU、控制逻辑、通用寄存器组、指令寄存器IR、地址寄存器AR、程序计数器PC、标志寄存器、节拍发生器以及一些数据选择器和译码电路。

运算器方面,由一个ALU部件完成全部算数、逻辑、移位操作,输出设置了4个标志位:C——进位标志位,Z——是否为0标志位,V——溢出标志位,S——是否为负标志位,保存在标志寄存器内。与之相关的还有寄存器组和数据选择器。16个16位的通用寄存器既是参与运算的数据的来源,又是运算结果的暂存地,而数据选择器为ALU正确选择了两个输入数据。

控制器方面,使用了组合逻辑控制器,这也是当前RISC类型计算机普遍选用的控制器方案。

它的基本运行原理是,用组合逻辑门线路直接提供控制计算机各功能部件协同运行所需要的

控制信号。其优点是,形成这些控制信号所必需的线路延迟时间少,对提高系统运行速度有利,并且由于使用了大规模现场可编程器件,这些逻辑线路的设计和修改变得非常简单易行。组合逻辑控制器主要由4个部件组成:程序计数器PC,保存指令在内存中的地址;指令寄存器IR,保存从内存读来的指令内容,在指令执行过程中提供指令本身的主要信息;节拍发生器,用于标记出每条指令的各执行步骤的相对次序关系;控制逻辑,或称时序控制信号产生部件,它根据指令内容(由IR提供)和指令的执行步骤(由节拍发生器提供)及其他一些条件信号(标志寄存器输出),形成并提供出计算机各部件当前时刻要用到的控制信号。

1.5 各部分说明

1、各个功能部件及其使用的控制信号:

(1)ALU:组合逻辑部件,对两个16位的输入及进位输入Cin可进行由3位控制信号控制的如下操作:

由Quartus生成的.bsf图如下:查看源文件

其VHDL语言的行为描述如下:查看源文件

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;

entity alu is --实体描述

port( cin:in std_logic;

alu_a,alu_b:in std_logic_vector(15 downto 0);

alu_func:in std_logic_vector(2 downto 0); --控制信号

alu_out:out std_logic_vector(15 downto 0);

c,z,v,s:out std_logic);

end alu;

architecture behave of alu is --ALU行为描述

begin

process(alu_a,alu_b,cin,alu_func)

variable temp1,temp2,temp3 : std_logic_vector(15 downto 0) ;

begin

temp1 := "000000000000000"&cin; --进位扩展

case alu_func is --翻译上表中的内容,运算结果都暂存为temp2 when "000"=>

temp2 := alu_b+alu_a+temp1;

when "001"=>

temp2 := alu_b-alu_a-temp1;

when "010"=>

temp2 := alu_a and alu_b;

when "011"=>

temp2 := alu_a or alu_b;

when "100"=>

temp2 := alu_a xor alu_b;

when "101"=>

temp2(0) := '0';

for I in 15 downto 1 loop--循环实现左移

temp2(I) := alu_b(I-1);

end loop;

when "110"=>

temp2(15) := '0';

for I in 14 downto 0 loop--循环实现右移

temp2(I) := alu_b(I+1);

end loop;

when others=>

temp2 := "0000000000000000";

end case;

alu_out <= temp2; --将temp2赋给输出alu_out

--置标志位Z,判断运算结果是否为0

if temp2 = "0000000000000000" then z<='1';

else z<='0';

end if;

--置标志位S,判断运算结果的符号位(最高位)

if temp2(15) = '1' then s<='1';

else s<='0';

end if;

--置标志位V,判断运算结果是否溢出

case alu_func is

when "000" | "001"=>

if (alu_a(15)= '1' and alu_b(15)= '1' and temp2(15) = '0') or

(alu_a(15)= '0' and alu_b(15)= '0' and temp2(15) = '1') then

v<='1';

else v<='0';

end if;

when others=>

v<='0';

end case;

--置标志位C,判断运算结果是否有进位

case alu_func is

when "000"=>

temp3 := "1111111111111111"-alu_b-temp1;

if temp3

c<='1';

else c<='0';

end if;

when "001"=>

if alu_b

c<='1';

else c<='0';

end if;

when "101"=>

c <= alu_b(15);

when "110"=>

c <= alu_b(0);

when others=>

c<='0';

end case;

end process;

end behave;

这部分主要要注意的地方就是标志位C和V的数值。根据参考文献[5],溢出标志位OF:在运算过程中,如操作数超出了机器能标似的范围称为溢出,此时OF位置1,否则置0。进位标志CF:记录运算时从最高有效位产生的进位值,例如,执行加法指令时,最高有效位有进位时置1,否则置0。(page 22~23)后文对此进一步解释说(page 59),OF用来表示带符号数的溢出,CF用来表示无符号数的溢出。

根据这一说明,可以这样判断V和C标志位的值:

V:如果正数(符号位为0)与正数之和为负数(符号位为1),或是负数与负数之和为正数,则发生了溢出,V置1;

C:两数之和大于1111111111111111,则产生了进位,C置1;被减数小于减数,则产生借位,C置1。注意要使用无符号数的比较符号>、<需包含库函数ieee.std_logic_arith 和ieee.std_logic_unsigned。

另外要注意的是,只有算术运算需要考虑进位和溢出标志位,逻辑运算,除非带C 移位和循环,否则无需考虑这两个标志位。

(2)数据选择器BUS_MUX:组合逻辑器件,其输入包括:源寄存器数据,目标寄存器数据,带符号位扩展的偏移地址,PC,以及从内存读取的立即数、跳转地址等数据。

在3位控制信号的控制下它进行ALU 模块A、B端输入的选择:

由Quartus生成的.bsf图如下:查看源文件

其VHDL语言的行为描述如下:查看源文件

library ieee;

use ieee.std_logic_1164.all;

entity bus_mux is --实体描述

port( alu_in_sel : in std_logic_vector(2 downto 0); --控制信号

data,pc,offset,sr,dr : in std_logic_vector(15 downto 0);

alu_sr,alu_dr : out std_logic_vector(15 downto 0));

end bus_mux;

architecture behave of bus_mux is --行为描述

begin

process(alu_in_sel,data,pc,offset,sr,dr)

begin

case alu_in_sel is --翻译上表中内容

when "000"=>

alu_sr<=sr;

alu_dr<=dr;

when "001"=>

alu_sr<=sr;

alu_dr<="0000000000000000";

when "010"=>

alu_sr<="0000000000000000";

alu_dr<=dr;

when "011"=>

alu_sr<=offset;

alu_dr<=pc;

when "100"=>

alu_sr<="0000000000000000";

alu_dr<=pc;

when "101"=>

alu_sr<="0000000000000000";

alu_dr<=data;

when others=>

alu_sr<="0000000000000000";

alu_dr<="0000000000000000";

end case;

end process;

end behave;

由于在我们的设计中只有ALU部件有加法器的功能,而对程序计数器的自增并没有再另设一个加法器,故ALU的输入组合情况较多。在对全部指令的执行步骤进行了分析后,共列出了表中所示的6种情况,故使用了3位控制信号。

(3)器件T1:组合逻辑器件,用于产生ALU的进位输入Cin,受两位控制信号SCI的选择控制,输入为标志寄存的输出FLAG_C:

由Quartus生成的.bsf图如下:查看源文件

其VHDL语言的行为描述如下:查看源文件

library ieee;

use ieee.std_logic_1164.all;

entity t1 is --实体描述

port(flag_c:in std_logic;

sci:in std_logic_vector(1 downto 0); --控制信号

alu_cin:out std_logic);

end t1;

architecture behave of t1 is --实体行为描述

begin

process(sci,flag_c)

begin

case sci is --翻译上表中的内容

when "00"=>

alu_cin<='0';

when "01"=>

alu_cin<='1';

when "10"=>

alu_cin<=flag_c;

when others=>

alu_cin<='0';

end case;

end process;

end behave;

(4)标志寄存器FLAG_REG:时序逻辑部件,带有清零端RESET,输出只在时钟正跳变时发生变化;接收ALU的标志位输出,在控制信号SST的控制下输出实际需要的标志位:

由Quartus生成的.bsf图如下:查看源文件

其VHDL语言的行为描述如下:查看源文件

library ieee;

use ieee.std_logic_1164.all;

entity flag_reg is --实体描述

port( sst: in std_logic_vector(1 downto 0); --控制信号c,z,v,s,clk,reset: in std_logic;

flag_c,flag_z,flag_v,flag_s: out std_logic);

end flag_reg;

architecture behave of flag_reg is --实体的行为描述

begin

process(clk,reset)

begin

if reset = '0' then --RESET为低电平时寄存器清零

flag_c<='0';

flag_z<='0';

flag_v<='0';

flag_s<='0';

elsif clk'event and clk = '1' then --时钟正跳变来临时

case sst is --翻译上表中的内容

when "00"=>

flag_c<=c;

flag_z<=z;

flag_v<=v;

flag_s<=s;

when "01"=>

flag_c<='0';

when "10"=>

flag_c<='1';

when "11"=>

null;

end case;

end if;

end process;

end behave;

(5)T2:组合逻辑器件,将8位的OFFSET(来自指令的低8位)带符号位扩展到16位;

由Quartus生成的.bsf图如下:查看源文件

其VHDL语言的行为描述如下:查看源文件

library ieee;

use ieee.std_logic_1164.all;

entity t2 is --实体描述

port(offset_8:in std_logic_vector(7 downto 0);

offset_16:out std_logic_vector(15 downto 0));

end t2;

architecture behave of t2 is --实体的行为描述

begin

process(offset_8)

begin

if offset_8(7) = '1' then offset_16 <= "11111111" & offset_8;

else offset_16 <= "00000000" & offset_8;

end if;

end process;

end behave;

(6)程序计数器PC:时序逻辑器件,16位寄存器,在控制信号pc_en的控制下可接收ALU的运算结果(高电平接收,否则保持不变)。输出送往地址寄存器(读取指令内容)以及数据选择器(进行自增运算)。

由Quartus生成的.bsf图如下:查看源文件

其VHDL语言的行为描述如下:查看源文件

library ieee;

use ieee.std_logic_1164.all;

entity pc is --实体描述

port(alu_out: in std_logic_vector(15 downto 0);

en: in std_logic; --控制信号

clk,reset: in std_logic;

q: out std_logic_vector(15 downto 0));

end pc;

architecture behave of pc is --实体的行为描述

begin

process(clk,reset)

begin

if reset = '0' then --RESET为低电平时寄存器清零

q <= "0000000000000000";

elsif clk'event and clk = '1' then --时钟正跳变来临时

if en = '1' then

q <= alu_out;

end if;

end if;

end process;

end behave;

(7)地址寄存器AR和指令寄存器IR:都是16位的寄存器,地址寄存器用于存放要读写的内存地址单元的地址,输出送往地址总线,输入可能为PC内容,也可能为ALU 的输出(对读写内存指令);指令寄存器存放当前执行指令的内容,它的输入来自从内存读取的指令和数据,输出送往控制逻辑。二者共用两位控制信号REC,说明如下:

由Quartus生成的.bsf图如下:查看源文件1查看源文件2

其VHDL语言的行为描述如下:查看源文件1查看源文件2

library ieee;

use ieee.std_logic_1164.all;

entity ar is --实体描述

port(alu_out: in std_logic_vector(15 downto 0);

pc: in std_logic_vector(15 downto 0);

rec: in std_logic_vector(1 downto 0); --控制信号

clk,reset: in std_logic;

q: out std_logic_vector(15 downto 0));

end ar;

architecture behave of ar is --实体的行为描述

begin

process(clk,reset)

begin

if reset = '0' then --RESET为低电平时寄存器清零q <= "0000000000000000";

elsif clk'event and clk = '1' then --时钟正跳变来临时

case rec is --翻译上表中的内容

when "01"=>

q <= pc;

when "11"=>

q <= alu_out;

when others=>

null;

end case;

end if;

end process;

end behave;

library ieee;

use ieee.std_logic_1164.all;

entity ir is --实体描述

port(mem_data: in std_logic_vector(15 downto 0);

rec: in std_logic_vector(1 downto 0); --控制信号

clk,reset: in std_logic;

q: out std_logic_vector(15 downto 0));

end ir;

architecture behave of ir is --实体的行为描述

begin

process(clk,reset)

begin

if reset = '0' then --RESET为低电平时寄存器清零q <= "0000000000000000";

elsif clk'event and clk = '1' then --时钟正跳变来临时

case rec is --翻译上表中的内容

when "10"=>

q <= mem_data;

when others=>

null;

end case;

end if;

end process;

end behave;

(8)寄存器、寄存器组和寄存器的选择:本实验中的寄存器都为16位,带有清零端和使能端,实际上在写VHDL程序时,通用寄存器以及AR、IR、PC使用的都是同一个模板。按照我们的设计,通用寄存器共有16个,由指令的低8位的全部或其中的高4位或低4位来从寄存器组中选择源寄存器和目的寄存器。安排寄存器选择器件reg_mux,为组合逻辑器件,用于输出选定寄存器的内容。另外,由控制逻辑给出1位控制信号reg_en,控制是否对选中寄存器进行写操作,也须由寄存器选择器件给出对特定寄存器的写使能信号。不然若由一个使能信号控制全部16个寄存器将对实际不参与写操作的寄存器造成不稳定的情况。

为了便于调试时查看寄存器内容,另外由外部输入选定寄存器读出其内容,其中读取通用寄存内容的工作也由这个器件完成。

由Quartus生成的.bsf图如下:查看源文件1查看源文件2

其VHDL语言的行为描述如下:查看源文件1查看源文件2

library ieee;

use ieee.std_logic_1164.all;

entity reg is --实体描述

port( d: in std_logic_vector(15 downto 0);

clk,reset,en: in std_logic; --en来自控制信号

q: out std_logic_vector(15 downto 0));

end reg;

architecture behave of reg is --实体的行为描述

begin

process(clk,reset,en)

begin

if reset = '0' then --RESET为低电平时寄存器清零

q <= "0000000000000000";

elsif clk'event and clk = '1' then --时钟正跳变来临时

if en = '1' then

q <= d;

end if;

end if;

end process;

end behave;

library ieee;

use ieee.std_logic_1164.all;

entity reg_mux is --实体描述

port ( reg_0: in std_logic_vector(15 downto 0); --16个通用寄存器数据输入reg_1: in std_logic_vector(15 downto 0);

reg_2: in std_logic_vector(15 downto 0);

reg_3: in std_logic_vector(15 downto 0);

reg_4: in std_logic_vector(15 downto 0);

reg_5: in std_logic_vector(15 downto 0);

reg_6: in std_logic_vector(15 downto 0);

reg_7: in std_logic_vector(15 downto 0);

reg_8: in std_logic_vector(15 downto 0);

reg_9: in std_logic_vector(15 downto 0);

reg_a: in std_logic_vector(15 downto 0);

reg_b: in std_logic_vector(15 downto 0);

reg_c: in std_logic_vector(15 downto 0);

reg_d: in std_logic_vector(15 downto 0);

reg_e: in std_logic_vector(15 downto 0);

reg_f: in std_logic_vector(15 downto 0);

dest_reg:in std_logic_vector(3 downto 0); --选择目的寄存器

sour_reg:in std_logic_vector(3 downto 0); --选择源寄存器

reg_sel: in std_logic_vector(3 downto 0); --外部选择寄存器信号

en: in std_logic; --总使能信号

en_0: out std_logic; --16个通用寄存器各自的使能信号

en_1: out std_logic;

en_2: out std_logic;

en_3: out std_logic;

en_4: out std_logic;

en_5: out std_logic;

en_6: out std_logic;

en_7: out std_logic;

en_8: out std_logic;

en_9: out std_logic;

en_a: out std_logic;

en_b: out std_logic;

en_c: out std_logic;

en_d: out std_logic;

en_e: out std_logic;

en_f: out std_logic;

dr: out std_logic_vector(15 downto 0); --目的寄存器的输出数据

sr: out std_logic_vector(15 downto 0); --源寄存器的输出数据

reg_out: out std_logic_vector(15 downto 0)); --输出到外部的寄存器数据end reg_mux;

architecture behave of reg_mux is --实体的行为描述

begin

process(dest_reg,sour_reg,reg_sel,reg_0,reg_1,

reg_2,reg_3,reg_4,reg_5,reg_6,

reg_7,reg_8,reg_9,reg_a,reg_b,

reg_c,reg_d,reg_e,reg_f,en)

variable temp : std_logic_vector(15 downto 0);

begin

case dest_reg is --选择信号与输出的一一对应,使能信号具体化

when "0000"=>

dr<=reg_0;

temp := "0000000000000001";

when "0001"=>

dr<=reg_1;

temp := "0000000000000010";

when "0010"=>

dr<=reg_2;

temp := "0000000000000100";

when "0011"=>

dr<=reg_3;

temp := "0000000000001000";

when "0100"=>

dr<=reg_4;

temp := "0000000000010000";

when "0101"=>

dr<=reg_5;

temp := "0000000000100000";

when "0110"=>

dr<=reg_6;

temp := "0000000001000000";

when "0111"=>

工程测量实验报告

实验报告 课程名称:工程测量实验报告 专业班级:D测绘131 姓名学号:戴峻2013132911 测绘工程学院 实验报告一、精密角度测量 一、实验名称:精密角度测量 二、实验性质:综合性实验 三、实验地点:淮海工学院苍梧校区 时间:2016.6.02 四、实验目的: 1. 掌握精密经纬仪(DJ1或DJ2)的操作方法。 2. 掌握方向法观测水平角水平角的观测顺序,记录和计算方法。 五、仪器和工具: 全站仪一台,三脚架一个,记录板一块,自备铅笔,记录手薄和观测目标物。

六、实验内容及设计: 在实验之前,需要做的工作是:了解实验内容,以及读数的多种限差,并选择好实验地点,大略知道实验数据的处理。 1.实验步骤: (1)架设全站仪,完成对中、整平; (2)调清楚十字丝,选择好起始方向,消除视差; (3)一个测站上四个目标一测回的观测程序 2. 度盘配置: 设共测4个测回,则第i个测回的度盘位置略大于(i-1)180/4. 3. 一测回观测: (1) 盘左。选定一距离较远、目标明显的点(如A点)作为起始方向,将平读盘读数配置在稍大于0 o处,读取此时的读数;松开水平制动螺旋,顺时针方向依次照准B、C、D三目标读数;最后再次瞄准起始点A并读数,称为归零。

以上称为上半侧回。两次瞄准A点的读数之差称为“归零差”,检核是否超限,超限及时放弃本测回,重新开始本测回。 (2)盘右。先瞄准起始目标A,进行读数;然后按逆时针放线依次照准D、C、B、A各目标,并读数。 以上称之为下半测回,其归零差仍要满足规范要求。 上、下半测回构成了一个测回,检核本测回是否满足各项限差,如超限,重新开始本测回,合限,进行下一测回工作。 4.记录、计算 (1)记录。参考本指南所附的本次实验记录表格。盘左各目标的读数按从上往下的顺序记录,盘右各目标读数按从下往上的顺序记录。 (2)两倍照准误差2C的计算。按照下式计算2C 对于同一台仪器,在同一测回内,各方向的2C值应为一个定值。若有变化,其变化值不超过表1.1中规定的范围 表1.1 水平角方向观测法的技术要求

数据通路实验报告

非常简单CPU数据通路设计实验报告非常简单CPU数据通路设计【实验目的】 1. 掌握CPU的设计步骤 2. 学会芯片的运用及其功能 【实验环境】 Maxplus2环境下实现非常简单CPU数据通路的设计 【实验内容】 非常简单CPU的寄存器:一个8位累加器AC,一个6位的地址寄存器绘制 AR,一个6位的程序计数器PC,一个8位的数据寄存器DR,一个2位的指令寄存器IR。其数据通路详见教材P。 1、零件制作 6位寄存器 (自行设计) 6位计数器 (自行设计) 8位寄存器 (可选择74系列宏函数74273) 8位计数器 (由两个74161构成) 2位寄存器 (由D触发器构成,自行设计) 6三态缓冲器 (自行设计,可由74244内部逻辑修改而成) 8三态缓冲器 (选择74系列宏函数74244,或作修改) alu模块 (自行设计,限于时间,其内部逻辑不作要求) 2、选择器件,加入数据通路顶层图 8位累加器AC:选择8位计数器 6位地址寄存器AR:reg6 6位的程序计数器PC:cou6

8位的数据寄存器DR:选择8位寄存器 2位的指令寄存器IR:选择2位寄存器 3、为PC、DR加入三态缓冲器。 4、调整版面大小,器件位置。 5、设计地址引脚、数据引脚、8位内部总线,加入数据引脚到内部总线的 缓冲器。 6、连接各器件之间以及到内部总线的线路,设计并标注各控制信号。 7、(选做)编译之后,给出微操作 AR<-PC 的测试方法及仿真结果。 8、实验报告中应给出各元部件的实现方法、内部逻辑贴图、打包符号说 明及顶层的“非常简单CPU”数据通路图。 实验报告 一、实验步骤 基于前面非常简单CPU的讲解,我掌握了非常简单CPU的指令集结构及非常简单CPU的指令读取过程和执行过程,本次实验是在上次实验的基础之上完成非常简单CPU数据通路的设计,其步骤如下: (1)、AC累加器原理图如下:

《土木工程实验(一)》实验报告

姓名:肖龙 报名编号:T0759202101411509000002 学习中心:福建省厦门电子职业中专学校奥鹏学习中心[25] 层次:高起专 专业:建筑工程技术 实验一:水泥实验 一、实验目的: 1、学习水泥性质检验方法; 2、熟悉水泥的主要技术性质; 3、检验水泥是否合格。 二、实验内容: 第1部分:水泥标准稠度用水量、凝结时间测定 实验仪器、设备:水泥净浆搅拌机(符合GB3350.8要求);维卡仪;净浆标准稠度测定仪;凝结时间测定仪;圆台试模;初凝时间试针;终凝时间试针;水泥湿气养护箱;天平,量筒;其他工具:小刀、小铲。 1、水泥标准稠度用水量 (1)实验原理:水泥标准稠度净浆对标准试杆(或试锥)的沉入具有一定阻力。通过试验不同含水量水泥净浆的穿透性,以确定水泥标准稠度净浆中所需加入的水量。 本实验采用代用法测定水泥标准稠度用水量,并采用不变用水量法,量取拌用水142.5ml,根据实验结果换算得出最终标准稠度用水量。 (2)实验数据及结果

2、水泥凝结时间测定 (1)实验原理:凝结时间以试针沉入水泥标准稠度净浆至一定深度所需的时间表示。 (2)实验数据及结果 第2部分:水泥胶砂强度检验 1、实验依据: GB17671—1999水泥胶砂强度检验方法(ISO法)。 2、实验仪器、设备:行量式胶砂搅拌机;振实台;水泥抗折强度试验机;水泥抗压强度试验机;专用夹具;试模;大小括料器,金属刮平尺;养护箱、养护池;天平,量筒。 3、实验数据及结果 水泥检验项目合格性评定:

(1)水泥的凝结时间是否符合要求,是如何判定的? 答:水泥的凝结时间符合要求。依据GB175-2007《通用硅酸盐水泥》对P.042.5水泥的技术要求:凝结时间:初凝时间不早于45分钟,该试验初凝时间为140.2分钟,终凝时间不迟于600分钟,该试验终凝时间为203.22分钟,所以符合要求。 (2)水泥胶砂强度是否符合要求,是如何判定的? 答:符合要求。依据胶砂强度:28天抗折强度9.28≥6.5、抗压强度51.15≥42.5(实验数据结果不小于以下表中数据)。 实验二:土的压缩试验 一、实验目的:通过土的压缩实验得到试样在侧限与轴向排水条件下的孔隙比与压力的关系,即压缩曲线——e~p曲线,并以此计算土的压缩系数a1-2,判断土的压缩性,为土的沉降变形计算提供依据。 二、实验原理: 1、计算公式 (1 + W0)Gs Pw (1)试样初始孔隙比:e0﹦____________________________________ ___ 1 P0 (2)各级压力下试样固结变形稳定后的孔隙比: (1 + e0) e i = e0-_____________________________ △ hi h0 e1 –e2 △ e (3)土的压缩系数:a1-2 = ___________________ = - __________________________ P2–p1 △ p

cpu实验报告

简易计算机系统综合设计设计报告 班级姓名学号 一、设计目的 连贯运用《数字逻辑》所学到的知识,熟练掌握EDA工具的使用方法,为学习好后续《计算机原理》课程做铺垫。 二、设计内容 ①按给定的数据格式和指令系统,使用EDA工具设计一台用硬连线逻辑控制的简易计算机系统; ②要求灵活运用各方面知识,使得所设计的计算机系统具有较佳的性能; ③对所做设计的性能指标进行分析,整理出设计报告。 三、详细设计 3.1设计的整体架构 控制信号

3.2各模块的具体实现 1.指令计数器(zhiling_PC) 元件: 输入端口:CLK,RESET,EN; 输出端口:PC[3..0]; CLK:时钟信号; RESET:复位信号; EN:计数器控制信号,为1的时候加一; PC[3..0]:地址输出信号; 代码:

波形图: 总共有九条指令,指令计数器从0000到1000;功能: 实现指令地址的输出; 2.存储器(RAM) 元件: 输入端口:PC[3..0],CLK; 输出端口:zhiling[7..0]; CLK:时钟信号; PC[3..0]:指令地址信号; zhiling[7..0]:指令输出信号; 代码:

波形图: 功能: 根据输入的地址输出相应的指令; 3.指令译码器(zlymq) 元件: 输入端口:zhiling[7..0]; 输出端口:R1[1..0],R2[1..0],M[3..0];zhiling[7..0]:指令信号; R1:目标寄存器地址; R2:源寄存器地址; M[3..0]:指令所代表的操作编号; 代码:

波形图:

功能: 实现指令的操作译码,同时提取出目标寄存器和源寄存器的地址; 4.算术逻辑运算器(ALU) 元件: 输入端口:EN_ALU,a[7..0],b[7..0],M[3..0]; 输出端口:c[7..0],z; EN_ALU:运算器的使能端; a[7..0]:目标寄存器R1的值; b[7..0]:源寄存器R2的值; M[3..0]:指令所代表的操作编号; c[7..0]:运算结果; z:运算完成的信号; 代码:

计算机组成原理实验报告单周期cpu的设计与实现

1个时钟周期 Clock 电子科技大学计算机科学与工程学院 标 准 实 验 报 告 (实验)课程名称: 计算机组成原理实验 电子科技大学教务处制表 电 子 科 技 大 学 实 验 报 告 学生姓名: 郫县尼克杨 学 号: 2014 指导教师:陈虹 实验地点: 主楼A2-411 实验时间:12周-15周 一、 实验室名称: 主楼A2-411 二、 实验项目名称: 单周期CPU 的设计与实现。 三、 实验学时: 8学时 四、 实验原理: (一) 概述 单周期(Single Cycle )CPU 是指CPU 从取出1条指令到执行完该指令只需1个时钟

周期。 一条指令的执行过程包括:取指令→分析指令→取操作数→执行指令→保存结果。对于单周期CPU 来说,这些执行步骤均在一个时钟周期内完成。 (二) 单周期cpu 总体电路 本实验所设计的单周期CPU 的总体电路结构如下。 (三) MIPS 指令格式化 MIPS 指令系统结构有MIPS-32和MIPS-64两种。本实验的MIPS 指令选用MIPS-32。以下所说的MIPS 指令均指MIPS-32。 MIPS 的指令格式为32位。下图给出MIPS 指令的3种格式。 本实验只选取了9条典型的MIPS 指令来描述CPU 逻辑电路的设计方法。下图列出了本实验的所涉及到的9条MIPS 指令。 五、 实验目的 1、掌握单周期CPU 的工作原理、实现方法及其组成部件的原理和设计方法,如控制器、26 31 221 216 15 11 1 6 5 0 op rs rt rd sa func R 型指令 26 31 221 216 15 0 op rs rt immediate I 型指令 26 31 20 op address J 型指令

机械工程测试实验报告----白云静

机械工程测试技术 实验指导书 学院:机械与动力工程学院 专业:车辆工程 班级: 11010141 学号: 1101014125 姓名:赵艳峰

实验一 用应变仪测量电阻应变片的灵敏度 一 实验目的 1、掌握在静载荷下使用电阻应变仪测量方法; 2、掌握桥路连接和电阻应变仪工作原理; 3、了解影响测量误差产生的因素。 二、实验仪器及设备 等强度梁 编号;天平秤;砝码;yd-15型动态电阻应变仪; 游标卡尺;千分尺(0~25㎜);DY-15型直流24伏电源; 三、实验原理 电测法的基本原理是:将电阻应变片粘贴在被测构件的表面,当构件发生变形时,应变片随着构件一起变形(ΔL/L ),应变片的电阻值将发生相应的变化,通过电阻应变仪,可测量出应变片中电阻值的变化(ΔR/R ),并换算成应变值,或输出与应变成正比的模拟电信号(电压或电流),用记录仪记录下来,也可用计算机按预定的要求进行数据处理,得到所需要的应变或应力值。电阻应变片的灵敏度是构件单位应变所引起应变片电阻值的变化量,用K 来表示, K= L/L R/R ??=ε R/R ? yd-15动态电阻应变仪主要技术参数 1、测量点数:4点 8点 2、测量范围: 10000微应变 3、标定应变: 50, 100, 300, 1000, 3000微应变,标定误差不超过 1%,最小 1微应变 4、灵敏系数:k=2.00 5、灵敏度:0.25mA/με(12Ω及2Ω负载) 0.093 5mA/με(16Ω负载) 0.025mA/με(20Ω负载) 0.01mA/με(50Ω负载) 0.01伏/με(1k 负载) 6、电阻应变片:按120Ω设计,100~600Ω可用。 7、线性输出范围:0 30mA(12Ω及2Ω负载)

微机组装实验报告

微机组装实验报告 一.实验内容 1、了解计算机的硬件系统 2、在规定的时间内完成一台计算机的完全拆卸并且完全还原的组装拆卸训练二.实验目的 1、熟悉计算机的基本配置及各部件的功能 2、掌握计算机的组装过程 三.实验过程及步骤 1、实验的主要过程及步骤 ①交代任务,强调实验的重点及注意事项 ②老师演示重点环节 ③拆卸计算机: 观察机箱外观---打开机箱并观察机箱内的部件---分解各个部件之间的连接---观察主板---拆卸主板上的部件 ④组装计算机: 安装cpu---散热风扇---内存条---电源盒---主板---显卡---光驱---硬盘---连接主板控制线 2、主要部件的功能及参数介绍: ①中央处理器(英文Central Processing Unit,CPU)是一台计算机的运算核心 和控制核心。CPU、内部存储器和输入/输出设备是电子计算机三大核心部件。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU由运

算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。 差不多所有的CPU的运作原理可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,并执行指令。所谓的计算机的可编程性主要是指对CPU的编程。 ②主机板:又叫主板(mainboard)、系统板(systemboard)或母板(motherboard);它 安装在机箱内,是微机最基本的也是最重要的部件之一。主板一般为矩形电路板,上面安装了组成计算机的主要电路系统,一般有BIOS芯片、I/O 控制芯片、键盘和面板控制开关接口、指示灯插接件、扩充插槽、主板及插卡的直流电源供电接插件等元件 ③内存条:内存条是连接CPU 和其他设备的通道,起到缓冲和数据交换作用。 库”太大,加上离CPU也很“远”,运输“原料”数据的速度就比较慢,导致 间,建了一个“小仓库”—内存。 四.实验心得及体会收获 通过学习计算机组装,我了解了计算机方面的一些基础知识,也了解到了CPU,主板,内存等配件的基本结构,原来在计算机方面不是很懂得的我,开始渐渐的深入了解它,相信我今后能更好的使用它。 “纸上得来终觉浅,绝知此事要躬行。”这次计算机组装实验,让我真正将理论和实践融为一体,既巩固了旧知识,又掌握了新知识,在提高了我的动手能力

CPU设计实验报告文档(英文版)

Southeast University Microprogra m med CPU Design -- COA experiment School of Information Science and Engineering 04009XXX 2012-4-25

Purpose The purpose of this project is to design a simple CPU (Central Processing Unit). This CPU has basic instruction set, and we will utilize its instruction set to generate a very simple program to verify its performance. For simplicity, we will only consider the relationship among the CPU, registers, memory and instruction set. That is to say we only need consider the following items: Read/Write Registers, Read/Write Memory and Execute the instructions. At least four parts constitute a simple CPU: the control unit, the internal registers, the ALU and instruction set, which are the main aspects of our project design and will be studied. Instruction Set Single-address instruction format is used in our simple CPU design. The instruction word contains two sections: the operation code (opcode), which defines the function of instructions (addition, subtraction, logic operations, etc.); the address part, in most instructions, the address part contains the memory location of the datum to be operated, we called it direct addressing. In some instructions, the address part is the operand, which is called immediate addressing. For simplicity, the size of memory is 256×16 in the computer. The instruction word has 16 bits. The opcode part has 8 bits and address part has 8 bits. The instruction word format can be expressed in Figure 1 Figure 1 the instruction format The opcode of the relevant instructions are listed in Table 1. In Table 1, the notation [x] represents the contents of the location x in the memory. For example, the instruction word 00000011101110012 (03B916) means that the CPU adds word at location B916 in memory into the accumulator (ACC); the instruction word 00000101000001112 (050716) means if the sign bit of the ACC (ACC [15]) is 0, the CPU will use the address part of the instruction as the address of next instruction, if the sign bit is 1, the CPU will increase the program counter (PC) and use its content 7 as the address of the next instruction. Table 1 List of instructions and relevant opcodes

CPU设计实验报告

实验中央处理器的设计与实现 一、实验目的 1、理解中央处理器的原理图设计方法。 2、能够设计实现典型MIPS的11条指令。 二、实验要求 1、使用Logisim完成数据通路、控制器的设计与实现。 2、完成整个处理器的集成与验证。 3、撰写实验报告,并提交电路源文件。 三、实验环境 VMware Workstations Pro + Windows XP + Logisim-win-2.7.1 四、操作方法与实验步骤 1、数据通路的设计与实现 数据通路主要由NPC、指令存储器、32位寄存器文件、立即数扩展部件、ALU、数据存储器构成。其中指令存储器和数据存储器可直接调用软件库中的ROM和RAM元件直接完成,其余部件的设计如图所示: 图1.1 NPC

图1.2 32位寄存器

图1.3 立即数扩展部件 图1.4 ALU 2、控制器的设计与实现 控制器的主要设计思想如图所示 图2.1 控制器设计思想 输入 1 1 0

输出R-type ORI LW SW BEQ JUMP RegDst 1 0 0 x x x ALUSrc 0 1 1 1 0 x MemtoReg0 0 1 x x x RegWrite 1 1 1 0 0 0 MemWrite0 0 0 1 0 0 Branch 0 0 0 0 1 0 Jump 0 0 0 0 0 1 Extop x 0 1 1 1 x ALUop2 1 0 0 0 0 x ALUop1 x 1 0 0 x x ALUop0 x 0 0 0 1 x ALUop[2:0] Funct[3:0] 指令ALUctr[2:0] 111 0000 add 010 111 0010 sub 110 111 0100 and 000 111 0101 or 001 111 1010 slt 111 010 xxxx ori 001 000 xxxx Lw/sw 010 011 xxxx beq 110 表2.1 控制器设计真值表

计算机硬件的组装实验报告

计算机硬件的组装实验 报告 TYYGROUP system office room 【TYYUA16H-TYY-TYYYUA8Q8-

计算机硬件的组装 实验时间:3月30日晚6:00-9:00 学号:姓名: 一、实验目的 1.加深对理论知识的理解,提高实际动手能力; 2.了解计算机的主要部件,理解各部件的功能,了解微型机的各项技术指标和参数。 3.能掌握现代计算机组成结构、内部部件的连接和装机步骤 4.能够熟练掌握计算机的基本组装技巧。 二、实验内容 1、了解计算机主要器件、外部设备的种类和发展情况; 2、掌握计算机主要器件、外部设备的主要性能指标; 3、知道如何选购计算机的主要器件和外部设备; 4、根据了解的知识,动手实践组装一台微型计算机系统; 5、了解并掌握计算机系统的调试、维护方法。 三、实验步骤 (一)计算机主要器件及外部设备 1、计算机系统硬件组成:微处理器、主板、内存、外存储器、输入系统设备、显示系统设备、机箱与电源。 2、计算机的结构构成和功能 ⑴.主板:主板是一块方形的电路板,在其上面分布着众多电 子元件和各种设备的插槽等。

⑵.主板的插座:主板上的插座主要是指主板上的CPU插座和电源插座。 ⑶. 主板的插槽 ⑷. 主板的芯片组:主板的芯片组是整个主板的核心,主板上各个部件的运行都是通过主板芯片组来控制的。 ⑸.CPU:CPU由控制器和运算器这两个主要部件组成。控制器是整个计算机系统的指挥中心。控制器的指挥控制下,运算器、存储器和输入/输出设备等部件协同工作,构成了一台完整的通用计算机。运算器是计算机中用于实现数据加工处理等功能的部件,它接受控制器的命令,负责完成对操作数据的加工处理任务,其核心部件是算术逻辑单元。 ⑹.内存:内存主要由内存颗粒、PCB电路板、金手指等部分组成。内存的作用是和CPU进行数据交换的,用于直接提供CPU要处理的数据,同时内存容量有限,它需要不断的从外存调入当前操作需要的数据以备CPU使用。 3.计算机的拆装 工具︰螺丝刀 ⑴.拆卸部件操作步骤: 关闭电源,用螺丝刀拆下螺丝,拆卸机 箱。观察主机各部件的连接线(电源和信号线),各部件的固定位置和方式(固定点、螺钉类型),并登记。拆除电源和信号线、板卡、内存、硬盘和软驱。(不要拆除CPU、风扇、主板) ⑵.安装计算机部件的操作步骤:

机械工程测试技术基础实验报告

《机械工程测试技术基础》实验报告 专业 班级学号 姓名 成绩 沈阳理工大学机械工程学院 机械工程实验教学中心 2015年4月

目录 实验一金属箔式应变片——电桥性能实验1 1.1实验内容1 1.2实验目的1 1.3实验仪器、设备1 1.4简单原理1 1.5实验步骤2 1.6实验结果2 1.7思考题4 实验二状态滤波器动态特性实验4 2.1实验内容4 2.2实验目的4 2.3实验仪器、设备5 2.4简单原理5 2.5实验步骤5 2.6实验结果6 2.7思考题11 实验三电机动平衡综合测试实验11 3.1实验内容11 3.2实验目的11 3.3实验仪器、设备11 3.4简单原理12

3.5实验步骤12 3.6实验结果13 3.7思考题15 实验四光栅传感器测距实验15 4.1实验内容15 4.2实验目的16 4.3实验仪器、设备16 4.4简单原理16 4.5实验步骤16 4.6实验结果17 4.5思考题19 实验五 PSD位置传感器位置测量实验19 5.1实验内容19 5.2实验目的19 5.3实验仪器、设备19 5.4简单原理19 5.5实验步骤20 5.6实验结果20 5.7思考题23 -

实验一金属箔式应变片——电桥性能实验指导教师日期 1.1实验内容 1.2实验目的 1.3实验仪器、设备 1.4简单原理

1.5实验步骤 1.6实验结果 表1.1 应变片单臂电桥实验数据表

表1.2 应变片半桥实验数据表 根据实验结果计算单臂和半桥的灵敏度、线性误差、回程误差,在座标纸上分别画出单臂、板桥的输入及输出关系曲线,并在曲线上标出线性误差、回城误差位置:

计算机硬件的组装实验报告

计算机硬件的组装 实验时间:3月30日晚6:00-9:00 学号:姓名: 一、实验目的 1.加深对理论知识的理解,提高实际动手能力; 2.了解计算机的主要部件,理解各部件的功能,了解微型机的各项技术指标和参数。 3.能掌握现代计算机组成结构、内部部件的连接和装机步骤 4.能够熟练掌握计算机的基本组装技巧。 二、实验内容 1、了解计算机主要器件、外部设备的种类和发展情况; 2、掌握计算机主要器件、外部设备的主要性能指标; 3、知道如何选购计算机的主要器件和外部设备; 4、根据了解的知识,动手实践组装一台微型计算机系统; 5、了解并掌握计算机系统的调试、维护方法。 三、实验步骤 (一)计算机主要器件及外部设备 1、计算机系统硬件组成:微处理器、主板、内存、外存储器、输入系统设备、显示系统设备、机箱与电源。 2、计算机的结构构成和功能 ⑴.主板:主板是一块方形的电路板,在其上面分布着众多电子 元件和各种设备的插槽等。

⑵.主板的插座:主板上的插座主要是指主板上的CPU插座和电源插座。 ⑶. 主板的插槽 ⑷. 主板的芯片组:主板的芯片组是整个主板的核心,主板上各个部件的运行都是通过主板芯片组来控制的。 ⑸.CPU:CPU由控制器和运算器这两个主要部件组成。控制器是整个计算机系统的指挥中心。控制器的指挥控制下,运算器、存储器和输入/输出设备等部件协同工作,构成了一台完整的通用计算机。运算器是计算机中用于实现数据加工处理等功能的部件,它接受控制器的命令,负责完成对操作数据的加工处理任务,其核心部件是算术逻辑单元。 ⑹.内存:内存主要由内存颗粒、PCB电路板、金手指等部分组成。内存的作用是和CPU进行数据交换的,用于直接提供CPU要处理的数据,同时内存容量有限,它需要不断的从外存调入当前操作需要的数据以备CPU使用。 3.计算机的拆装 工具︰螺丝刀 ⑴.拆卸部件操作步骤: 关闭电源,用螺丝刀拆下螺丝,拆卸机箱。 观察主机各部件的连接线(电源和信号线),各部件的固定位置和方式(固定点、螺钉类型),并登记。拆除电源和信号线、板卡、内存、硬盘和软驱。(不要拆除CPU、风扇、主板) ⑵.安装计算机部件的操作步骤:

大工2017《道桥工程实验(二)》实验报告

实验名称:土的压缩试验 一、实验目的:通过土的压缩试验得到试样在侧限与轴向排水条件下的孔隙比和压力的关系,即压缩曲线—e ~p 曲线,并以此计算土的压缩系数a 1-2,判断土的压缩性,为土的沉降变形计算提供依据。 二、实验原理: 1、计算公式 (1)试样初始孔隙比: 0s w 00 (1)1 w G e ρρ+= - (2)各级压力下试样固结变形稳定后的孔隙比:000 (1) i i e e e h h +=- ? (3)土的压缩系数:121-221-=-p -p p e e e α?= ? (4)土的压缩模量: 0 s1-21-21+e E α= 三、实验内容: 1、实验仪器、设备: 固结容器:环刀、护环、透水板、水槽、加压上盖。环刀:内径为61.8mm ,高度为20mm ;护环:保证试样侧面不变形,即满足侧限条件;透水板:其渗透系数大于试样的渗透系数。 加压设备:由压力框架、杠杆及砝码组成。 变形量测设备:量程10mm ,最小分度值为0.01mm 的百分表。 2、实验数据及结果

3、实验成果整理 四、实验结果分析与判定:

(1)根据实验结果,该土的压缩类别如何?该土的压缩类别为中性压缩土。

实验名称:钢筋混凝土简支梁实验 一、实验目的:1、分析梁的破坏特征,根据梁的裂缝开展判断梁的破坏形态;2、观察裂缝开展,记录梁受力和变形过程,画出荷载挠度曲线;3、根据每级荷载下应变片的应变值分析应变沿截面高度是否成线性;4、测定梁开裂荷载和破坏荷载,并与理论计算值进行比较。 二、实验基本信息: 1.基本设计指标 (1)简支梁的截面尺寸150mm×200mm (2)简支梁的截面配筋(正截面)150mm×200mm×1200mm 2.材料 (1)混凝土强度等级C30 (2)钢筋强度等级HRB335 三、实验内容: 第1部分:实验中每级荷载下记录的数据

计算机组装过程实验报告

计算机组装过程实验报告 院系: 班级:姓名:学号: 一、组装前的准备 1)准备计算机配件 组装一台计算机的配件一般包括主板、CPU、CPU风扇、内存、显卡、声卡(主板中都有板载声卡,除非用户特殊需要)、光驱(VCD 或DVD)、机箱、机箱电源、键盘鼠标、显示器、数据线和电源线等。 2)准备装机工具 除了计算机配件以外,还需要准备要用到的螺丝刀、尖嘴钳、镊子等装机工具 (1)十字口螺丝刀:用于螺丝的安装或拆卸。最好使用带有磁性的螺丝刀,这样安装螺丝钉时可以将其吸住,在机箱狭小的空间内使用起来比较方便。 (2)一字口螺丝刀:用于辅助安装,一般用处不大。 (3)镊子:用来夹取各种螺丝、跳线和比较小的零散物品。例如,在安装过程中一颗螺丝掉入机箱内部,并且被一个地方卡住,用手又无法取出,这时镊子就派上用场了。 (4)尖嘴钳:主要用来拆卸机箱后面的挡板或挡片。不过,现在的机箱多数都采用断裂式设计,用户只需用手来回对折几次,挡板或挡片就会断裂脱落。当然,使用尖嘴钳会更加方便。 (5)散热膏(硅脂):在安装CPU时必不可少的用品。用户只需将散热膏涂到CPU上,帮助CPU和散热片之间的连接,以增强硬件的

散热效率。在选购时一定要购买优质的导热硅脂。 二、台式计算机组装过程 1.拆卸机箱 >确定机箱侧板固定螺丝的位置,将固定螺丝拧下。 >转向机箱侧面,将侧板向机箱后方平移后取下,并以相同方式将另一侧板取下。 >取出机箱内的零件包。 2.安装电源(P4电源) 主机电源一般安装在主机箱的上端靠后的预留位置上。 >开电源包装盒,取出电源。 >将电源安装到机箱内的预留位置。 >用螺丝刀拧紧螺丝,将电源固定在主机机箱内。 3.将CPU和CPU散热器安装在主板上 >抬起主板上的CPU零拔插力插座(ZIF)的压杆,将CPU底板缺针的角对着插座上的缺口,然后水平放下,将CPU插入插座,然后将压杆往下压,卡住以后CPU就安装到位了。 >将塑料卡子按入风扇插座的4个孔中。 >将风扇放入支架中,固定风扇。 >将风扇电源线插入主板标明的CPU-FAN插座。 4.安装内存条 >最好将内存条插在离CPU最近的内存插槽中,可以提高内存的读写速度。

计算机组成CPU数据通路verilog实验报告.doc

计算机组成与系统结构实验报告 院(系):计算机科学与技术学院 专业班级: 学号: 姓名: 同组者: 指导教师: 实验时间: 2012 年 5 月 23 日 实验目的:

完成处理器的单周期cpu的设计。 实验仪器: PC机(安装Altebra 公司的开发软件 QuartusII)一台 实验原理: 控制器分为主控制器和局部ALU控制器两部分。主控制器的输入为指令操作码op,输出各种控制信号,并根据指令所涉及的ALU运算类型产生ALUop,同时,生成一个R-型指令的控制信号R-type,用它来控制选择将ALUop输出作为ALUctr信号,还是根据R-型指令中的func字段来产生ALUctr信号。 实验过程及实验记录: 1.设计过程: 第一步:分析每条指令的功能,并用RTL来表示。 第二步:根据指令的功能给出所需的元件,并考虑如何将它们互连。 第三步:确定每个元件所需控制信号的取值。 第四步:汇总各指令涉及的控制信号,生成所反映指令与控制信号之间的关系图。 第五步:根据关系表,得到每个控制信号的逻辑表达式,据此设计控制电路。

2.完成代码的编写,并调试运行。 1)control module Control(op,func,Branch,Jump,RegDst,ALUSrc,ALUctr,MemtoReg, RegWr,MemWr,ExtOp); input [5:0] op,func; output reg Branch,Jump,RegDst,ALUSrc,MemtoReg,RegWr,MemWr,ExtOp; output reg [2:0] ALUctr; always @(op) case(op) 6'b000000: begin Branch=0;Jump=0;RegDst=1;ALUSrc=0;MemtoReg=0;RegWr=1;MemWr =0; case(func) 6'b100000:ALUctr=3'b001; 6'b100010:ALUctr=3'b101; 6'b100011:ALUctr=3'b100; 6'b101010:ALUctr=3'b111; 6'b101011:ALUctr=3'b110; endcase end 6'b001101: begin Branch=0;Jump=0;RegDst=0;ALUSrc=1;MemtoReg=0;RegWr=1;MemWr =0;ExtOp=0;ALUctr=3'b010; end 6'b001001: begin Branch=0;Jump=0;RegDst=0;ALUSrc=1;MemtoReg=0;RegWr=1;MemWr =0;ExtOp=1;ALUctr=3'b000; end

单片机实验报告

本科生实验报告 实验课程单片机原理及应用 学院名称核技术与自动化工程学院 专业名称电气工程及其自动化 学生姓名 学生学号 指导教师任家富 实验地点6C902 实验成绩 二〇一五年三月二〇一五年六月 单片机最小系统设计及应用 摘要 目前,单片机以其高可靠性,在工业控制系统、数据采集系统、智能化仪器仪表等领域得到极其广泛的应用。因此对于在校的大学生熟练的掌握和使用单片机是具有深远的意义。通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用,本次设计课程采用STC89C52单片机和ADC0804,LED显示,键盘,RS232等设计一个单片机开发板系统。进行了LED显示程序设计,键盘程序设计,RS232通信程序设计等。实现了单片机的各个程序的各个功能。对仿真软件keil的应用提升了一个新的高度。单片机体积小、成本低、使用方便,所以被广

泛地应用于仪器仪表、现场数据的采集和控制。通过本实验的学习,可以让学生掌握单片机原理、接口技术及自动控制技术,并能设计一些小型的、综合性的控制系统,以达到真正对单片机应用的理解。 关键词:单片机;智能;最小系统;ADC;RS232;显示;STC89C52 第1章概述 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。单片机采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 它最早是被用在工业控制领域,由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。 现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。 第2章实验内容 2.1单片机集成开发环境应用

华中科技大学HUST类MIPS单周期微处理器设计实验报告

类MIPS单周期微处理器设计 实验报告 专业: 班级: 学号: 姓名:

一、微处理器各模块设计 各模块的框图结构如上图所示。由图可知,该处理器包含指令存储器、数据存储器、寄存器组、ALU单元、符号数扩张、控制器、ALU控制译码以及多路复用器等。图中还忽略了一个单元:时钟信号产生器,而且以上各个部件必须在时钟信号的控制下协调工作。 1.指令存储器的设计 指令寄存器为ROM类型的存储器,为单一输出指令的存储器。因此其对外的接口为clk、存储器地址输入信号(指令指针)以及数据输出信号(指令)。 (1)在IP wizard 中配置ROM,分配128个字的存储空间,字长为32位宽。 (2)选择输入具有地址寄存功能,只有当时钟上升沿有效时,才进行数据的输出。 (3)配置ROM内存空间的初始化COE文件。最后单击Generate按钮生成IROM模块。

2.数据存储器的设计 数据存储器为RAM类型的存储器,并且需要独立的读写控制信号。因此其对外的接口输入信号为clk、we、datain、addr;输出信号为dataout。 数据存储器基本建立过程同ROM的建立。 3.寄存器组设计 寄存器组是指令操作的主要对象,MIPS中一共有32个32位寄存器。在指令的操作过程中需要区分Rs、Rt、Rd的地址和数据,并且Rd的数据只有在寄存器写信号有效时才能写入,因此该模块的输入为clk、RegWriteAddr、RegWriteData、RegWriteEn、RsAddr、RtAddr、reset;输出信号为RsData、RtData。 由于$0一直输出0,因此当RsAddr、RtAddr为0时,RsData以及RtData 必须输出0,否则输出相应地址寄存器的值。另外,当RegWriteEn有效时,数据应该写入RegWriteAddr寄存器。并且每次复位时所有寄存器都清零。 代码如下: module regFile( input clk, input reset, input [31:0] regWriteData, input [4:0] regWriteAddr, input regWriteEn, output [31:0] RsData, output [31:0] RtData, input [4:0] RsAddr, input [4:0] RtAddr

软件测试实验报告

本科实验报告 课程名称:软件测试技术 实验项目:软件测试技术试验实验地点:实验楼211 专业班级:软件工程学号: 学生姓名:戴超 指导教师:兰方鹏 2015年10月7 日

太原理工大学学生实验报告 学院名称计算机与软件学院专业班级软件工程实验成绩 学生姓名戴超学号实验日期2015.10. 课程名称软件测试实验题目实验一白盒测试方法 一、实验目的和要求 (1)熟练掌握白盒测试方法中的逻辑覆盖和路径覆盖方法。 (2)通过实验掌握逻辑覆盖测试的测试用例设计,掌握程序流图的绘制。 (3)运用所学理论,完成实验研究的基本训练过程。 二、实验内容和原理 测试以下程序段 void dowork(int x,int y,int z) { (1)int k=0,j=0; (2)if((x>0)&&(z<10)) (3){ (4)k=x*y-1; (5)j=sqrt(k); (6)} (7)if((x==4)||(y>5)) (8)j=x*y+10; (9)j=j%3; (10)} 三、主要仪器设备 四、操作方法与实验步骤 说明:程序段中每行开头的数字(1-10)是对每条语句的编号。

A 画出程序的控制流图(用题中给出的语句编号表示)。 B 分别用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。 C 编写完整的C 程序(含输入和输出),使用你所设计的测试用例运行上述程序段。完整填写相应的测试用例表(语句覆盖测试用例表、判定覆盖测试用例表、条件覆盖测试用例表、判定/条件覆盖测试用例表、条件组合覆盖测试用例表、路径覆盖测试用例表、基本路径测试用例表) 流程图为: 开始 开始 k=0,j=0 (x>0)&&(z<1) k=x*y-1 j=sqrt(k) (x==4)||(y>5) j=x*y+10 j=j%3 结束 1 2 5 7 8 9

相关主题
文本预览
相关文档 最新文档