



全文预览已结束
VIP免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验2运算器实验预习实验报告疑问:1、 如何用原理图的方式来实现实验中代码的功能?2、 实验中输入端口比所给实验箱上的输入按钮多,如何解决这个问题?3、 让7449在显示十六进制数的时候,会显示乱码,如何解决这个问题?实验报告一、 波形图:参数设置:Endtime:2.0us Gridsize:100.0ns信号设置:Clk: 时钟信号,设置周期为100ns占空比为50%。K: 由k7k0八个信号组成,数据输入信号,十六进制。sw|r4|r5|ALU_bus: 由sw_bus(输入数据到总线)、r4_bus(将R4寄存器的值反馈到总线上)、r5_bus(将R5寄存器的值反馈到总线上)、ALU_bus(将运算结果的值反馈到总线上)四个信号组成,输入信号,二进制,低电平有效。ld_r1|r2|r4|r5: 由ld_r1(将运算结果存入R1寄存器)、ld_r2(将运算结果存入R2寄存器)、ld_r4(将运算结果存入R4寄存器)、ld_r5(将运算结果存入R5寄存器)四个信号组成,输入信号,二进制,高电平有效。m|cn: 由m(运算种类的选择信号)、cn(表明有无进位的信号)两个信号组成(其中m=0表示算术运算,m=1表示逻辑运算,cn=0表示有进位,cn=1表示无进位),输入信号,二进制。s: 算数逻辑单元控制选择信号,由s3s0四个信号组成,输入信号,二进制。d: 数据输出的中间信号,由d7d0八个信号组成,双向信号,显示总线上的数据,十六进制。dresult: 最终的数据输出信号,由d7resultd0result八个信号组成,输出信号,八进制。 1) 初始状态:K无输入,bus信号无效,lddr信号无效,总线上位高阻态。2) 05H总线(sw_bus=0)DR1(ld_r1=1):K输入05,sw_bus=0,ld_r1=1,可以看到dresult=05;D2H总线(sw_bus=0)DR2(ld_r2=1):K输入D2,sw_bus=0,ld_r2=1,可以看到dresult=D2。3) AorB的运算结果(m|cn=01、s=0001)总线(ALU_bus=0)R4(ld_r4=1): alu_bus=0,ld_r4=1,m|cn=01,s=0001,可以看到dresult=D7。4) not(A and B)的运算结果(m|cn=10、s=0100)总线(ALU_bus=0)R5(ld_r5):alu_bus=0,ld_r5=1,m|cn=10,s=0100,可以看到dresult=FF。5) R4总线(r4_bus=0)r1(ld_r1=1):r4_bus=0,ld_r1=1,m|cn=00,s=0000,可以看到dresult=D7。6) DR1加B的运算结果(m|cn=01、s=1001)总线(ALU_bus=0)R4(ld_r4):alu_bus=0,ld_r4=1,m|cn=01,s=1001,可以看到dresult=A9。7) R4总线(sw_bus=0)DR1(ld_r1=1):r4_bus=0,ld_r1=1,m|cn=00,s=0000,可以看到dresult=A9;8) R5总线(sw_bus=0)DR2(ld_r2=1):r5_bus=0,ld_r5=1,m|cn=00,s=0000,可以看到dresult= FF。9) DR1减DR2的运算结果(m|cn=00、s=0110) 总线(ALU_bus=0)R4(ld_r4=1):alu_bus=0,ld_r4=1,m|cn=00,s=0110,可以看到dresult=AA。记录实验复合运算: (A or B) 减 not (A and B) 加 B运算m,cn,s3.0DR1DR2ALU结果R4R5AorB01000105HD2HD7HD7H00Hnot(A and B)10010005HD2HFFHD7HFFHR4加B011001D7HD2HA9HA9HFFHR4减R5000110A9HFFHAAHAAHFFH调换运算了加B与减R5的运算顺序,可以免去DR2中的数据被覆盖后重新输入B的麻烦。结论: 通过将数据05H、D2H输入到两个寄存器中,经过实验设计的运算器,进行(A or B) 减 not (A and B) 加 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出的中间结果为什么不能直接存入DR1或DR2?答:因为DR1、DR2作为算术逻辑运算单元的入口,式中利用其他值的运算必须存于DR1或DR2中才能完成运算。如果直接将中间结果存于DR1或DR2,则它有可能在接下来的它参与的运算中数值被覆盖掉。这样中间值没有被保存,得不出最后的正确结果。3、计算机中的负数如何表示?答:通过设置符号位,0表示正数,1表示负数。4、74181的功能表中运算“+”于“加”的区别是什么?答:运算“+”表示逻辑运算中的“与”;运算“加”表示算术运算中的“+”。5、exp_r_alu.vhd中并置运算符“&”主要作用是什么?答:主要作用是连接,由m、cn、s通过“&”组成六位的二进制数,作为运算的选择控制信号,来进行算术逻辑运算的选择。6、exp_r_alu.vhd代码中为什么要调用ieee.std_logic_unsigned库?答:因为ieee.std_logic_unsigned库中定义了基于std_logic以及std_logic_vector的无符号的算术运算,这样才能保证运算器功能的正常实现,得出正确的结果。7、VHDL语言中如何表示十六进制格式数据?答:通过在数据的前面加上x,然后再在“”里写入数据。遇到的问题及解决方案:1.下载到实验箱的时候,需要控制的输入的控制键多于实验箱的18个控制键。将数据输入部分用2个16进制的计算器组合而成,对于它的算术逻辑运算单元功能控制选择信号s3s0用一个16进制计数器来表示。2.让7449在显示十六进制数的时候,会显示乱码,如何解决这个问题?自己重新写一个译码器,其具体的代码如下:library ieee;use ieee.std_logic_1164.all;entity bus_reg7 is port( sin :in std_logic_vector(3 downto 0); sout :out std_logic_vector(6 downto 0);end bus_reg7;architecture rtl of bus_reg7 is signal xsin:std_logic_vector(3 downto 0); signal xsout:std_logic_vector(6 downto 0); begin xsinxsoutxsoutxsoutxsoutxsoutxsoutxsoutxsoutxsoutxsoutxsoutxsoutxsoutxsoutxsoutxsout=1000111;-F end case; sout=xsout; end process; end rt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 制定质量标准
- 跟骨骨折经皮复位与置钉知识2025
- 中国古代文学作品选辅导
- DeepSeek大模型在医学影像诊断智能识别中的应用方案
- 2025年四川省绵阳市安州八年级中考一模生物试题 (含答案)
- 2025年甘肃省武威市凉州区松树、永昌九年制学校中考三模语文试题(含答案)
- 2025年广东省初中毕业生学业考试英语模拟试题(文字版无答案)
- 后置埋件安装垂直度技术专题
- 2025合同能源管理EMC(EPC)融资及信用保障
- 2025年北京市二手车交易合同
- 企业信访工作责任制实施细则
- 《建筑施工操作工种实训(第二版)》单元6架子工实训
- 干部人事档案目录(样表)
- 大学《土木工程施工技术与组织》题库
- GB/T 5599-1985铁道车辆动力学性能评定和试验鉴定规范
- GB/T 31899-2015纺织品耐候性试验紫外光曝晒
- 压力变送器检定装置计量标准技术报告
- 消毒产品生产企业现场监督检查表
- 六年级英语下册单词和短语默写版广州
- 安全系统工程课程设计
- 物业公司上半年工作总结及下半年工作计划
评论
0/150
提交评论