资源描述:
《实验十寄存器及寄存器堆设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、2015~2016秋冬简易计算器设计寄存器及寄存器堆设计(寄存器堆设计)1022021/7/28寄存器及寄存器堆设计掌握寄存器、锁存器的工作原理及设计方法掌握寄存器堆的工作原理及设计方法了解计算机中寄存器及寄存器堆的概念实验目的32021/7/28寄存器及寄存器堆设计实验设备装有ISE的计算机系统1台SpartanIII实验板1套实验材料无实验设备与材料42021/7/28寄存器及寄存器堆设计实现含由16个16位寄存器构成的寄存器堆,要求:支持寄存器地址选择支持写入任意16位值支持读取寄存器的值加入到多功能计算器中。实验任务52021/7/28寄存器
2、及寄存器堆设计寄存器是计算机常用的基本器件1、由同一信号控制的一组相互并联的触发器构成2、包含存储、处理和传输,可构成寄存器组使用3、边沿D触发器构成的8位基本寄存器的结构如下实验原理与电路图62021/7/28寄存器及寄存器堆设计8位基本寄存器moduleregister(clk,D,clear,Q);//...initialS<=1'b1;assigncr=~clear;BUFGcc(clk1,clk);D_flop_posedgeR0(clk1,D[0],cr,S,Q[0],Qbar[0]),R1(clk1,D[1],cr,S,Q[1],Qba
3、r[1]),R2(clk1,D[2],cr,S,Q[2],Qbar[2]),R3(clk1,D[3],cr,S,Q[3],Qbar[3]),R4(clk1,D[4],cr,S,Q[4],Qbar[4]),R5(clk1,D[5],cr,S,Q[5],Qbar[5]),R6(clk1,D[6],cr,S,Q[6],Qbar[6]),R7(clk1,D[7],cr,S,Q[7],Qbar[7]);endmodule72021/7/28寄存器及寄存器堆设计锁存器由多个一位锁存器/触发器并联构成一般采用电平控制锁存:高电平时置入数据低电平时锁存数据,并指示数
4、据稳定带使能端的RS触发器实现的锁存器锁存器modulelock(lock,D,clear,Q);//...assigncr={8{clear}}
5、(~D);assignDin=D&(~{8{clear}});assignlock1=lock
6、clear;RS_CER0(lock1,cr[0],Din[0],Q[0],Qbar[0]),R1(lock1,cr[1],Din[1],Q[1],Qbar[1]),R2(lock1,cr[2],Din[2],Q[2],Qbar[2]),R3(lock1,cr[3],Din[3],Q[3],Qbar[3]),R
7、4(lock1,cr[4],Din[4],Q[4],Qbar[4]),R5(lock1,cr[5],Din[5],Q[5],Qbar[5]),R6(lock1,cr[6],Din[6],Q[6],Qbar[6]),R7(lock1,cr[7],Din[7],Q[7],Qbar[7]);endmodule82021/7/28寄存器及寄存器堆设计寄存器组是多个寄存器组成的集合寄存器写:寄存器地址→变量译码器寄存器读:寄存器地址→数据选择器寄存器组92021/7/28寄存器及寄存器堆设计寄存器组moduleregister_file(clk,cr,Addr
8、ess,Di,Do);//...initialCE<=0;assignSEL=Address;assignY=~Yi;assignCLK={8{clk}}&&Y;register_32rr0(CLK[0],Di,cr,Do0);register_32rr1(CLK[1],Di,cr,Do1);register_32rr2(CLK[2],Di,cr,Do2);register_32rr3(CLK[3],Di,cr,Do3);register_32rr4(CLK[4],Di,cr,Do4);register_32rr5(CLK[5],Di,cr,Do5)
9、;register_32rr6(CLK[6],Di,cr,Do6);register_32rr7(CLK[7],Di,cr,Do7);decode_3_8d(Address[2],Address[1],Address[0],CE,Yi);MUX_8_1mux(SEL,Do0,Do1,Do2,Do3,Do4,Do5,Do6,Do7,Do);endmodulemoduleregister_32(cl,Di,cr,Dot);//...BUFGcck(cck,cl);always@(posedgecl)Dot<=(!cr)?0:Di;endmodule102
10、021/7/28寄存器及寄存器堆设计实现含由16个16位寄存器构成的寄存器堆,要求:支持寄存器地址选择支持写