资源描述:
《eda运算器实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验2运算器实验预习实验报告疑问:1、如何用原理图的方式来实现实验中代码的功能?2、实验中输入端口比所给实验箱上的输入按钮多,如何解决这个问题?3、让7449在显示十六进制数的时候,会显示乱码,如何解决这个问题?实验报告一、波形图:参数设置:Endtime:2.0usGridsize:100.0ns信号设置:Clk:时钟信号,设置周期为100ns占空比为50%。K:由k[7]~k[0]八个信号组成,数据输入信号,十六进制。sw
2、r4
3、r5
4、ALU_bus:由sw_bus(输入数据到总线)、r4_bus(将R4寄存器的值反馈到总线上)、r5_bus(将R5寄存器的
5、值反馈到总线上)、ALU_bus(将运算结果的值反馈到总线上)四个信号组成,输入信号,二进制,低电平有效。ld_r1
6、r2
7、r4
8、r5:由ld_r1(将运算结果存入R1寄存器)、ld_r2(将运算结果存入R2寄存器)、ld_r4(将运算结果存入R4寄存器)、ld_r5(将运算结果存入R5寄存器)四个信号组成,输入信号,二进制,高电平有效。m
9、cn:由m(运算种类的选择信号)、cn(表明有无进位的信号)两个信号组成(其中m=0表示算术运算,m=1表示逻辑运算,cn=0表示有进位,cn=1表示无进位),输入信号,二进制。s:算数逻辑单元控制选择信号,由s[3]~s[
10、0]四个信号组成,输入信号,二进制。d:数据输出的中间信号,由d[7]~d[0]八个信号组成,双向信号,显示总线上的数据,十六进制。d~result:最终的数据输出信号,由d[7]result~d[0]result八个信号组成,输出信号,八进制。1)初始状态:K无输入,bus信号无效,lddr信号无效,总线上位高阻态。2)05Hà总线(sw_bus=0)àDR1(ld_r1=1):K输入05,sw_bus=0,ld_r1=1,可以看到d~result=05;D2Hà总线(sw_bus=0)àDR2(ld_r2=1):K输入D2,sw_bus=0,ld_r2=1,
11、可以看到d~result=D2。3)AorB的运算结果(m
12、cn=01、s=0001)à总线(ALU_bus=0)àR4(ld_r4=1):alu_bus=0,ld_r4=1,m
13、cn=01,s=0001,可以看到d~result=D7。4)not(AandB)的运算结果(m
14、cn=10、s=0100)à总线(ALU_bus=0)àR5(ld_r5):alu_bus=0,ld_r5=1,m
15、cn=10,s=0100,可以看到d~result=FF。5)R4à总线(r4_bus=0)àr1(ld_r1=1):r4_bus=0,ld_r1=1,m
16、cn=00,s=0
17、000,可以看到d~result=D7。6)DR1加B的运算结果(m
18、cn=01、s=1001)à总线(ALU_bus=0)àR4(ld_r4):alu_bus=0,ld_r4=1,m
19、cn=01,s=1001,可以看到d~result=A9。7)R4à总线(sw_bus=0)àDR1(ld_r1=1):r4_bus=0,ld_r1=1,m
20、cn=00,s=0000,可以看到d~result=A9;8)R5à总线(sw_bus=0)àDR2(ld_r2=1):r5_bus=0,ld_r5=1,m
21、cn=00,s=0000,可以看到d~result=FF。9)DR
22、1减DR2的运算结果(m
23、cn=00、s=0110)à总线(ALU_bus=0)àR4(ld_r4=1):alu_bus=0,ld_r4=1,m
24、cn=00,s=0110,可以看到d~result=AA。记录实验复合运算:(AorB)减not(AandB)加B运算m,cn,s[3..0]DR1DR2ALU结果R4R5AorB01000105HD2HD7HD7H00Hnot(AandB)10010005HD2HFFHD7HFFHR4加B011001D7HD2HA9HA9HFFHR4减R5000110A9HFFHAAHAAHFFH调换运算了加B与减R5的运算顺序,可
25、以免去DR2中的数据被覆盖后重新输入B的麻烦。结论:通过将数据05H、D2H输入到两个寄存器中,经过实验设计的运算器,进行(AorB)减not(AandB)加B的复合运算,最终得出AAH的正确结果。说明本实验的设计能实现运算器的运算功能,电路设计正确。二、实验日志思考题:1、存入DR1、DR2的数据如何在总线上显示?答:将m、cn、s分别置0、1、0000,并将alu_bus置0,可完成将DR1中数据在总线上显示。将m、cn、s分别置1、0、1010,并将alu_bus置0,可完成将DR2中数据在总线上显示。2、复合运算时,ALU出的中间结果为什么不能直接存入D
26、R1或DR2?答:因为D