实验二乘法器实验报告

实验二乘法器实验报告
实验二乘法器实验报告

计算机组成原理实验报告

姓名学号、班级、

实验题目运算器部件实验乘法器

一、实验目的

掌握乘法器以及booth乘法器的原理

二、实验原理

乘法计算步骤:

(1)从右到左用乘数的每一位乘以被乘数,每一次乘得的中间结果比上一次的结果往左移一位。

(2)积的位数比被乘数和乘数的位数要多的多。事实上,如果我们忽略符号位,n位的被乘数和m位的乘数相乘的结果的位数有(n+m)位。因此,乘法必须象加法那样处理溢出问题,如果两个32位的数相乘,积也只有32位的时候,就会出现溢出。

在上面的例子中,我们把十进制数的各位限制为0或1。因此,每一步的乘法相当简单:

(1)如果乘数位是1,则简单的复制被乘数到合适的位置(1×被乘数);

(2)如果乘数位是0,则在合适的位置置0

因为二进制数的各位是0或1,所以与上面情况类似。

一个有效的计算有符号数乘法的是Booth算法,算法的新颖之处在于减法也可以用于

计算乘积。假定2

10×6

10

,或者说0010

2

×0110

2

0 0 1 0

X 0 1 1 0

+ 0 0 0 0 移位(乘数位为0) + 0 0 1 0 相加(乘数位为1) + 0 0 1 0 相加(乘数位为1) + 0 0 0 0 移位(乘数位为0) 0 0 0 0 1 1 0 0

Booth发现加法和减法可以得到同样的结果。例如,

6

10=-2

10

+ 8

10

或者 0110

2=-0010

2

+ 1000

2

因为在当时移位比加法快得多,所以Booth发现了这个算法。Booth算法的关键在于把1分类为开始、中间、结束三种。

当然一串0的时候加法减法都不做。因此,总结1的分类情况有4种如表2.4所示:

表2.4 1的分类

当前位当前位右边

的位

分类

1 0 1的开始

1 1 1的中间

0 1 1的结束

0 0 0的中间

Booth算法则是根据乘数的相邻2位来决定操作,第一步根据相邻2位的4种情况来进行加或减操作,第二步仍然是将积寄存器右移。算法描述如下:

(1)根据当前位和其右边的位,做如下操作:

00:0的中间,无任何操作;

01:1的结束,将被乘数加到积的左半部分;

10:1的开始,积的左半部分减去被乘数;

11:1的中间,无任何操作。

(2)将积寄存器右移1位。

需要注意的是,因为Booth乘法器是有符号数的乘法,因此积寄存器移位的时候,为了保留符号位,进行算术右移,不像前面的算法逻辑右移就可以了。

对于Booth算法,举例如下,2

10×-3

10

=-6

10

,或者说是0010

2

×1101

2

=1111 1010

2

表2.5 Booth乘法器举例

重复步骤被乘数

(md)

积(p)

0 初始值0010 0000 1101 0

1 1:10→积=积-被乘

0010 1110 1101 0

2:积右移1位0010 1111 0110 1

2 1:01→积=积+被乘

0010 0001 0110 1

2:积右移1位0010 0000 1011 0

3 1:10→积=积-被乘

0010 1110 1011 0

2:积右移1位0010 1111 0101 1

4 1:11→空操作0010 1111 0101 1

2:积右移1位0010 1111 1010 1

三、实验步骤

1.打开Quartus->tools->programmer,将booth_multiplier.sof下载到FPGA中。注意进行programmer时,应在program/configure下的方框中打勾,然后下载。

2.在实验台上通过模式开关选择FPGA独立调试模式010。

3.将短路子DZ3短接且短路子DZ4断开,使FPGA-CPU所需要的时钟使用正单脉冲时钟。

四、实验现象

本实验实现4位数的Booth乘法(有符号数乘法)。

输入输出规则对应如下:

1.输入的4位被乘数(multiplicand)md3~md0对应开关SD11~SD8。

2.输入的4位乘数(multiplier)mr3~mr0对应开关SD3~SD0。

3.按单脉冲按钮,输入脉冲,也即节拍。

4.乘积product(8位)p7~p0对应灯A8~A1,辅助位A0。

5.当计算结束时,final信号为1,对应灯R7。

如表2.5的booth算法举例,一共需要0~8九个小步骤计算出结果。本实验也是通过九个小步骤实现的,通过按单脉冲按钮输入脉冲,观察积寄存器的变化,掌握booth乘法器的原理。

(1)拨动开关SD11~SD8输入4位被乘数(md3~md0)0010,SD3~SD0输入4位乘数(mr3~mr0)1101。

(2)按动单脉冲按钮,输入脉冲,对照表2.5观察积寄存器即灯A8~A0的变化情况,当灯R7亮时,说明计算结束,灯A8~A1为最后相乘结果。

根据以上操作细节,仿照表2.5填写表中各步骤。

进行新的乘法运算时,或者说当上一次运算结束即灯R7亮时,输入新的被乘数、乘数(拨动开关),然后按动单脉冲开关即可观察正确的寄存器结果。00:0的中间,无任何操作;

重复步骤被乘数(md)积(p)

被乘数是(-7)

10乘数是(6)

10

0 初始值1001 0000 0110 0

1 1:00→空操作1001 0000 0110 0

2:积右移1位1001 0000 0011 0

2 1:10→积=积-被乘数1001 0111 0011 0

2:积右移1位1001 0011 1001 1

3 1:11→空操作1001 0011 1001 1

2:积右移1位1001 0001 1100 1

4 1:01→积=积+被乘数1001 1010 1100 1

2:积右移1位1001 1101 0110 重复步骤被乘数(md)积(p)

被乘数是(-4)

10乘数是(-5)

10

0 初始值1100 0000 1011 0

1 1:10→积=积-被

乘数1100

0100 1011 0

2:积右移1位1100 0010 0101 1 2 1:11→空操作1100 0010 0101 1

2:积右移1位1100 0001 0010 1

五、思考题

试述Booth 乘法器的原理,即为什么可以用相邻两位的差来决定加减操作

Booth 算法的关键在于把1分类为开始、中间、结束三种。

当然一串0的时候加法减法都不做。因此,总结1的分类情况有4种如表2.4所示:

表2.4 1的分类 当前位 当前位右边

的位

分类

1 0 1的开始

1 1 1的中间 0 1 1的结束 0

0的中间

Booth 算法则是根据乘数的相邻2位来决定操作,第一步根据相邻2位的4种情况来

进行加或减操作,第二步仍然是将积寄存器右移。算法描述如下: (3) 根据当前位和其右边的位,做如下操作:

00:0的中间,无任何操作;

01:1的结束,将被乘数加到积的左半部分; 10:1的开始,积的左半部分减去被乘数; 11:1的中间,无任何操作。 (4) 将积寄存器右移1位。

需要注意的是,因为Booth 乘法器是有符号数的乘法,因此积寄存器移位的时候,为了保留符号位,进行算术右移,不像前面的算法逻辑右移就可以了。

六、附录 代码:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all; entity Booth is

3

1:01→积=积+被乘数

1100 1101 0010 1 2:积右移1位 1100 1110 1001 0 4

1:10→积=积-被乘数

1100 0010 1001 0 2:积右移1位

1100

0001 0100

port

(

multiplicand : in std_logic_vector(3 downto 0);

multiplier : in std_logic_vector(3 downto 0);

clk : in std_logic;

clr :in std_logic;

product : buffer std_logic_vector(8 downto 0);

final :out std_logic

);

end entity;

architecture rtl of Booth is

signal m:std_logic_vector(8 downto 0):=multiplicand&"00000";

signal boothstep:std_logic_vector(2 downto 0):="000";

signal flag :std_logic_vector(1 downto 0);------后两位部分积

signal temp: std_logic_vector (8 downto 0);----部分积寄存器

begin

process(flag)is----------后两位控制加还是减

begin

if(flag="01")then

temp<=product+m;

elsif(flag="10")then

temp<=product-m;

else

temp<=product;

end if;

end process;

flag<=product(1 downto 0);

process(clk,clr) is --------时钟到来移位

begin

if(clr='0')then

product<="0000"&multiplier&'0';--qianhou bu 0

elsif(clk'event and clk='1')then

product<=temp(8)&temp(8 downto 1);----寄存器中的数据保存到product中end if;

end process;

process(clk) is

begin

if clr='0' then

final<='0';

boothstep<="000";

elsif(clk'event and clk='1')then

if(boothstep="011")then ---第四下时钟沿来临时boothstep 为3 这时停止final<='1';

boothstep<="000";

else

boothstep<=boothstep+'1';

final<='0';

end if;

end if;

end process;

end rtl;

计组-4位乘法器实验报告

实验4位乘法器实验报告 姓名:X XX 学号:X XX 专业:计算机科学与技术课程名称:计算机组成同组学生姓名:无 实验时间:实验地点:指导老师:XXX 一、实验目的和要求 1.熟练掌握乘法器的工作原理和逻辑功能 二、实验内容和原理 实验内容: 根据课本上例3-7的原理,来实现4位移位乘法器的设计。 具体要求:1. 乘数和被乘数都是4位 2. 生成的乘积是8位的 3. 计算中涉及的所有数都是无符号数 4.需要设计重置功能 5.需要分步计算出结果(4位乘数的运算,需要四步算出结果) 实验原理: 1.乘法器原理图

2.本实验的要求: 1.需要设计按钮和相应开关,来增加乘数和被乘数 2.每按一下M13,给一个时钟,数码管的左边两位显示每一步的乘 积 3.4步计算出最终结果后,LED灯亮,按RESET重新开始计算 三、主要仪器设备 1.Spartan-III开发板1套 2.装有ISE的PC机1台 四、操作方法与实验步骤 实验步骤: 1.创建新的工程和新的源文件 2.编写verilog代码(top模块、display模块、乘法运算模块、去抖动模块以及 UCF引脚) 3.进行编译 4.进行Debug 工作,通过编译。

5.. 生成FPGA代码,下载到实验板上并调试,看是否与实现了预期功能 操作方法: TOP: module alu_top(clk, switch, o_seg, o_sel); input wire clk; input wire[4:0] switch; output wire [7:0] o_seg; // 只需七段显示数字,不用小数点 output wire [3:0] o_sel; // 4个数码管的位选 wire[15:0] disp_num; reg [15:0] i_r, i_s; wire [15:0] disp_code; wire o_zf; //zero detector initial begin i_r <= 16'h1122; //0x1122 i_s <= 16'h3344; //0x3344 end alu M1(i_r, i_s, switch[4:2], o_zf, disp_code); display M3(clk, disp_num, o_seg, o_sel); assign disp_num = switch[0]?disp_code:(switch[1] ? i_s : i_r); endmodule

计算机组成原理实验2实验报告

课程名称计算机组成原理 课程代码6013749 实验时间2013 年12 月15 日 指导单位 指导教师 学生姓名年级 学号专业 成绩 实验名称 实验地点 6A-417 实验二通用寄存器单元实验 实验类型验证实验学时8 实验日期 实验目的和要求: 目的:1.了解通用寄存器的组成和硬件电路; 2 .利用通用寄存器实现数据的置数、左移、右移等功能 要求:按照实验步骤完成实验项目,实现通用寄存器移位操作。了解通用寄存器的工作原理运用。实验环境(实验设备) :CPT实验机,连线

实验原理及内容 1.实验原理 <1>通用寄存器单元的工作原理: 通用寄存器的核心部件为2片GAL,它具有锁存、左移、右移、保存等功能。各个功能都由X1、X2信号和工作脉冲RACK来决定。当置ERA=0、X0=1、X1=1,RACK有上升沿时,把总线上的数据打入通用寄存器。可通过设置X1、X0来指定通用寄存器工作方式,通用寄存器的输出端Q0~Q7接入判零电路。LED(ZD)亮时,表示当前通用寄存器内数据为0。 输出缓冲器采用74LS244,当控制信号RA-O为低时,74LS244开通,把通用寄存器内容输出到总线;当控制信号RA-O为高时,74LS244的输出为高阻。 图1 通用寄存器原理图 <2>寄存器实验构成 1.通用寄存器由2片GAL构成8位字长的寄存器单元。8 芯插座RA-IN作为数据输入端,可通过端8芯扁平电缆, 把数据数据输入端连接到数据总线上。 2.数据输出由一片74LS244(输出缓冲器)来控制。用8 芯插座RA-OUT作为数据输出端,可通过端8芯扁平电 缆,把数据数据输出端连接到数据总线上。 3.判零和进位电路由1片GAL、1片7474和一些常规芯片 组成,用2个LED(ZD、CY)发光管分别显示其状态。

武汉大学计算机网络实验报告 (2)

武汉大学教学实验报告 动力与机械学院能源动力系统及自动化专业2013 年11 月10 日

一、实验操作过程 1.在仿真软件packet tracer上按照实验的要求选择无线路由器,一般路由器和PC机构建一个无线局域网,局域网的网络拓扑图如下: 2.按照实验指导书上的表9.1(参数配置表)对路由器,DNS服务器,WWW服务器和PC机进行相关参数的配置: 服务器配置信息(子网掩码均为255.255.255.0) 主机名IP地址默认网关 DNS 202.2.2.1 202.2.2.2 WWW 202.3.3.1 202.3.3.3 路由器配置信息(子网掩码均为255.255.255.0) 主机名型号IP地址默认网关时钟频率ISP 2620XM e1/0:202.2.2.2 e1/1:202.3.3.3 s0/0:202.1.1.2 64000 Router2(Server) 2620XM f0/0:192.168.1.1 s0/0:202.1.1.1 Wireless Router Linksys WRT300N 192.168.1.2 192.168.1.1 202.2.2.1 备注:PC机的IP地址将通过无线路由器的设置自动分配 2.1 对router0(sever)断的配置: 将下列程序代码输到router0中的IOS命令行中并执行,对router0路由器进行设置。Router>en Router#conf t

2.3 WWW服务器的相关配置 对www服务器进行与DNS服务器相似的配置,包括它的IP地址,子网掩码,网关等,具体的相关配置图见下图: WWW服务器的相关配置图

嵌入式实验报告二

实习二建立交叉编译环境 实习内容: 本次实验主要包括二部分内容:开发环境配置,主要有配置NFS,Samba和超级终端;编写编译程序。 1、配置NFS(实现宿主机和目标机的信息共享) 打开Linux虚拟机,点击主菜单运行系统设置->服务器设置->NFS 服务器,点击增加,在出现的界面中的目录中填入需要共享的路径,在主机中填入允许进行连接的主机的IP地址(注意:这里主机IP指的是开发板的IP)。并选择允许客户对共享目录的操作为只读或读写(注意:实验中选的是读写,一定不能忽略),如下图: 对客户端存取服务器的一些其他设置,一般不需要设置,取默认值。然后退出,完成了NFS配置。 2、配置Samba(实现Windows和Linux系统的文件共享) ①关闭防火墙,这个地方和上面的NFS的配置是一样的。 ②配置Samba服务器 选择“系统设置”—>“服务器配置”—>“Samba服务”,进行Samba 服务器配置。首先创建Samba共享,选择“基本”选项卡,在“目录”

的文本框中输入要共享的文件,基本权限设为读/写。在“访问”选项卡中选择“允许所有用户访问”选项,通过“首选项”进行服务器配置。在“基本”选项卡中设置工作组和描述,在“安全性”选项卡中设置“验证模式”为共享,“加密口令”为否,“来宾账号”为无来宾账号。 ③设置Samba服务器IP地址(与前面的NFS的设置相同) ④启动Samba服务器 在命令行中输入service smb start,即可启动Samba服务器。 ⑤配置Windows下的IP地址 将Windows下的IP地址和Samba服务器IP地址设置在同一网段中即可(注意:这里设置IP时一定要注意在同一网段) ⑥在Windows下访问共享 在Windows中的“运行”窗口中输入Samba服务器的IP地址,就可以看见在虚拟机中共享的文件。 3、配置超级终端 ①在linux操作系统Xwindow界面下建立终端,在终端的命令行提示符后输入minicom,回车,然后就会看见minicom的启动画面,若没有启动Xwindow则在命令行提示符后直接输入minicom即可。 ② minicom启动后,先按Ctrl+A键,然后按Z键进入主配置界面,按“O”进入配置界面,按上下键选择Serial port setup,进入端口设置界面,然后按照指导书中的指示修改几个重要选项。 ③选好后按ESC键退出端口设计界面,选择Save setup as df1保存

计算机组成实验报告汇总

计算机组成与体系结构 实验报告

实验项目一 一、实验目的 通过了解高级语言源程序和目标机器代码的不同表示及其相互转换,深刻理解高级语言和机器语言之间的关系,以及机器语言和不同体系结构之间的关系。 二、实验要求: 在VC6.0中创建下列源程序 #include void main() { inti=100; int j=-1; int k; k=i+j; printf("%d",k); } 然后对该程序进行编译、链接,最终生成可执行目标代码。 三、实验报告 1.给出做实验的过程. 关键代码如下:

2.给出源程序(文本文件)的内容(用十六进制形式表示)。 3.给出可执行目标文件(二进制文件)的内容(用十六进制形式表示)。

4.VC6.0调试环境:设置断点、单步运行、变量的值(十进制、十六进制)、变量的地址、变量的存储。 断点设置如下:

变量的值十进制: 变量的值十六进制: 变量的地址:

5.VC 6.0反汇编:查看源程序对应的汇编程序、可执行目标程序的二进制编码、了解如何给变量分配内存、系统函数程序段的调用。 6.分析或回答下列问题。 (1)分析同一个源程序在不同机器上生成的可执行目标代码是否相同。 不相同。因为不同的机器硬件的组成不同,因此同一个源程序在不同的机器上生成的目标文件不同。 (2)你能在可执行目标文件中找出函数printf()对应的机器代码段吗?能的话,请标示出来。 不能。因为源程序中的printf函数在可执行文件中已转换为机器语言。被翻译的机器语言中有printf函数,但是不知道是从哪一段开始翻译的。 (3)为什么源程序文件的内容和可执行目标文件的内容完全不

8位乘法器实验报告

6.2 8位乘法器的设计 1.实验目的 (1)熟悉isEXPERT/MAX+plusisEXPERT/MAX+plus II/Foudation Series 软件的基本使用方法。 (2)熟悉GW48-CK EDA实验开发系统的基本使用方法。 (3)学习VHDL基本逻辑电路的综合设计。 2.实验内容 设计并调试好由8位加法器构成的以时序逻辑方式设计的8位乘法器。此乘法器通过判断被乘数的位值为1还是零,并通过乘数的左移与上一次和相加的方法,实现了8位乘法的运算,并用GW48-CK EDA实验开发系统进行硬件验证。 3.实验条件 (1)开发设备:Lattice ispEXPERT。 (2)实验设备:GW48-CK EDA实验开发系统。 (3)拟用芯片:ispLSI1032E PLCC-84或EPF10K10LC84-3或XCS05/XL PLCC84以及运算控制电路和外部时钟。 4.实验设计 1)系统的原理框图

2)VHDL源程序 (1)选通与门模块的源程序ANDARITH.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY ANDARITH IS PORT(ABIN: IN STD_LOGIC; DIN: IN STD_LOGIC_VECTOR(7 DOWNTO 0); DOUT: OUT STD_LOGIC_vector(7 DOWNTO 0)); END ENTITY ANDARITH; ARCHITECTURE ART OF ANDARITH IS BEGIN PROCESS(ABIN,DIN)IS BEGIN FOR I IN 0 TO 7 LOOP DOUT(I)<=DIN(I)AND ABIN; END LOOP; END PROCESS; END ARCHITECTURE ART; (2)16位锁存器的源程序REG16B.VHD LIBRARY IEEE;

计算机组成原理实验报告二

实验二存储器实验 一、实验目的 熟悉和了解存储器组织与总线组成的数据通路。 二、实验原理 存储器是计算机的存储部件,用于存放程序和数据。存储器是计算机信息存储的核心,是计算机必不可少的部件之一,计算机就是按存放在存储器中的程序自动有序不间断地进行工作。本系统从提高存储器存储信息效率的角度设计数据通路,按现代计算机中最为典型的分段存储理念把存储器组织划分为程序段、数据段等,由此派生了数据总线(DBUS)、指令总线(IBUS)、微总线( BUS)等与现代计算机设计规范相吻合的实验环境。该存储器组织由二片6116构成具有奇偶概念的十六位信息存储体系,该存储体系AddBus由PC指针和AR 指针分时提供,E/M控位为“0”时选通PC,反之选通AR。该存储体系可随机定义总线宽度,动态变更总线结构,把我们的教学实验提高到能与现代计算机设计规范相匹配与接轨的层面。 连线信号孔接入孔作用有效电平 1 DRCK CLOCK 单元手动实验状态的时钟来源下降沿打入 2 W K6(M6) 总线字长:1=16位字操作,0=8位字节操作 3 XP K7(M7) 源部件奇偶标志:1=偶寻址,0=奇寻址 4 X2 K10(M10) 源部件定义译码端X2 三八译码 八中选一5 X1 K9(M9) 源部件定义译码端X1

四、实验过程 1. 存储器数据段读写操作 (1) 数据段写操作(字) 在进行数据存储器字操作时,地址线A0必须为0(偶地址)。向数据段的0000~0005h 存储单元写入11 22 33 44 55 66一串数据,以0000h 地址单元写入数据1122h 为例表述操作流程。 置地址I/O=0000h AR 地址写入(0000h)置数据I/O=1122h 存储器写入(1122h)关存储器写X2 X1 X0=011XP W=11 LDAR(K17)=0 MWR(K21)=1按[单拍] E/M(K23)=1LDAR(K17)=1按[单拍] MWR(K21)=0 (2) 数据段读操作(字) 依次读出数据段0~0005h 单元的内容,这里以0000h 地址单元读出为例阐述操作流程。 置地址I/O=0000h AR 地址写入(0000h)关AR 写使能存储器读出(1122h)数据总线显示存储器值 X2 X1 X0=011XP W=11 LDAR(K17)=0 E/M(K23)=1LDAR(K17)=1按 [单拍] X2 X1 X0=100W=1 2. 存储器程序段读写操作 (1) 程序段字节写操作 计算机规范的取指操作均以字节为单位。所以本实验以字节操作方式展开。程序段写入必须从定义地址入手,然后再进入程序存储器的写入。 PC 指针是带预置加法计数器,因此在输入起始地址后一旦后续地址为PC+1的话就不需重装PC ,用PC+1指令完成下续地址的读写操作。 PC 地址装载写入与PC+1写入流程 置地址I/O=0000h PC 地址写入(0000h)I/O=1234h 12h →[PC]地址增量PC+1关存储器写X2 X1 X0=011XP W=11 E/M(K23)=0LDPC(K22)=0MWR(K21)=1W=0,按[单拍] LDPC(K22)=1MWR(K21)=0 E/M(K23)=1LDPC(K22)=1按[单拍] LDPC(K22)=0MWR(K21)=1XP=0,按[单拍] (2) 程序段字节读操作 PC 地址装载读出及PC+1读出流程 X2 X1 X0=011XP W=11 E/M(K23)=0LDPC(K22)=0X2 X1 X0=100XP=1, W=0 LDPC(K22)=1按[单拍] E/M(K23)=1LDPC(K22)=1按[单拍] 按[单拍] 五、结果分析

计算机网络实验报告-答案.

计算机网络实验报告 专业计算机科学与技术 班级计102 学号 109074057 姓名王徽军 组号一组D 指导教师毛绪纹 安徽工业大学计算机学院 二○一二年十二月

目录 实验总体说明 (3) 实验一以太网帧的构成 (3) 实验三路由信息协议RIP (9) 实验四传输控制协议TCP (11) 实验五邮件协议SMTP、POP3、IMAP (12) 实验六超文本传输协议HTTP (14)

实验总体说明 1.实验总体目标 配合计算机网络课程的教学,加强学生对计算机网络知识(TCP/IP协议)的深刻理解,培养学生的实际操作能力。 2.实验环境 计算机网络协议仿真实验室: 实验环境:网络协议仿真教学系统(通用版)一套 硬件设备:服务器,中心控制设备,组控设备,PC机若干台 操作系统:Windows 2003服务器版 3.实验总体要求 ●按照各项实验内容做实验,记录各种数据包信息,包括操作、观察、记录、分析, 通过操作和观察获得直观印象,从获得的数据中分析网络协议的工作原理; ●每项实验均提交实验报告,实验报告的内容可参照实验的具体要求,但总体上应包 括以下内容:实验准备情况,实验记录,实验结果分析,算法描述,程序段,实验过程中遇到的问题以及对思考问题的解答等,实验目的、实验原理、实验步骤不需要写入实验报告中。 实验一以太网帧的构成 实验时间:_____________ 成绩:________________ 实验角色:_____________ 同组者姓名:______________________________

练习一:领略真实的MAC帧 00000000: FF FF FF FF FF FF 8C 89 A5 75 71 10 06 05 14 55 ..q....U 00000010: 85 48 D2 78 62 13 47 24 58 25 00 00 00 00 00 00 .H襵b.G$X%...... 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 ............ 练习二:理解MAC地址的作用 ●记录实验结果 表1-3实验结果 本机MAC地址源MAC地址目的MAC地址是否收到,为什么 主机B 8C89A5-7570BB 8C89A5-757113 8C89A5-7570C1 是,主机A与主机B接在同一共享模块 主机D 8C89A5-771A47 8C89A5-757113 8C89A5-7570C1 是,主机C与主机D接在同一共享模块 主机E 8C89A5-757110 无无否,与主机A、C都不在同一共享模块 主机 F 8C89A5-7715F8 无无否,与主机A、C都不在同一共享模块 练习三:编辑并发送MAC广播帧 ●结合练习三的实验结果,简述FFFFFF-FFFFFF作为目的MAC地址的作用。 答:该地址为广播地址,作用是完成一对多的通信方式,即一个数据帧可发送给同一网段内的所有节点。 练习四:编辑并发送LLC帧 ●实验结果 帧类型发送序号N(S)接受序号N(R) LLC 001F 0 ●简述“类型和长度”字段的两种含义 答:一是如果字段的值小于1518,它就是长度字段,用于定义下面数据字段的长度;二是如果字段的值大于1536,用于定义一个封装在帧中的PDU分组的类型。 思考问题: 1.为什么IEEE802标准将数据链路层分割为MAC子层和LLC子层? 答:出于厂商们在商业上的激烈竞争,IEEE的802委员会未能形成一个统一的、最佳的局域网标准,而是被迫制定了几个不同标准,如802.4令牌总线网、802.5令牌环网等。为了使数据链路层能更好地适应多种局域网标准,802委员会就将局域网的数据链路层拆成两个子层,即逻辑链路控制

嵌入式实验报告

嵌入式技术 实验报告 系别:计算机与科学技术系 班级:计12-1班 姓名:刘杰 学号:12101020128 总成绩: 评语: 日期:

2.在弹出的对话框中依次选择“cedevice emulator emulator kdstub”。 3.选择“Build OS”菜单的“sysgen”开始构建平台。 1.1.4连接,下载和运行平台 1.选择“Target”菜单下的“Connection option”菜单项。 2.在新的对话框中,配置连接关系 3.选择“Target”菜单下的“attach”菜单项,开始下载。 ?实验结果 操作系统定制成功,能正常运行。 ?结果截图 ?问题总结 由于对实验平台了解不够,致使操作过程中添加和删除组件时不知道该如何下手,影响整个实验进度。 实验1.2: 1.打开Platform Builder,并且打开实验1的工程,在实验1的工程基础上做本实验。

进程显示 IE信息查看

报文监测 实验1.3使用Platform Builder开发应用程序 简单实验步骤 1.打开Platform Builder。 2.选择“File”菜单下的“Open Workspace…”,然后打开实验1中创建的平台,本实验要基于 上面的实验的基础上做。 3.选择“File”菜单下的“New Project or File…”,打开“New Project or File”对话框。 4.在“Projects”选项页中选择“WCE Application”;在“Project Name”中输入项目的名字,例 如“MyApp”。 5.在“New Project Wizard – step 1 of 1”中选择“A typical Hello World Application”,点击“Finish” 按钮。 6.选择“Build”菜单中的“Build MyApp.exe”来编译应用程序。

模拟乘法器调幅AM、DSB、SSB实验报告

模拟乘法器调幅(AM、DSB、SSB)实验报告

————————————————————————————————作者:————————————————————————————————日期:

实验十二模拟乘法器调幅(AM、DSB、SSB) 一、实验目的 1.掌握用集成模拟乘法器实现全载波调幅。抑止载波双边带调幅和单边带调幅的方法。 2.研究已调波与调制信号以及载波信号的关系。 3.掌握调幅系数的测量与计算方法。 4.通过实验对比全载波调幅、抑止载波双边带调幅和单边带调幅的波形。 5.了解模拟乘法器(MC1496)的工作原理,掌握调整与测量其特性参数的方法。 二、实验内容 1.调测模拟乘法器MC1496正常工作时的静态值。 2.实现全载波调幅,改变调幅度,观察波形变化并计算调幅度。 3.实现抑止载波的双边带调幅波。 4.实现单边带调幅。 三、实验原理 幅度调制就是载波的振幅(包络)随调制信号的参数变化而变化。本实验中载波是由晶体振荡产生的465KHz高频信号,1KHz的低频信号为调制信号。振幅调制器即为产生调幅信号的装置。 1.集成模拟乘法器的内部结构 集成模拟乘法器是完成两个模拟量(电压或电流)相乘的电子器件。在高频电子线路中,振幅调制、同步检波、混频、倍频、鉴频、鉴相等调制与解调的过程,均可视为两个信号相乘或包含相乘的过程。采用集成模拟乘法器实现上述功能比采用分离器件如二极管和三极管要简单得多,而且性能优越。所以目前无线通信、广播电视等方面应用较多。集成模拟乘法器常见产品有BG314、F1596、MC1495、MC1496、LM1595、LM1596等。 (1)MC1496的内部结构 在本实验中采用集成模拟乘法器MC1496来完成调幅作用。MC1496是四象限模拟乘法器。其内部电路图和引脚图如图12-1所示。其中V1、V2与V3、V4组成双差分放大器,以反极性方 式相连接,而且两组差分对的恒流源V5与V6又组成一对差分电路,因此恒流源的控制电压可 图12-1 MC1496的内部电路及引脚图 正可负,以此实现了四象限工作。V7、V8为差分放大器V5与V6的恒流源。 (2)静态工作点的设定 1)静态偏置电压的设置

福建农林大学计算机网络实验报告二

福建农林大学计算机与信息学院 实验报告 2015年10 月27 日

实验项目列表

实验报告 系:计算机科学专业:计算机科学与技术年级: 姓名:学号:实验室号:计算机号: 实验日期:2015 年10 月27 日指导教师签字:成绩: 报告退发(订正、重做) 实验二网络监听实验 一、实验目的 1、理解网络监听原理 2、熟悉网络监听方法 3、理解网络流量 4、掌握TCP/IP的主要协议和协议的层次结构 二、实验环境与设备 本实验在实际因特网环境下进行操作,需要的设备有:一台PC机,WireShark监听软件。WireShark监听软件可从网址:https://www.360docs.net/doc/a616580885.html,/下载。实验配置如图所示。 因特网 三、实验原理 1、网络协议分析器 如果使用Web浏览器或OICQ聊天这样的网络软件,必须有网络连接才能工作,然而,你知道它们在因特网上传送的是什么类型的信息吗? 例如,计算机要对远程Web服务器发送什么数据来获取它需要的网页呢?计算机如何将邮件发给指定的人呢? 可以通过网络协议分析器(如WireShark)来协助观察网络会话的细节。网络协议分析器是一个能记录所有网络分组,并以人们可读的形式显示的软件。在监听重流量网络时,允许用户过滤掉不想要的分组或查看感兴趣的特定分组,而且还能为用户提供所有分组的统计概要。 2、网络监听原理 在共享式局域网中,位于同一网段的每台主机都可以截获在网络中传输的所有数据,正常情况下,一个网卡只响应目的地址为单播地址和广播地址的MAC帧而忽略其它MAC帧,网卡接收这两种帧时,通过CPU产生一个硬件中断,然后由操作系统负责处理该中断,对数据

嵌入式实验报告二work2.

实验报告 课程名称嵌入式系统编程实践 实验仪器清华同方辰源嵌入式系统实验箱 实验名称实验二:利用中断实现OLED动态显示实验 系别__计算机学院_ 专业___ __ 班级/学号_ 学生姓名___ __ ___ _ _ 实验日期_ 2013年9月22日 成绩___________________ 指导教师_ _ 朱敏玲 ___

实验二:利用中断实现OLED动态显示实验 一、实验问题回答 (1)ISR是什么?简述一下中断的作用和使用方法 答:ISR是中断服务程序。作用是通过处理器执行事先编好的某个特定的程序。使用方法就是在main中写一个中断程序,然后在startup.s中进行注册。 (2)嵌入式系统中有哪些应用有定时性循环处理的要求?举几个例子答:在各种网络的应用中,设计的一些部件,如计数器,时钟等。 (3)定时时间间隔如何修改? 答:通过改变SysTickPeriodSet(SysCtlClockGet()/100)后面的100这个参数。(4)选作内容5-8的编程思路是什么?若做的话应该怎样实现? 答:编程思路:先画直线和竖线,组成一个正方形,将各个参数填写到函数RIT128x96x4ImageDraw(buf,,,,);第6个选作:判断画的原点x,原点y,和画原点x+的长,画原点y+画宽的值要在0-128和0-96。第7个选作:把RIT128x96x4StringDraw("hello",,,);就是把画的灰度定义为一个变量x。最后就会出现由不同的亮度而形成的波浪。第8个就是利用随机函数产生画的原点,随机的在屏幕上进行显示。 (5)拖影现象如何解决?计数值显示为什么没有拖影? 答:在程序结束后执行清屏语句:计数显示是每次重新赋值,所以不会出现拖影。 二、实验目的和效果(效果即是否达到实验目的,达到的程度如何) (1)深入学习、理解、掌握OLED字符显示方法 (2)深入学习、理解、掌握OLED图形显示方法 (3)学习、理解、掌握中断使用方法 实验效果图: 三、实验内容和步骤(重点阐述自己的思路及遇到的问题)

模拟乘法器调幅(AM、DSB、SSB)实验报告

实验十二模拟乘法器调幅(AM、DSB、SSB) 一、实验目的 1.掌握用集成模拟乘法器实现全载波调幅。抑止载波双边带调幅和单边带调幅的方法。 2.研究已调波与调制信号以及载波信号的关系。 3.掌握调幅系数的测量与计算方法。 4.通过实验对比全载波调幅、抑止载波双边带调幅和单边带调幅的波形。 5.了解模拟乘法器(MC1496)的工作原理,掌握调整与测量其特性参数的方法。 二、实验内容 1.调测模拟乘法器MC1496正常工作时的静态值。 2.实现全载波调幅,改变调幅度,观察波形变化并计算调幅度。 3.实现抑止载波的双边带调幅波。 4.实现单边带调幅。 三、实验原理 幅度调制就是载波的振幅(包络)随调制信号的参数变化而变化。本实验中载波是由晶体振荡产生的465KHz高频信号,1KHz的低频信号为调制信号。振幅调制器即为产生调幅信号的装置。 1.集成模拟乘法器的内部结构 集成模拟乘法器是完成两个模拟量(电压或电流)相乘的电子器件。在高频电子线路中,振幅调制、同步检波、混频、倍频、鉴频、鉴相等调制与解调的过程,均可视为两个信号相乘或包含相乘的过程。采用集成模拟乘法器实现上述功能比采用分离器件如二极管和三极管要简单得多,而且性能优越。所以目前无线通信、广播电视等方面应用较多。集成模拟乘法器常见产品有BG314、F1596、MC1495、MC1496、LM1595、LM1596等。 (1)MC1496的内部结构 在本实验中采用集成模拟乘法器MC1496来完成调幅作用。MC1496是四象限模拟乘法器。其内部电路图和引脚图如图12-1所示。其中V1、V2与V3、V4组成双差分放大器,以反极性方 式相连接,而且两组差分对的恒流源V5与V6又组成一对差分电路,因此恒流源的控制电压可 图12-1 MC1496的内部电路及引脚图 正可负,以此实现了四象限工作。V7、V8为差分放大器V5与V6的恒流源。 (2)静态工作点的设定 1)静态偏置电压的设置

嵌入式系统实验报告

实验报告 课程名称:嵌入式系统 学院:信息工程 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师: 开课时间:学年第一学期

实验名称:IO接口(跑马灯) 实验时间:11.16 实验成绩: 一、实验目的 1.掌握 STM32F4 基本IO口的使用。 2.使用STM32F4 IO口的推挽输出功能,利用GPIO_Set函数来设置完成对 IO 口的配置。 3.控制STM32F4的IO口输出,实现控制ALIENTEK 探索者STM32F4开发板上的两个LED实现一个类似跑马灯的效果。 二、实验原理 本次实验的关键在于如何控制STM32F4的IO口输出。IO主要由:MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR、AFRH和AFRL等8个寄存器的控制,并且本次实验主要用到IO口的推挽输出功能,利用GPIO_Set函数来设置,即可完成对IO口的配置。所以可以通过了开发板上的两个LED灯来实现一个类似跑马灯的效果。 三、实验资源 实验器材: 探索者STM32F4开发板 硬件资源: 1.DS0(连接在PF9) 2.DS1(连接在PF10) 四、实验内容及步骤 1.硬件设计 2.软件设计 (1)新建TEST工程,在该工程文件夹下面新建一个 HARDWARE文件夹,用来存储以后与硬件相关的代码。然后在 HARDWARE 文件夹下新建一个LED文件夹,用来存放与LED相关的代码。 (2)打开USER文件夹下的test.uvproj工程,新建一个文件,然后保存在 LED 文件夹下面,保存为 led.c,在led.c中输入相应的代码。

(3)采用 GPIO_Set 函数实现IO配置。LED_Init 调用 GPIO_Set 函数完成对 PF9 和 PF10 ALIENTEK 探索者 STM32F407 开发板教程 119 STM32F4 开发指南(寄存器版) 的模式配置,控制 LED0 和 LED1 输出 1(LED 灭),使两个 LED 的初始化。 (4)新建一个led.h文件,保存在 LED 文件夹下,在led.h中输入相应的代码。 3.下载验证 使用 flymcu 下载(也可以通过JLINK等仿真器下载),如图 1.2所示: 图1.2 运行结果如图1.3所示:

实验三---集成乘法器幅度调制实验

实验三---集成乘法器幅度调制实验

高频实验报告实验名称:集成乘法器幅度调制实验 南京理工大学紫金学院电光系一、实验目的

a) 通过实验了解集成乘法器幅度调制的工作原理,验证普通调幅波(AM ) 和抑制载波双边带调幅波(AM SC DSB -/)的相关理论。 b) 掌握用集成模拟乘法器MC1496实现AM 和DSB-SC 的方法,并研究调制信 号、载波信号与已调波之间的关系。 c) 掌握在示波器上测量与调整调幅波特性的方法。 二、实验基本原理与电路 1.调幅信号的原理 (一) 普通调幅波(AM )(表达式、波形、频谱、功率) (1).普通调幅波(AM )的表达式、波形 设调制信号为单一频率的余弦波: t U u m Ω=ΩΩcos ,载波信号为 : t U u c cm c ωcos = 普通调幅波(AM )的表达式为AM u =t t U c AM ωcos )()cos 1(t m U a cm Ω+=t c ωcos 式中, a m 称为调幅系数或调幅度。 由于调幅系数a m 与调制电压的振幅成正比,即 m U Ω越大, a m 越大,调幅波 幅度变化越大, 一般 a m 小于或等于1。如果 a m >1,调幅波产生失真,这种情况称为过调幅。 未调制状态调制状态 m a Ucm ω0 Ω 图3-1 调幅波的波形 (2). 普通调幅波(AM )的频谱 普通调幅波(AM )的表达式展开得: t U m t U m t U u c cm a c cm a c cm AM )cos(2 1 )cos(21cos Ω-+Ω++ =ωωω 它由三个高频分量组成。将这三个频率分量用图画出,便可得到图

嵌入式实验报告

目录 实验一跑马灯实验 (1) 实验二按键输入实验 (3) 实验三串口实验 (5) 实验四外部中断实验 (8) 实验五独立看门狗实验 (11) 实验七定时器中断实验 (13) 实验十三ADC实验 (15) 实验十五DMA实验 (17) 实验十六I2C实验 (21) 实验十七SPI实验 (24) 实验二十一红外遥控实验 (27) 实验二十二DS18B20实验 (30)

实验一跑马灯实验 一.实验简介 我的第一个实验,跑马灯实验。 二.实验目的 掌握STM32开发环境,掌握从无到有的构建工程。 三.实验内容 熟悉MDK KEIL开发环境,构建基于固件库的工程,编写代码实现跑马灯工程。通过ISP 下载代码到实验板,查看运行结果。使用JLINK下载代码到目标板,查看运行结果,使用JLINK在线调试。 四.实验设备 硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。 软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件。 五.实验步骤 1.熟悉MDK KEIL开发环境 2.熟悉串口编程软件ISP 3.查看固件库结构和文件 4.建立工程目录,复制库文件 5.建立和配置工程

6.编写代码 7.编译代码 8.使用ISP下载到实验板 9.测试运行结果 10.使用JLINK下载到实验板 11.单步调试 12.记录实验过程,撰写实验报告 六.实验结果及测试 源代码: 两个灯LED0与LED1实现交替闪烁的类跑马灯效果,每300ms闪烁一次。七.实验总结 通过本次次实验我了解了STM32开发板的基本使用,初次接触这个开发板和MDK KEILC 软件,对软件操作不太了解,通过这次实验了解并熟练地使用MDK KEIL软件,用这个软件来编程和完成一些功能的实现。作为STM32 的入门第一个例子,详细介绍了STM32 的IO口操作,同时巩固了前面的学习,并进一步介绍了MDK的软件仿真功能。

Booth乘法器实验报告

运算器部件实验:Booth乘法器 班级:软件工程 一、实验目的 理解并掌握乘法器的原理。 二、实验原理 Booth算法是一种十分有效的计算有符号数乘法的算法。算法的新型之处在于减法也可用于计算乘积。Booth发现加法和减法可以得到同样的结果。因为在当时移位比加法快得多,所以Booth发现了这个算法,Booth算法的关键在于把1分类为开始、中间、结束三种,如下图所示 当然一串0或者1的时候不操作,所以Booth算法可以归类为以下四种情况: Booth算法根据乘数的相邻2位来决定操作,第一步根据相邻2位的4中情况来进行加或减操作,第二部仍然是将积寄存器右移,算法描述如下: (1)根据当前为和其右边的位,做如下操作: 00: 0的中间,无任何操作; 01: 1的结束,将被乘数加到积的左半部分; 10:1的开始,积的左半部分减去被乘数; 11: 1的中间,无任何操作。 (2)将积寄存器右移1位。 因为Booth算法是有符号数的乘法,因此积寄存器移位的时候,为了保留符号位,进行算术右移。同时如果乘数或者被乘数为负数,则其输入为该数的补码,若积为负数,则输出结果同样为该数的补码。

三、实验步骤 (1)打开QuartusII (2)将子板上的JTAG端口和PC机的并行口用下载电缆连接,打开试验台电源。 (3)执行Tools→Programmer命令,将booth_multiplier.sof下载到FPGA 中。 (4)在实验台上通过模式开关选择FPGA-CPU独立调试模式010. (5)将开关CLKSEL拨到0,将短路子DZ3短接且短路子DZ4断开,使FPGA-CPU 所需要的时钟使用正单脉冲时钟。 四、实验现象 五、具体代码实现 端口声明: port ( clk: in std_logic; md : in std_logic_vector(3 downto 0); mr : in std_logic_vector(3 downto 0);

计算机网络实验报告

农林大学计算机与信息学院 信息工程类 实验报告 课程名称:计算机网络 姓名: 系:计算机科学与技术系 专业:计算机科学与技术 年级:2011级 学号: 指导教师:周术成老师 职称: 2014年 5 月 4 日

农林大学计算机与信息学院实验报告 系:计算机与信息系专业:计算机科学与技术年级:2011 :学号:实验课程:_ 计算机网络 实验室号____田C-305__ 计算机号:实验时间: 指导教师签字:成绩: 实验一以太网组网实验 1.实验目的和要求 1.熟悉局域网所使用的基本设备 2. 掌握以太网组建方法 3. 掌握网络连通性测试方法 2.实验原理 以太网事实上是一簇局域网技术,不同的以太网在链路层帧头的格式、电缆的类型和传输速度上有很大的差异以太网可以利用同轴电缆、双绞线、光缆等不同的传输介质进行组网,也可以运行10Mb/s、100Mb/s、1000Mb/s 的网络速度。不管采用何种传输介质,以及网络速度各不相同,只要是以太网,采用的都是CSMA/CD介质访问控制方法。即任何结点没有可预约的发送时间,所有结点平等地争用发送时间,并随机地发送数据。 组建局域网常用的传输介质为双绞线,作为10BASE-T 和100BASE-TX 以太网的传输介质,非屏蔽双绞线在组网中起着重要的作用。非屏蔽双绞线UTP 中的8 芯导线采用了不同的颜色,分成4 对,其中橙和橙白一对,绿和绿白一对,蓝和蓝白一对,棕和棕白一对。以太网使用的UTP 分为直通UTP 和交叉UTP。 UTP 双绞线有两种接法:T568A 标准和T568B 标准。 直通UTP:线的两头都按T568B 线序标准连接。 交叉UTP:线的一头按T568A 线序连接,另一头按T568B 线序连接。 组装不同类型的局域网需要不同的设备,10Base-T 和100Base-TX 组网所需要的设备有:UTP 电缆、以太网卡、10M/100M 集线器、以太网交换机等。现在的以太网在逻辑上采用星型拓扑结构,用这种拓扑结 构,每台计算机用电缆线连接到共享网络设备上,如集线器和交换机等。 集线器和交换机都是用以太网接口连接多台设备,然而,它们在实现上有很大不同。集线器是第1 层设备,是以太网的集中连接点,具有信号放大功能,扩大以太网的地理围。通常采用RJ-45 接口,计算 机或其他终端设备通过双绞线电缆与集线器相连。当数据到达集线器的一个端口后,集线器不进行过滤处 理,直接将收到的数据包复制并广播到所有其他的端口,而不管这些端口连接的设备是否需要这些数据。 因此,网络中集线器数量越多,整个网络的性能就越差。 一般以太网的拓扑既用到集线器也用到交换机,集线器连接到交换机端口上,计算机连接到集线器上。在这种配置里,连接在同一集线器的计算机能看到彼此传输的数据,并且一次只能有一个传输;但在

嵌入式程序设计实验报告

实验一开发环境的搭建与配置 【实验目的】 1)熟悉嵌入式Linux开发平台。 2)掌握嵌入式Linux开发平台的开发环境搭建与配置。 3)了解minicom配置串口通信参数的过程。 4)了解嵌入式Linux的启动过程。 5)掌握程序交叉编译运行及调试的一般方法。 【实验内容】 1)连接实验开发板与宿主机。 2)在虚拟机中的CentOS(宿主机)搭建开发环境。 3)在宿主机中配置minicom。 4)分析嵌入式Linux的启动过程。 5)在宿主机上编写简单的C语言程序并用交叉编译工具进行编译,然后传输到目标机上运行。 6)在宿主机上编写简单的C语言程序并用交叉编译工具进行编译,用gdbserver进行远程调试。 【实验步骤】 连接实验开发板,对虚拟机进行设置 1)首先把实验开发板打开,用网线和串口线连接宿主机,并连接电源(注意这时不要拨动实验 开发板的开关按钮)。 2)在桌面上点击打开vmware 软件,选择“编辑虚拟机设置”,如下图所示:

图1 3)进入虚拟机配置界面后把网络连接方式设置为“桥接方式”,如图2所示: 图2

4)添加串口,如下图所示: 图3 5)完成串口的添加后,选择“OK”,完成对虚拟机的设置。如下图所示:

图4 6)选择虚拟机的“Edit”、“Virtual Network Editor...”,如下图所示:

图5 7)进入虚拟机网络参数设置界面后对VMnet0进行设置(注意这里桥接的网卡应选择与实验开 发板相连接的那块儿网卡),然后点击“Apply”、“OK”如下图所示:

图6 8)上述设置完成后启动CentOS(CentOS的用户名为“root”,密码为“xidianembed”)。 工具链的配置 1)在CentOS的根目录下创建一个名为“EELiod”的目录,把实验中要用到的文件(主要是一 些rpm包)拷贝到该目录下。(可以用U盘、WinSCP等工具进行,此处不再做详细说明)。 2)交叉编译工具链位于/opt/buildroot-2011.02/output/host/usr目录下,进入工具链的bin目录下, 可以看到一些编译工具,这些工具将会在之后的交叉编译过程中使用到。

相关文档
最新文档