文件名称:数据通路实验报告.docx
文件大小:3.5MB
文件格式:DOCX
更新时间:2022-12-23 23:53:47
文档资料
数据通路实验报告全文共13页,当前为第1页。数据通路实验报告全文共13页,当前为第1页。 数据通路实验报告 数据通路实验报告全文共13页,当前为第1页。 数据通路实验报告全文共13页,当前为第1页。 实验概述。 数据通路的设计原则。 数据通路的设计直接影响到控制器的设计,同时也影响到数字系统的速度指标和成本。一般来说,处理速度快的数字系统,其中独立传递信息的通路较多。当然,独立数据传送通路的数量增加势必提高控制器设计复杂度。因此,在满足速度指标的前提下,为使数字系统结构尽量简单,一般小型系统中多采用单一总线结构。在较大系统中可采用双总线结构或者三线结构。 数据通路的结构。 算术逻辑单元ALU:有S3,S2,S1,S0,M,CN等6个控制端,用于选择运算类型。 暂存器A和B:保存通用寄存器组读出的数据或BUS上来的数据。 通用寄存器组R:暂时保存运算器单元ALU算出的结果。 寄存器C:保存ALU运算产生的进位信号。 RAM随机读写存储器:受读/写操作以及时钟信号等控制。 MAR:RAM的专用地址寄存器,寄存器的长度决定RAM的容量。 IR:专用寄存器,可存放由RAM读出的一个特殊数据。 控制器:用来产生数据通路中的所有控制信号,它们与各个子系统上的使能控制信号一一对应。 BUS:单一数据总线,通过三态门与有关子系统进行连接。 数据通路实验报告全文共13页,当前为第2页。数据通路实验报告全文共13页,当前为第2页。 数据通路实验报告全文共13页,当前为第2页。 数据通路实验报告全文共13页,当前为第2页。 实验设计及其仿真检测。 运算器。 8位运算器VHDL 数据通路实验报告全文共13页,当前为第3页。数据通路实验报告全文共13页,当前为第3页。 数据通路实验报告全文共13页,当前为第3页。 数据通路实验报告全文共13页,当前为第3页。 数据通路实验报告全文共13页,当前为第4页。数据通路实验报告全文共13页,当前为第4页。波形仿真 数据通路实验报告全文共13页,当前为第4页。 数据通路实验报告全文共13页,当前为第4页。 存储器。 顶层设计: 其中sw_pc_ar的VHDL语言描述: 数据通路实验报告全文共13页,当前为第5页。数据通路实验报告全文共13页,当前为第5页。 数据通路实验报告全文共13页,当前为第5页。 数据通路实验报告全文共13页,当前为第5页。 波形仿真 原仿真实验电路。 数据通路实验报告全文共13页,当前为第6页。数据通路实验报告全文共13页,当前为第6页。 数据通路实验报告全文共13页,当前为第6页。 数据通路实验报告全文共13页,当前为第6页。 仿真结果: 修改电路。 因为此次实验结果需要下载到FPGA板中进行操作及观察,而原始电路中,需要输入的变量数量过多,导致电板中的输入按键不够用,所以需要对电路进行修改。此时我们引入一个计数器PC来代替需要手动输入的指令alu_sel[5..0]以及数据d[7...0]。同时还需要引入数码管的位选信号译码器choose和段选信号译码器xianshi。 计数器PC的VHDL语言描述 数据通路实验报告全文共13页,当前为第7页。数据通路实验报告全文共13页,当前为第7页。 数据通路实验报告全文共13页,当前为第7页。 数据通路实验报告全文共13页,当前为第7页。 位选信号译码器choose的VHDL语言描述 数据通路实验报告全文共13页,当前为第8页。数据通路实验报告全文共13页,当前为第8页。段选信号译码器的VHDL语言描述 数据通路实验报告全文共13页,当前为第8页。 数据通路实验报告全文共13页,当前为第8页。 经过修改和完善以后的电路图为 数据通路实验报告全文共13页,当前为第9页。数据通路实验报告全文共13页,当前为第9页。 数据通路实验报告全文共13页,当前为第9页。 数据通路实验报告全文共13页,当前为第9页。 完善后的电路的引脚分配情况 数据通路实验报告全文共13页,当前为第10页。数据通路实验报告全文共13页,当前为第10页。 数据通路实验报告全文共13页,当前为第10页。 数据通路实验报告全文共13页,当前为第10页。 实验过程。 进行数学运算以及将运算结果储存在某个固定的内存地址处。然后从该地址处读出结果 打开pc_sel[2],重置地址计数器。 打开总线开关bus_sel[0],和PC_sel[2],pc_sel[1],pc_sel[0],让地址计数器开始计数,跳变到某个地址x时关闭。 打开总线开关BUS_SEL[4],打开暂存器r1的开关ld_reg[4],然后打开计数器开关en计数器开始计数,当计数到需要的数字a时,关闭计数器开关en,此时数字a存入暂存器r1,关闭暂存器的开关ld_reg[4],后再关闭总线开关BUS_SEL[4],然后再