杭电计组实验7-取指令与指令译码实验
杭电嵌入式实验报告
![杭电嵌入式实验报告](https://img.taocdn.com/s3/m/47b51c622e60ddccda38376baf1ffc4fff47e277.png)
杭电嵌入式实验报告嵌入式系统实验一 Linux的安装、Shell命令以及X 窗口系统的使用一、实验目的:1.掌握Linux的安装2.熟练使用Linux字符界面的常用命令3.熟练运用Linux的在线求助系统4.练习X 窗口系统中常用的应用工具二、实验内容:1.Linux 的安装2.一般用户命令的使用3.vi编辑器的使用4.man 在线帮助系统三、实验指导与步骤:VMWare虚拟机上安装好Linux登录系统:$login: 用户名password: 不回显的密码退出系统:$logout, exit (注销登录)$halt (关机)$reboot (重新启动)$init 0 (以runlevel 0 启动及重新启动)1. 练习Linux的常用命令主要包括:文件处理命令、文件权限管理命令、文件查找命令、磁盘管理命令、程序管理命令、显示文本文件与字符串查找命令、压缩与解压缩命令等;2. 练习vi编辑器的使用,试试X 窗口系统的Gedit文件编辑器。
GNOME gedit 文本编辑器与Windows 的notepad文本编辑器功能相似,快捷键也大部分相同,又有Windows 的wordpad写字板的风格,比之notepad 和wordpad,gedit 功能更全面,操作更便利。
3.熟练掌握man 在线帮助系统,开发和编程离不开在线帮助系统。
man命令可以号称为“命令杀手”。
任何命令或重要文件都可以使用man来查询使用方法,这也是Linux最可爱之处和最完整的在线查询系统。
当遇到任何疑难杂症时,稍微“man”一下就可轻松解决问题。
Redhat Linux的X窗口系统还有更方便的在线帮助系统,只要打开“开始”菜单就能看到Redhat Linux的在线帮助系统。
Redhat Linux 的在线帮助系统与Microsoft Windows的在线帮助系统一样简单易用,甚至更胜一筹。
4.X 窗口系统下的常见应用工具有文件管理器,磁盘管理器(文件系统挂接工具),设备(硬件)管理器,控制中心,网络配置工具,服务器配置工具,软件包安装卸载工具,还有集成开发环境,DDD调试器等,这些工具都容易上手。
实验五_CPU__指令译码器实验
![实验五_CPU__指令译码器实验](https://img.taocdn.com/s3/m/bf1970eb59f5f61fb7360b4c2e3f5727a4e92471.png)
实验五_CPU__指令译码器实验5 CPU指令译码器实验 ..................................................................... ......................................... 2 5.1实验目的 ..................................................................... .. (2)5.2实验原理 ..................................................................... .. (2)5.3实验要求 ..................................................................... (3)1、实验设计目标 ..................................................................... . (3)2、顶层设计实体的引脚要求 ..................................................................... .................... 4 5.4实验步骤 ..................................................................... .. (4)5.5思考题 ..................................................................... (8)5 CPU指令译码器实验5.1实验目的(1)理解指令译码器的作用和重要性(2)学习设计指令译码器5.2实验原理指令译码器是计算机控制器中最重要的部分。
杭电计算机组成原理寄存器堆设计实验
![杭电计算机组成原理寄存器堆设计实验](https://img.taocdn.com/s3/m/d8703f5aa31614791711cc7931b765ce05087ac7.png)
杭电计算机组成原理寄存器堆设计实验计算机组成原理是计算机科学与技术的基础课程之一,它涉及到计算机的基本组成部分和原理。
在这门课程中,学生通常需要进行一系列的实验来加深对计算机组成原理的理解和应用。
其中之一是关于寄存器堆的设计实验。
寄存器堆是计算机中重要的组成部分之一,它用于存储、读取和写入数据。
在计算机中,数据通常被存储在寄存器中,然后进行各种操作。
因此,设计一个高效可靠的寄存器堆对于计算机的性能至关重要。
根据实验要求,我们需要设计一个8位的寄存器堆,并实现读取、写入和清零等操作。
以下是针对该实验的设计思路和实施步骤。
首先,我们需要确定寄存器堆的结构。
由于该寄存器堆为8位宽度,我们选择使用一个8x8的存储单元阵列。
每个存储单元都可以存储一个8位的数据。
整个寄存器堆由8个存储单元组成,每个存储单元对应一个地址,即0~7接下来,我们需要设计寄存器堆的读写电路。
对于读操作,我们需要通过地址线来选择要读取的存储单元,并将其输出到数据线。
对于写操作,我们同样需要通过地址线来选择要写入的存储单元,并将数据线上的数据写入该存储单元。
为了实现这些操作,我们需要使用多路选择器和数据解码器。
在设计中,我们还需要考虑到时钟信号的输入,以确保读写操作在时钟的上升沿或下降沿进行。
此外,我们还需要添加清零功能,以便将寄存器堆的值重置为零。
为实现清零功能,我们可以将一个额外的输入线与所有存储单元的清零输入连接。
在实施阶段,我们需要使用Verilog或其他硬件描述语言来实现设计。
在代码中,我们首先声明一个8位宽的存储单元阵列作为寄存器堆的基本组成部分。
然后,我们定义读写电路,包括地址线、数据线、多路选择器和数据解码器。
最后,我们添加时钟信号和清零功能。
在完成设计后,我们可以通过仿真工具进行验证。
通过输入不同的数据和地址,观察输出结果是否符合预期。
如果存在问题,我们可以进行调试并进行必要的修改。
一旦仿真结果正确无误,我们就可以开始进行硬件实验了。
CPU指令译码器
![CPU指令译码器](https://img.taocdn.com/s3/m/b80f40efad51f01dc281f1a5.png)
计算机组成原理实验报告题目:CPU 指令译码器实验学院数学与信息科学学院学科门类工学专业 12软件工程学号 2012436138姓名王赛赛指导教师王兵2014年12月28号CPU 指令译码器实验一.实验目的(1)理解指令译码器的作用和重要性(2)学习设计指令译码器二.实验原理指令译码器是计算机控制器中最重要的部分。
所谓组合逻辑控制器就是指令译码器电路是由组合逻辑实现的。
组合逻辑控制器又称硬连线控制器,是设计计算机中的一种方法。
这种控制器中的控制信号直接由各种类型的逻辑门和触发器构成。
这样,一旦控制器部件构成后,除非重新设计和物理上对它重新连线,否则的话,要想增加新的功能是不可能的。
结构上的这种缺陷使得硬连线控制器的设计和调试变得非常复杂而且代价很大。
所以硬连线控制器曾一度被微程序控制器所取代。
但是随着新一代机器及VLSI技术的发展,这种控制器又得到了广泛重视,如RISC机广泛使用这种控制器。
下图是组合逻辑控制器的结构方框图。
逻辑网络的输入信号来源有3个:①指令操作译码器的输出In;②来自时序发生器的节拍电位信号Tk;③来自执行部件的反馈信号Bj。
逻辑网络的输出信号就是微操作控制信号,用来对执行部件进行控制。
组合逻辑控制器的结构方框图显然,组合逻辑控制器的基本原理可描述为:某一微操作信号Cm是指令操作译码器的输出In、时序信号(节拍电位信号Tk)和状态条件信号Bj的逻辑函数。
即 Cm=f(In,Tk,Bj)用这种方法设计控制器,需要根据每条指令的要求,让节拍电位和时序脉冲有步骤地去控制器的各有关部分,一步一步地执行指令所规定的微操作,从而在一个指令周期内完成一条指令所规定的全部操作。
一般来说,组合逻辑控制器的设计步骤如下。
(1)绘制指令流程图为了确定指令执行过程所需的基本步骤,通常是以指令为线索,按指令类型分类,将每条指令归纳成若干微操作,然后根据操作的先后次序画出流程图。
(2)安排指令操作时间表指令流程图的进一步具体化,把每一条指令的微操作序列分配到各个机器周期的各个时序节拍信号上。
杭电单片机实验报告
![杭电单片机实验报告](https://img.taocdn.com/s3/m/8d92e9116bd97f192279e9a3.png)
单片机技术与应用实验报告实验名称:单片机技术与应用实验班级: 10062813 学号: 10061314 姓名:陆维俊指导老师:朱胜利实验一 P1口、P3口输入输出实验一.实验目的1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
二.实验代码P1口输出程序ORG 0000HAJMP MAINORG 0100HMAIN: MOV A,#0FEH LOOP1: MOV P1,AACALL DELAYRL ACJNE A,#0FEH,LOOP1AJMP MAIN DELAY: MOV R7,#10H DELAY0: MOV R6,#7FH DELAY1: MOV R5,#7FH DELAY2: DJNZ R5,DELAY2DJNZ R6,DELAY1DJNZ R7,DELAY0RETEND P1口输入程序ORG 0000HAJMP MAINORG 0100HMAIN: MOV P1,#0FFHMOV A,p1MOV DPTR,#0F200HMOVX @DPTR,AAJMP MAINEND三.实验说明1.P1口是准双向口。
它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。
因为内部上拉电阻阻值是20KΩ~40KΩ,故不会对外部输入产生影响。
若不先对它置高,且原来是低电平,则MOS 管导通,读入的数据是不正确的。
2.延时子程序的延时计算问题对于程序 DELAY:MOV R0,#00HDELAY1:MOV R1,#0B3HDJNZ R1,$DJNZ R0,DELAY1查指令表可知 MOV,DJNZ 指令均需用两个机器周期,而一个机器周期时间长度为12/11.0592MHz,所以该段程序执行时间为:((0B3+1)×256+1)×2×12÷11059200=100.002mS四.心得体会这次实验让我了解了P1口和P3口作为普通I/O口的使用方法,并通过编程将P1口作为输入输出口进行简单的发光二极管的点亮和开关状态的读取,这在单片机学习中是及为基础的练习。
杭电自动化专业计算机控制系统实验报告
![杭电自动化专业计算机控制系统实验报告](https://img.taocdn.com/s3/m/aaf155c4172ded630b1cb663.png)
实验一、常规PID控制算法仿真仿真框图如下实验参数:shiyanpid Ts=0.1s,b为班号1~5,x为学号后2位,1~45实验要求:(1)画Simulinnk框图(2)设计或凑试PID三个参数,进行仿真(3)使稳态误差为0,且动态性能较满意仿真框图:实验分析:b=1,x=15。
比例系数Kp增大时系统动作灵敏,响应速度加快,过大会使振荡次数增加,系统趋向不稳定,这里取120。
积分环节可以消除稳态误差,Ti减小,系统振荡次数增加,这里取Ki为150。
微分环节可以改善系统动态性能,减小超调和调节时间,这里取Kd为10。
系统在2秒内达到稳态。
实验二、积分分离PID控制算法仿真实验参数:shiyanpidjffl Ts=0.1s,b为班号1~5,x为学号后2位,1~45实验要求:(1)画Simulinnk框图(2)使稳态误差为0,且动态性能较满意(3)尝试不同的积分分离的阈值(比如ε=0,0.1,0.2,……,0.9,1),观察阶跃响应,并确定最佳的阈值实验框图:翻译后Switch模块的说明:如果2输入满足规则,则1通道通过,否则3输入通过。
输入被标号。
1输入通过规则是输入2(偏差e)大于或等于阀值。
第一三输入为数据输入,第二输入为控制输入。
原理:|e(k)|<=ε,ki起作用|e(k)|>ε,ki不起作用,由于阶跃输入,(treshhold )ε=0.1,0.2,……,0.9,1。
由于参数原因去kp=50,ki=kd=0时,曲线最好为了体现ε的作用,积分值不取0,改为Ki=10取不同ε后的曲线ε=0.1ε=0.5ε=1分析:ε=0.1时曲线最好,ε过大起不到积分分离的作用,比如ε=1,总会存在积分作用,ε过小可能是控制不能跳出积分分离的区域,从而只存在PD作用,长时间存在静差。
实验三、不完全微分PID控制算法仿真1、不完全微分PID控制器的阶跃响应实验参数:Shiyanpidbwqwfstep Ts=0.1s,仿真时间设为10s,5s,3s P=1 I=1 D=1滤波器参数a=0.1,0.2,……,0.8,1.2,实验框图:框图1:积分输出:微分输出:可见微分只在第一个单位时间有相应,而且较大框图2:a=0.1时a=0.5时:a=1时:分析:引入惯性环节后,对微分环节对阶跃响应有明显的改善作用。
杭电计算机组成原理多功能ALU设计实验
![杭电计算机组成原理多功能ALU设计实验](https://img.taocdn.com/s3/m/07b7257687c24028915fc37a.png)
评议
成绩评定: 指导教师签名:
(7)记录测试结果。
(接上)
实验内容(算法、程序、步骤和方法)
(1)ALU模块代码,利用三八译码器,将我们将要操作的对象,进行分别的处理。
module ALU_TOP(A,B,F,ZF,OF,ALU_OP);
input [31:0] A,B;
input [2:0] ALU_OP;
output ZF,OF;
3'b010:begin CF=A^B; end
3'b011:begin CF=A~^B; end
3'b100:begin CF=A+B; end
3'b101:begin CF=A-B; end
3'b110:begin CF=(A<B); end
3'b111:begin CF=B<<A; end
endcase
end
endmodule
(3)输出数据选择模块代码,根据实验指导书上的对于32位数据的处理方式。
module CLED(F_LED_SW,LED,F,ZF,OF);
input [31:0] F;
input ZF,OF;
input [2:0] F_LED_SW;
output [7:0] LED;
reg [7:0] LED;
output [31:0] F;
reg [31:0] F;
reg ZF,OF;
reg [5:0] i;
reg C;
reg [32:0] CF;
always @ (ALU_OP or A or B)
begin
case(ALU_OP)
杭电计算机组成原理A卷
![杭电计算机组成原理A卷](https://img.taocdn.com/s3/m/5aec769d7f1922791788e83e.png)
1、在CPU执行的一段时间内,Cache完成存取的次数为3900次,主存完成的存取次数为100次,已知Cache的存储周期为15ns,主存的存储周期为75ns。则Cache的命中率为(1),Cache/主存系统的平均访问时间为(2)ns,Cache/主存系统的效率为(3)。
RD(2位)
ADDR/ DATA / DISP
其中,RD为源/目的寄存器号,MOD为寻址方式码字段,指令第二字为地址、数据或偏移量;源操作数由MOD字段和指令第二字共同确定。除了HALT指令为单字指令外,其他指令均为双字指令;操作码字段解释见表1-1,MOD字段解释见表1-2,RD字段解释见表1-3。
表1-1
指令助记符
操作码
指令助记符
操作码
MOV
0000
SBB
0100
ADD
0001
JMP
1000
SUB
0010
……
……
AND
0011
HALT
1111
表1-2表1-3
MOD
寻址方式
RD
寄存器
00
立即寻址
00
R0
01
直接寻址
01
R1
10
变址寻址(SI)
10
R2
11
间接寻址
11
R3
1指令ADDR1,((40H))的功能:R1 = ((40H))+R1;指令使用间接寻址,则该指令机器码第一字节为(9)H,第二字节为(10)H。
杭州电子科技大学学生考试卷(A)卷
考试课程
计算机组成原理(甲)
考试日期
成 绩
课程号
教师号
计算机组成原理实验指导及答案
![计算机组成原理实验指导及答案](https://img.taocdn.com/s3/m/be7459bd172ded630a1cb60f.png)
计算机组成原理实验指导实验一运算器实验一、实验目的⒈掌握简单运算器的数据传输方式。
⒉验证运算功能发生器(74LS181)及进位控制的组合功能。
二、实验要求完成不带进位及带进位算术运算实验、逻辑运算实验,了解算术逻辑运算单元的运用。
三、实验原理实验中所用的运算器数据通路如图7-1-1所示。
其中运算器由两片74LS181以并/串形式构成8位字长的ALU。
运算器的输出经过一个三态门(74LS245)以8芯扁平线方式和数据总线相连,运算器的2个数据输入端分别由二个锁存器(74LS273)锁存,锁存器的输入亦以8芯扁平线方式与数据总线相连,数据开关(INPUT DEVICE)用来给出参与运算的数据,经一三态门(74LS245)以8芯扁平线方式和数据总线相连,数据显示灯(BUS UNIT)已和数据总线相连,用来显示数据总线内容。
图7-1-1 运算器电原理图图7-1-1中T2、T4为时序电路产生的节拍脉冲信号,通过连接时序启停单元时钟信号“”来获得,剩余均为电平控制信号。
进行实验时,首先按动位于本实验装置右中侧的复位按钮使系统进入初始待令状态,在LED显示器闪动位出现“P.”的状态下,按【增址】命令键使LED显示器自左向右第4位切换到提示符“L”,表示本装置已进入手动单元实验状态,在该状态下按动【单步】命令键,即可获得实验所需的单脉冲信号,而LDDR1、LDDR2、ALU-B、SW-B、S3、S2、S1、S0、CN、M各电平控制信号用位于LED显示器上方的26位二进制开关来模拟,均为高电平有效。
四、实验连线图7-1-2 实验连线示意图按图7-1-2所示,连接实验电路:①总线接口连接:用8芯扁平线连接图7-1-2中所有标明“”或“”图案的总线接口。
②控制线与时钟信号“”连接:用双头实验导线连接图7-1-2中所有标明“”或“”图案的插孔(注:Dais-CMH的时钟信号已作内部连接)。
五、实验系统工作状态设定在闪动的“P.”状态下按动【增址】命令键,使LED显示器自左向右第4位显示提示符“L”,表示本装置已进入手动单元实验状态。
杭电 计组实验5-6-7(章老师不插板实验报告)
![杭电 计组实验5-6-7(章老师不插板实验报告)](https://img.taocdn.com/s3/m/390972d06bec0975f465e294.png)
clka=0;
wea=1;
addra=6'b000001;
dina=32'b11111111110001111111111101101111;
#100;
clka=1;
wea=1;
addra=6'b000001;
dina=32'b11111111110001111111111101101111
sllv $18,$8,$17;#$18=7000_0000
sllv $19,$3,$17;#$19=0002_0000
sllv $20,$19,$7;#$20=8000_0000
sub $21,$1,$20; #$21=7FFF_FFFF
or $22,$18,$21;#$22=7FFF_FFFF
add $23,$20,$22; #$23=FFFF_FFFF
sub $29,$22,$2; #$29=7FFF_FFFE
add $30,$20,$2; #$30=8000_0001
.R_Data_A(R_Data_A),
.R_Data_B(R_Data_B)
);
endmodule
module RAM(
input clka,
input [0:0] wea,
input [7:2] addra,
input [31:0] dina,
output [31:0] douta
);
RAM_B your_instance_name (
Write_Reg=0;
#100;
R_Addr_A=5'b11011;
Write_Reg=0;
Clk=0;
W_Addr=0;
浙江大学电工电子学实验课件 实验9 计数、译码和显示
![浙江大学电工电子学实验课件 实验9 计数、译码和显示](https://img.taocdn.com/s3/m/7502e5d684254b35eefd3416.png)
输 入 输 出 工作状态 加计数 减计数 X QDQCQBQA X H H LLLL HLLH LLLL 置数 清零
CLEAR LOAD CP+ CP_ QDQCQBQA CARRY BORROW
L L L
H H H X X X
H
L L
H H
三、实验内容
1. 检查译码、显示功能 将四位逻辑电平通过逻辑开关送入到译码器 输入端,使输入DCBA的逻辑电平按四位二 进制变化(从0000到1111变化),观察显示 器显示的字符与输入逻辑电平的对应关系, 并记入表9-2。
表9-2
序 号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
译码器输入 D C B A 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1
74ls192一只74ls193一只74ls00一只译码器74ls48和数码管己装在实验箱中74ls19274ls193111213carryloadcleanborrowcarryload工作状态clearloadcpcarryborrowllll清零检查译码显示功能将四位逻辑电平通过逻辑开关送入到译码器输入端使输入dcba的逻辑电平按四位二进制变化从0000到1111变化观察显示器显示的字符与输入逻辑电平的对应关系并记入表92
显示字型
2. 测试计数器功能 将计数器74LS193的输出QDQCQBQA接发光二 极管LED,CLEAR端接低电平。作加计数时CP_接高 电平,在CP+端逐个加入手动单脉冲,观察LED发光 情况,用真值表记录之。 3. 将计数器74LS193 接成6进制,观察输 出发光二极管的发光 情况并记录之。
杭电实验报告模版
![杭电实验报告模版](https://img.taocdn.com/s3/m/045b74b0f9c75fbfc77da26925c52cc58bd690f4.png)
一、实验模块实验名称:____________________实验课程:____________________实验时间:____________________实验地点:____________________实验人员:____________________二、实验标题____________________三、实验目的1. 了解____________________2. 掌握____________________3. 培养____________________四、实验原理____________________五、实验仪器与设备1. 仪器名称:____________________2. 仪器型号:____________________3. 仪器规格:____________________4. 其他设备:____________________六、实验步骤1. 实验步骤一:(1)____________________(2)____________________(3)____________________2. 实验步骤二:(1)____________________(2)____________________(3)____________________3. 实验步骤三:(1)____________________(2)____________________(3)____________________(注:根据实际实验内容,添加相应步骤)七、实验过程1. 实验过程一:(1)____________________(2)____________________(3)____________________2. 实验过程二:(1)____________________(2)____________________(3)____________________3. 实验过程三:(1)____________________(2)____________________(3)____________________(注:根据实际实验内容,添加相应过程)八、实验数据记录与分析1. 实验数据记录:(注:根据实际实验内容,添加数据记录表格)2. 实验数据分析:(注:根据实际实验内容,对实验数据进行分析)九、实验结论1. 实验结果:(1)____________________(2)____________________(3)____________________2. 实验结论:(1)____________________(2)____________________(3)____________________十、实验讨论1. 实验中遇到的问题及解决方法:(1)____________________(2)____________________(3)____________________2. 实验改进建议:(1)____________________(2)____________________(3)____________________十一、实验总结通过本次实验,我了解了____________________,掌握了____________________,培养了____________________。
杭电计组实验7-取指令与指令译码实验
![杭电计组实验7-取指令与指令译码实验](https://img.taocdn.com/s3/m/8a63a977102de2bd960588f7.png)
output wire [31:0]inst_code;
input reset;
output reg[31:0]PC;
output [31:0]PC_new;
assign PC_new=PC+4;
rom FA0(clk,PC[7:2],inst_code);
always@(posedge clk orposedge reset)
杭州电子科技大学计算机学院
实验报告
实验项目:
课程名称:计算机组成原理与系统结构课程设计
姓名:学号:同组姓名:学号:
实验位置(机号):
实验日期:指导教师:
实验内容(算法、程序、步骤和方法)
1、实验目的
(1)学习指令存储器的设计
(2)掌握CPU取指令操作与译码的方法和过程
二、实验仪器
ISE工具
三、步骤、方法
rom_d your_instance_name (
.clka(clk), // input clka
.addra(addr[7:2]), // input [5 : 0] addra
.douta(douta) // output [31 : 0] douta
);
Endmodule
RTL图
2、结果
思考题:
begin
if(reset) begin PC<=32'H00000000;end
else begin PC<=PC_new;end
end
endmodule
2、ROM模块的调用代码
module rom(clk,addr,douta);
input clk;
input [7:2]addr;
杭电数电课内实验
![杭电数电课内实验](https://img.taocdn.com/s3/m/e3d8af5be45c3b3567ec8bcd.png)
数字逻辑电路课内仿真实验第六章 QuartusII原理图设计初步一、实验目的:初步了解学习使用Quartus||软件进行电路自动化设计。
二、实验仪器:Quartus||软件。
三、实验内容:6-1 用Quartus||库中的宏功能模块74138和与非门实现指定逻辑函数按照6.3节和6.4节的流程,使用Quartus||完整图6-2电路的设计,包括:创建工程,在原理图编辑窗中绘制此电路,全程编译,对设计进行时序仿真,根据仿真波形说明此电路的功能,引脚锁定编译,编程下载于FPGA中进行硬件测试。
最后完成实验报告。
1、原理图2、波形设置3、仿真波形6-2 用两片7485设计一个8位比较器用两片4位二进制数值比较器7485串联扩展为8位比较器,使用Quartus||完成全部设计和测试,包括创建工程、编辑电路图、全程编译、时序仿真及说明此电路的功能、引脚锁定、编程下载,进行硬件测试。
最后完成实验报告。
1、原理图2、波形设置3、波形仿真6-3 设计8位串行进位加法器首先根据图4-33,用半加器设计一个全加器元件,然后根据图4-34,在顶层设计中用8个1位全加器构成8位串行进位加法器。
给出时序仿真波形并说明之,引脚锁定编译,编程下载于FPGA中进行硬件测试,最后完成实验报告,讨论这个加法器的工作速度。
1、原理图:半加器1位全加器8位串行进位全加器集成后的8位串行进位全加器2、波形设置3、波形仿真6-5 设计一个十六进制7段显示译码器用Verilog的case语句设计一个可以控制显示共阴7段数码管的十六进制码7段显示译码器。
首先给出此译码器的真值表,此译码器有4个输入端:D、C、B、A。
D是最高位,A 是最低位;输出有8位:p、g、f、e、d、c、b、a,其中p和a分别是最高和最低位,p控制小数点。
对于共阴控制,如果要显示A,输入DCBA=1010;若小数点不亮,则输出pgfedcba=01110111=77H,给出时序仿真波形并说明之,引脚锁定,下载于FPGA中对共阴数码管进行硬件测试。
杭州电子科技大学测试技术及传感器实验报告讲解
![杭州电子科技大学测试技术及传感器实验报告讲解](https://img.taocdn.com/s3/m/db5a5be476a20029bc642d14.png)
由于直流稳压源的输出和差动放大器都会影响电压表的示数,如果直流稳压源和差动放大器不符合要求,那么 的变化将不能通过电压表的示数变化反映出来,起到了干扰实验的作用。
二、金属箔式应变片:单臂、半桥、全桥比较
实验目的:验证单臂、半桥、全桥的性能。
实验准备:预习
实验仪器和设备:直流稳压电源、差动放大器、电桥、应变片、电压表、测微头
实验内容:
(1)把音频振荡器的输出电压(0°输出端)接至相敏检波器的输入端4。
(2)将直流稳压电源打到2V档,把输出电压(正或负均可)接到相敏检波器的参考输入端1(DC)。参考输入端也称相敏检波器的控制端,控制信号是直流时,接1,交流时接5。
(3)把示波器的两根输入线分别接到相敏检波器的输入端和输出端,观察输入和输出波形的相位关系和幅值关系。
(4)向上旋转测微头,使梁向上移动每隔0.5mm读一个数,将测得数值填入下表:
位移(mm)
10
10.5
11
11.5
12
12.5
13
13.5
14
14.5
电压(mV)
0
13
27
40
53
67
81
95
109
124
(5)保持差动放大器增益不变,将 换为与 工作状态相反的另一应变片(一片为拉时,另一片为压),形成半桥,调好零点,同样测出读数,填入下表:
(3)差动变压器与激励信号的连线应尽量短一些,以避免引入干扰。
实验内容:
(1) 按图5接线,音频振荡器必须从LV接出,LV、GND接差动式电感的Li,2个L0构成差动输出。
(4)检查测微头安装是否牢固,转动测微头至10mm刻度处,并调整旋紧固定螺钉,使测微头上下移动至双平行梁处于水平位置(目测),测微头与梁的接触紧密。
杭州电子科技大学单片机自主式学习实验系统实验指导书
![杭州电子科技大学单片机自主式学习实验系统实验指导书](https://img.taocdn.com/s3/m/91b093c6240c844769eaeeee.png)
单片机自主式学习实验系统(单片机基础实验部分)实验指导书杭州电子科技大学2016年1月目录目录 (1)实验一开关量输入输出实验 (2)实验二LED轮换点亮实验 (3)实验三LED数码管显示实验 (5)实验四脉冲计数实验 (9)实验五LED数码管显示与按钮输入实验 (11)实验六点阵显示实验 (17)实验七单温度采集实验 (19)实验一开关量输入输出实验一、实验要求1.利用STC12C5A16S2单片机的P0口作开关量输入口,P1口作开关量输出口;2.当P0.x端开关闭合时,对应的P1.x口的LED发光二极管点亮;当P0.x端开关断开时,对应的P1.x口的LED发光二极管不亮;3.完成全部程序和电路调试工作。
二、实验目的1.掌握STC12C5A16S2单片机的最基本电路的设计;2.了解单片机I/O端口的使用方法。
三、电路图1 电路图四、接线说明1.JP0连接JP10;2.JP1连接JP4;3.请勿将液晶屏和步进电机插上。
1.当P0.x 端开关闭合时,P0.x 端对应的IO 口为低电平,将相应P0.x 端对应的IO 口值赋给P1.x 端,二极管低电平点亮即可满足实验要求。
六、程序设计图2 流程图实验二 LED 轮换点亮实验一、实验要求1.利用SN74HC573对STC12C5A16S2单片机的P0口进行扩展,驱动LED 控制输出;2.编写程序,使P0.0~P0.7上的发光二极管循环点亮;P2.7控制SN74HC573芯片的使能;3.完成全部程序和电路调试工作。
二、实验目的1.掌握STC12C5A16S2单片机的I/O 电路设计; 2.学习SN74HC573数据锁存输出方法。
三、电路图1 电路图入口P0电平值赋给P1循环1.JP0连接JP15;2.请勿将液晶屏和步进电机插上。
五、原理说明1.数码管低电平有效;2.SN74HC573芯片,当锁存使能端LE为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。
杭电 计组实验5-6-7(章老师不插板实验报告)
![杭电 计组实验5-6-7(章老师不插板实验报告)](https://img.taocdn.com/s3/m/9beb1a4b1a37f111f0855b7c.png)
RAMபைடு நூலகம்A1(
。clka(Clk),// input clka
.wea(wea),// input [0:0] wea
。addra(addra[7:2]),// input [5 : 0]addra
.dina(R_Data_A), // input[31 : 0]dina
。douta(douta)// output [31 : 0]douta
R_Addr_A=5’b11011;
Write_Reg=0;
Clk=0;
W_Addr=0;
W_Data=0;
#10;
Clk=0;
wea=1;
addra=8’b00110100;
#10;
Clk=1;
#100;
wea=0;
addra=8'b00110100;
#100;
Clk=0;
#10;
Clk=1;
B
#100;
.clka(clk), // input clka
.douta(Inst_Code) // output [31 : 0] douta
);
assign PC_new=PC+4;
always@( negedge clkor posedge rst)
begin
if(rst)
PC=32’h0000_0000;
sub $29,$22,$2; #$29=7FFF_FFFE
add $30,$20,$2; #$30=8000_0001
add $31,$11,$26; #$31=9000_6FF1
实验7:
module Inst(clk,rst,Inst_Code,PC_new,PC);
实验七 逻辑运算实验
![实验七 逻辑运算实验](https://img.taocdn.com/s3/m/4f2e6b39ed630b1c59eeb5df.png)
实验七逻辑运算实验一、实验要求和目的1.了解汇编语言的逻辑运算指令;2.熟悉汇编语言中逻辑运算指令的使用方法;3.掌握利用汇编语言逻辑运算指令实现程序设计的方法。
二、软硬件环境1.硬件环境:微机CPU 486以上,500MB以上硬盘,32M以上内存;2.软件环境:装有MASM 5.0、DEBUG、LINK和EDIT等应用程序。
三、实验涉及的主要知识单元1.逻辑非指令NOT格式:NOT OPD操作形式:OPD←OPD。
描述:指令的功能是把操作数中的每位变反,即:1←0,0←1。
将目的地址中的内容逐位取反后送入目的地址。
操作数不能用立即数,指令执行后对标志位无影响,也可用于求补。
举例:MOV AX,1234H ;(AX)=1234HNOT AX ;(AX)=EDCBH2.逻辑与指令AND格式:AND 目的操作数,源操作数操作形式:DOPD ←DOPD∧SOPD。
描述:(1)逻辑与运算法则为1∧1=1,1∧0=0,0∧1=0,0∧0=0。
(2)指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑乘运算操作,操作结果存入目的操作数中。
(3)受影响的标志位:CF、OF为0,PF、SF和ZF根据运算定,AF无定义。
(4)利用AND指令与0或1相与可对操作数的某些位进行屏蔽和保留操作。
举例:将AL中第0位和第7位清零。
MOV AL,0FFHAND AL,7EH3.逻辑或指令OR格式:OR 目的操作数,源操作数操作形式:DOPD ←DOPD∨SOPD描述:(1)逻辑或运算法则:1∨1=1,1∨0=1,0∨1=1,0∨0=0。
(2)指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑加运算操作,操作结果存入目的操作数中。
(3)受影响的标志位:CF、OF为0,PF、SF和ZF根据运算定,AF无定义。
(4)利用OR指令与1或0相或,可对操作数置1操作,和保留原位不变。
举例:将AL中第0位和第7位置1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
实验项目:
课程名称:计算机组成原理与系统结构课程设计
姓名:学号:同组姓名:学号:
实验位置(机号):
实验日期:指导教师:
实验内容(算法、程序、步骤和方法)
一、实验目的
(1)学习指令存储器的设计
(2)掌握CPU取指令操作与译码的方法和过程
二、实验仪器
ISE工具
三、步骤、方法
01075822
01075822
00000030h
012c6824
012c6824
00000034h
012c7025
012c7025
00000038h
00c77825
078027
取出的指令代码和指令存储器关联文件中的指令代码一致。
(2)
复位后第一次按动clk按钮读出的是第0号单元指令。
begin
if(reset) begin PC<=32'H00000000;end
else begin PC<=PC_new;end
end
endmodule
2、ROM模块的调用代码
module rom(clk,addr,douta);
input clk;
input [7:2]addr;
output [31:0]douta;
input clk;
output wire [31:0]inst_code;
input reset;
output reg[31:0]PC;
output [31:0]PC_new;
assign PC_new=PC+4;
rom FA0(clk,PC[7:2],inst_code);
always@(posedge clk or posedge reset)
成绩:指导教师签名:
实验体会
学习了指令存储器的设计。
通过Memory IP核生成一个只读存储器作为指令存储器并给去指令模块调用,设计实现了一个能够依次读出指令存储器指令代码的去指令模块。能够将实验正确地仿真以及下到板上验证,正确显示。
掌握CPU去指令操作与指令译码的方法和过程。。
指导教师评议
实验步骤写的时候,最好自己按照所做步骤写,二人不要一模一样。
4、综上所述,在本实验中,取指令操作是:根据PC的内容到指令存储器中取指令,然后PC+4=PC。在执行指令期间,因为要保持从指令存储器中取出的指令不变,那么也就要求PC的内容不变,因此PC+4的值必须在下个指令周期开始时赋值给PC。
操作过程及结果
一,操作过程
实验过程和描述:
1、PC模块的代码
module pc(inst_code,clk,reset,PC,PC_new);
实验过程和描述:
1、指令存储器:是只读存储器,只提供读权限,数据通路不能改写指令。在任意时刻,指令存储器都是依据指令的地址来啊读取其中的指令代码,不需要读控制信号。
2、程序计数器PC:是CPU的重要寄存器,存放32位的指令地址,提供存储器来执行取指令的操作。
3、PC自增加法器:用于完成PC的自增操作。CPU每次根据PC从指令存储器取出一条指令后,就应该将PC指向下一条指令。
00a33020
00a33020
00000018h
00463804
00463804
0000001Ch
00a64820
00a64820
00000020h
01264004
01264004
00000024h
00284826
00284826
00000028h
01215020
01215020
0000002Ch
(1)
PC地址
读出指令代码
关联文件中指令代码
00000000h
00000827
00000827
00000004h
0001102b
0001102b
00000008h
00421820
00421820
0000000Ch
00622020
00622020
00000010h
00832820
00832820
00000014h
rom_d your_instance_name (
.clka(clk), // input clka
.addra(addr[7:2]), // input [5 : 0] addra
.douta(douta) // output [31 : 0] douta
);
Endmodule
RTL图
二、结果
思考题: