资源目录
压缩包内文档预览:(预览前20页/共145页)
编号:7409833
类型:共享资源
大小:7.33MB
格式:RAR
上传时间:2018-01-15
上传人:专业****设计
认证信息
个人认证
葛**(实名认证)
江苏
IP属地:江苏
45
积分
- 关 键 词:
-
计算机
系统、设计、
- 资源描述:
-
ASP068计算机组成原理教学网站,计算机,系统、设计、
- 内容简介:
-
江苏技术师范学院计算机学院标准实验报告(实验)课程名称计算机组成原理计算机科学与工程学院制实验报告学生姓名XXX学号XXXXXX指导教师冯立平实验地点计算机学院104室实验时间200410一、实验室名称计算机学院硬件实验室二、实验项目名称存储器逻辑设计三、实验学时8四、实验原理通过部件级的实验设计和调试,了解半导体存储器的设计过程。五、实验目的掌握用硬件描述语言设计逻辑部件。掌握存储器容量的字扩展和位扩展技术。掌握存储芯片片选逻辑的设计方法。六、实验内容利用ALTERA公司的EPF10K10LC844的内部可编程资源,设计一个256X16BIT的RAM;要求能随机写入和读出数据。已知1个648,1个328,1个168的存储器,设计1个容量为1128的存储器,此存储器的片选信号为CS,低电平有效。RW读/写允许输入线,高电平时写,低电平时读,8位数据输入线DIN,8位数据输出线DOUT,地址线ADR(6)ADR0。写出存储空间分配、地址分配与片选逻辑,并简单说明。存储空间分配648328168地址分配与片选逻辑芯片容量芯片地址片选信号片选逻辑648ADR5ADR0CS0CS0A6328ADR4ADR0CS1CS1A65168ADR3ADR0CS2CS2A6A54A6A0对应ADR6ADR0总容量为1128,共需7位地址ADR6ADR0对648芯片,将低6位地址ADR5ADR0连接到芯片上,余下的高位ADR6作为片选依据;而328,应将低5位地址ADR4ADR0连接到芯片上,余下的ADR(6)ADR(5)作为片选依据。而168,应将低4位地址ADR3ADR0连接到芯片上,余下的ADR(6)ADR(5)ADR(4)作为片选依据。令ADR0对应于648的ADR接口,ADR1对应于328的ADR接口,ADR2对应于168的ADR接口。七、实验器材(设备、元器件)PC机一台,EDA教学实验箱一台,导线若干。八、实验步骤介绍实验开发平台和实验板的使用。设计一个256X8BIT的RAM。用两个256X8BIT的RAM组成一个256X16BIT的ARM。仿真并验证。九、实验数据及结果分析附程序及仿真波形图1、RAM256X8VHD文件LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLPACKAGERAM_CONSTANTSISCONSTANTDATA_WIDTHINTEGER8CONSTANTADDR_WIDTHINTEGER8ENDRAM_CONSTANTSLIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLLIBRARYLPMUSELPMLPM_COMPONENTSALLLIBRARYWORKUSEWORKRAM_CONSTANTSALLENTITYRAM256X8ISPORTDATAINSTD_LOGIC_VECTORDATA_WIDTH1DOWNTO0ADDRESSINSTD_LOGIC_VECTORADDR_WIDTH1DOWNTO0WE,INCLOCK,OUTCLOCKINSTD_LOGICQOUTSTD_LOGIC_VECTORDATA_WIDTH1DOWNTO0ENDRAM256X8ARCHITECTUREEXAMPLEOFRAM256X8ISBEGININST_1LPM_RAM_DQGENERICMAPLPM_WIDTHADADDR_WIDTH,LPM_WIDTHDATA_WIDTHPORTMAPDATADATA,ADDRESSADDRESS,WEWE,INCLOCKINCLOCK,OUTCLOCKOUTCLOCK,QQENDEXAMPLE2、RAM256X16VHDLIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLPACKAGERAM_CONSTANTSISCONSTANTDATA_WIDTHINTEGER8CONSTANTADDR_WIDTHINTEGER8ENDRAM_CONSTANTSLIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLLIBRARYLPMUSELPMLPM_COMPONENTSALLLIBRARYWORKUSEWORKRAM_CONSTANTSALLENTITYRAM256X16ISPORTDATA_16INSTD_LOGIC_VECTOR15DOWNTO0ADDRESSINSTD_LOGIC_VECTOR7DOWNTO0WE,INCLOCK,OUTCLOCKINSTD_LOGICQ_16OUTSTD_LOGIC_VECTOR15DOWNTO0ENDRAM256X16ARCHITECTURERAM256X16_ARCHOFRAM256X16ISCOMPONENTRAM256X8PORTDATAINSTD_LOGIC_VECTORDATA_WIDTH1DOWNTO0ADDRESSINSTD_LOGIC_VECTORADDR_WIDTH1DOWNTO0WE,INCLOCK,OUTCLOCKINSTD_LOGICQOUTSTD_LOGIC_VECTORDATA_WIDTH1DOWNTO0ENDCOMPONENTBEGINU_RAM16_1RAM256X8PORTMAPDATADATA_1615DOWNTO8,ADDRESSADDRESS,WEWE,INCLOCKINCLOCK,OUTCLOCKOUTCLOCK,QQ_1615DOWNTO8U_RAM16_2RAM256X8PORTMAPDATADATA_167DOWNTO0,ADDRESSADDRESS,WEWE,INCLOCKINCLOCK,OUTCLOCKOUTCLOCK,QQ_167DOWNTO0ENDRAM256X16_ARCHCONFIGURATIONRAM256X16_CONFIGOFRAM256X16ISFORRAM256X16_ARCHENDFORENDRAM256X16_CONFIG3、功能仿真波形图十、实验结论由波形图可以看出,组合后的存储器具有一般存储器的功能,可以写入和读出RAM的数据,只是采用了时钟同步打入的方式,但这不影响使用和我们理解存储器扩展的原理。而且这种方式更加稳定可靠。十一、总结及心得体会对EPF10K10LC844芯片的使用有了进一步的了解,更好的掌握了存储器原理、逻辑结构。十二、对本实验过程及方法、手段的改进建议可以改用较大容量的可编程芯片,或者采用其他公司的芯片如XILINX公司的FPGA。因为它有片选信号,而ALTERA公司的FELX系列芯片没有片选信号。报告评分指导教师签字电子科技大学计算机学院标准实验报告(实验)课程名称计算机组成原理电子科技大学教务处制表电子科技大学实验报告学生姓名XXX学号XXXXXX指导教师冯立平实验地点计算机学院104室实验时间200410一、实验室名称计算机学院硬件实验室二、实验项目名称运算器逻辑设计三、实验学时8四、实验原理理解运算器结构及功能,理解各选择器、算逻部件、移位器的端口及实现逻辑和各部件之间的接口关系,并学会如何利用VHDL对硬件实体逻辑进行描述并进行模块级、系统级仿真,从而模拟完整的ALU结构和功能。五、实验目的1掌握用硬件描述语言设计逻辑部件的方法。2了解运算器的设计过程。3掌握74181芯片的连接方法和分级同时进位技术。4验证运算器的功能。六、实验内容利用ALTERA公司的EPF10K10LC844的内部可编程资源,设计一个16BIT的运算器;要求该运算器具有加、减算术运算功能和基本逻辑运算功能。模块编号U_ALU_16功能在微命令的控制下对输入A、B进行算术逻辑运算。基本运算有AB、AB、A、B、A1、A1、A与B、A或B、A(B)反COM、A(B)补NEG、左移、右移输入R0、R1、R2、R3、C、D、PC、SP/选择器A的输入(16位)R0、R1、R2、R3、C、D、PSW、MBR/选择器B的输入(16位)SELA3/选择器A的选择控制(3位)SELB3/选择器B的选择控制(3位)CON_ALU6/ALU的功能控制(6位)SHIFT_REG2/移位器的控制(2位)左移、右移、直传(DM)输出IN_BUS_16/内部数据总线(16位)运算结果内部框图ALU移位寄存器SHIFT_REG2CON_ALU6IN_BUS_16ALU_OUT1、选择器AU_SEL_A1)输入R0、R1、R2、R3、C、D、PC、SP、SELA3输出ALU_INA2)功能SELAALU_INA000R0001R1010R2011R3100C101D110PC111SP2、选择器BU_SEL_B1)输入R0、R1、R2、R3、C、D、PSW、MBR、SELB3输出ALU_INB2)功能SELBALU_INB000R0001R1010R2011R3100C101D110PSW111MBR3、移位寄存器U_SHIFT_REG选择器A选择器BSELA3SELB3ALU_INAALU_INBR0、R1、R2、R3、C、D、PC、SPR0、R1、R2、R3、C、D、PSW、MBR1)输入ALU_OUT、SHIFT_REG22)输出IN_BUS_163)功能SHIFT_REG2IN_BUS_16备注00ALU_OUTDM(直传)01ALU_OUT(14DOWNTO0)USEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLUSEIEEESTD_LOGIC_UNSIGNEDALLENTITYCPU_ALUISPORTR0INSTD_LOGIC_VECTOR15DOWNTO0R1INSTD_LOGIC_VECTOR15DOWNTO0R2INSTD_LOGIC_VECTOR15DOWNTO0R3INSTD_LOGIC_VECTOR15DOWNTO0SPINSTD_LOGIC_VECTOR15DOWNTO0PCINSTD_LOGIC_VECTOR15DOWNTO0PSWINSTD_LOGIC_VECTOR15DOWNTO0MBRINSTD_LOGIC_VECTOR15DOWNTO0SELA3INSTD_LOGIC_VECTOR2DOWNTO0SELB3INSTD_LOGIC_VECTOR2DOWNTO0CON_ALU6INSTD_LOGIC_VECTOR5DOWNTO0SHIFT_REG2INSTD_LOGIC_VECTOR1DOWNTO0IN_BUS_16OUTSTD_LOGIC_VECTOR15DOWNTO0CINSTD_LOGIC_VECTOR15DOWNTO0DINSTD_LOGIC_VECTOR15DOWNTO0ENDCPU_ALUARCHITECTURECPU_ALU_ARCHOFCPU_ALUISCOMPONENTALU_16PORTALU_INAINSTD_LOGIC_VECTOR15DOWNTO0ALU_INBINSTD_LOGIC_VECTOR15DOWNTO0CON_ALU6INSTD_LOGIC_VECTOR5DOWNTO0ALU_OUTOUTSTD_LOGIC_VECTOR15DOWNTO0ENDCOMPONENTCOMPONENTALU_SELECTPORTR0INSTD_LOGIC_VECTOR15DOWNTO0R1INSTD_LOGIC_VECTOR15DOWNTO0R2INSTD_LOGIC_VECTOR15DOWNTO0R3INSTD_LOGIC_VECTOR15DOWNTO0R4INSTD_LOGIC_VECTOR15DOWNTO0R5INSTD_LOGIC_VECTOR15DOWNTO0R6INSTD_LOGIC_VECTOR15DOWNTO0R7INSTD_LOGIC_VECTOR15DOWNTO0R_OUTOUTSTD_LOGIC_VECTOR15DOWNTO0CONINSTD_LOGIC_VECTOR2DOWNTO0ENDCOMPONENTCOMPONENTM_SHIFT_REGPORTALU_OUTINSTD_LOGIC_VECTOR15DOWNTO0SHIFT_REG2INSTD_LOGIC_VECTOR1DOWNTO0ALU_INBUS_16OUTSTD_LOGIC_VECTOR15DOWNTO0ENDCOMPONENTSIGNALALU_INA,ALU_INB,ALU_OUTSTD_LOGIC_VECTOR15DOWNTO0BEGINU_SELAALU_SELECTPORTMAPR0R0,R1R1,R2R2,R3R3,R4C,R5D,R6SP,R7PC,R_OUTALU_INA,CONSELA3U_SELBALU_SELECTPORTMAPR0R0,R1R1,R2R2,R3R3,R4C,R5D,R6PSW,R7MBR,R_OUTALU_INB,CONSELB3U_ALU_IN_16ALU_16PORTMAPALU_INAALU_INA,ALU_INBALU_INB,CON_ALU6CON_ALU6,ALU_OUTALU_OUTU_SHIFTM_SHIFT_REGPORTMAPALU_OUTALU_OUT,SHIFT_REG2SHIFT_REG2,ALU_INBUS_16IN_BUS_16ENDCPU_ALU_ARCHCONFIGURATIONCPU_ALU_CONFIGOFCPU_ALUISFORCPU_ALU_ARCHENDFORENDCPU_ALU_CONFIGALU_1616BITALULIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLUSEIEEESTD_LOGIC_UNSIGNEDALLENTITYALU_16ISPORTALU_INAINSTD_LOGIC_VECTOR15DOWNTO0ALU_INBINSTD_LOGIC_VECTOR15DOWNTO0CON_ALU6INSTD_LOGIC_VECTOR5DOWNTO0ALU_OUTOUTSTD_LOGIC_VECTOR15DOWNTO0ENDALU_16ARCHITECTUREALU_16_ARCHOFALU_16ISCOMPONENTM_74182PORTC0,P1,G1,P2,G2,P3,G3,G4,P4INSTD_LOGICC1,C2,C3OUTSTD_LOGICENDCOMPONENTCOMPONENTALU_SN74181PORTA_ININSTD_LOGIC_VECTOR3DOWNTO0OPERANDAB_ININSTD_LOGIC_VECTOR3DOWNTO0OPERANDBOP_SELINSTD_LOGIC_VECTOR4DOWNTO0F_OUTOUTSTD_LOGIC_VECTOR3DOWNTO0OUTVALUEFC_ININSTD_LOGICP_OUTOUTSTD_LOGICG_OUTOUTSTD_LOGICENDCOMPONENTSIGNALALU_P1,ALU_P2,ALU_P3,ALU_P4,ALU_G1,ALU_G2,ALU_G3,ALU_G4STD_LOGICSIGNALALU_C0,ALU_C1,ALU_C2,ALU_C3STD_LOGICBEGINU_74181_1ALU_SN74181PORTMAPA_INALU_INA3DOWNTO0,B_INALU_INB3DOWNTO0,OP_SELCON_ALU65DOWNTO1,F_OUTALU_OUT3DOWNTO0,C_INCON_ALU60,P_OUTALU_P1,G_OUTALU_G1U_74181_2ALU_SN74181PORTMAPA_INALU_INA7DOWNTO4,B_INALU_INB7DOWNTO4,OP_SELCON_ALU65DOWNTO1,F_OUTALU_OUT7DOWNTO4,C_INALU_C1,P_OUTALU_P2,G_OUTALU_G2U_74181_3ALU_SN74181PORTMAPA_INALU_INA11DOWNTO8,B_INALU_INB11DOWNTO8,OP_SELCON_ALU65DOWNTO1,F_OUTALU_OUT11DOWNTO8,C_INALU_C2,P_OUTALU_P3,G_OUTALU_G3U_74181_4ALU_SN74181PORTMAPA_INALU_INA15DOWNTO12,B_INALU_INB15DOWNTO12,OP_SELCON_ALU65DOWNTO1,F_OUTALU_OUT15DOWNTO12,C_INALU_C3,P_OUTALU_P4,G_OUTALU_G4U_74182M_74182PORTMAPC0CON_ALU60,P1ALU_P1,G1ALU_G1,P2ALU_P2,G2ALU_G2,P3ALU_P3,G3ALU_G3,P4ALU_P4,G4ALU_G4,C1ALU_C1,C2ALU_C2,C3ALU_C3ENDALU_16_ARCHCONFIGURATIONALU_16_CONFIGOFALU_16ISFORALU_16_ARCHENDFORENDALU_16_CONFIGALU_SN74181PRIMITIVEVARIABLEINPUTANDOUTPUTOPERAND,C0CANNOTSETZEROWHENOPEL11001ANDC_IN0LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLUSEIEEESTD_LOGIC_UNSIGNEDALLENTITYALU_SN74181ISPORTA_ININSTD_LOGIC_VECTOR3DOWNTO0OPERANDAB_ININSTD_LOGIC_VECTOR3DOWNTO0OPERANDBOP_SELINSTD_LOGIC_VECTOR4DOWNTO0F_OUTOUTSTD_LOGIC_VECTOR3DOWNTO0OUTVALUEFC_ININSTD_LOGICP_OUTOUTSTD_LOGICG_OUTOUTSTD_LOGICC_OUTOUTSTD_LOGICCARRAYOUTENDALU_SN74181ARCHITECTUREALU_SN74181_ARCHOFALU_SN74181ISSIGNALC0,MSTD_LOGICSIGNALA,B,SSTD_LOGIC_VECTOR3DOWNTO0SIGNALA_0,B_0,A_1,B_1,A_2,B_2,A_3,B_3STD_LOGICSIGNALD,E,H,TSTD_LOGICSIGNALP_NEG,G_NEG,P_TEMP,G_TEMPSTD_LOGICSIGNALIS_FSTD_LOGIC_VECTOR3DOWNTO0SIGNALF_NEGSTD_LOGIC_VECTOR3DOWNTO0BEGINP_ALUPROCESSOP_SEL,C_IN,A_IN,B_IN,C0,M,A,B,S,A_0,B_0,A_1,B_1,A_2,B_2,A_3,B_3,D,E,H,TBEGINC0R_OUTR_OUTR_OUTR_OUTR_OUTR_OUTR_OUTR_OUTR_OUTALU_INBUS_16ALU_INBUS_160ALU_INBUS_1614DOWNTO0ALU_INBUS_16IR_CODE15DOWNTO12,OP_MOVOP_MOV,OP_ADDOP_ADD,OP_SUBOP_SUB,OP_ANDOP_AND,OP_OROP_OR,OP_EOROP_EOR,OP_COMOP_COM,OP_NEGOP_NEG,OP_INCOP_INC,OP_DECOP_DEC,OP_SLOP_SL,OP_SROP_SR,OP_JMP_RSTOP_JMP,OP_STIOP_STI,OP_CLIOP_CLI,OP_JSROP_JSRU_DREG_DECOD_REG_DECODPORTMAPIR5_3IR_CODE5DOWNTO3,D_R0D_R0,D_R1D_R1,D_R2D_R2,D_R3D_R3,D_SPD_SP,D_PSWD_PSW,D_PCD_PC,D_TMPD_TMPU_DADDR_DECODADDR_DECODPORTMAPIR2_0IR_CODE2DOWNTO0,D_ADDR_REGD_ADDR_REG,D_ADDR_INDID_ADDR_INDI,D_ADDR_DECRD_ADDR_DECR,D_ADDR_INCRD_ADDR_INCR,D_DOUB_INDID_DOUB_INDI,D_ADDR_VARID_ADDR_VARI,D_ADDR_SKPD_ADDR_SKP,D_ADDR_TMPD_ADDR_TMPU_SREG_DECOS_REG_DECODPORTMAPIR11_9IR_CODE11DOWNTO9,S_R0S_R0,S_R1S_R1,S_R2S_R2,S_R3S_R3,S_SPS_SP,S_PSWS_PSW,S_PCS_PC,S_TMPS_TMPU_SADDR_DECOSADDR_DECODPORTMAPIR8_6IR_CODE8DOWNTO6,S_ADDR_REGS_ADDR_REG,S_ADDR_INDIS_ADDR_INDI,S_ADDR_DECRS_ADDR_DECR,S_ADDR_INCRS_ADDR_INCR,S_DOUB_INDIS_DOUB_INDI,S_ADDR_VARIS_ADDR_VARI,S_ADDR_SKPS_ADDR_SKP,S_ADDR_TMPS_ADDR_TMPU_CODE_SEL_BCODE_SELBPORTMAPR0_TO_BR0_TO_B,R1_TO_BR1_TO_B,R2_TO_BR2_TO_B,R3_TO_BR3_TO_B,C_TO_BC_TO_B,D_TO_BD_TO_B,PSW_TO_BPSW_TO_B,PSW_TO_BZERO_TEMP,MBR_TO_BMBR_TO_B,SEL_BSELB3U_CODE_SEL_ACODE_SELAPORTMAPR0_TO_AR0_TO_A,R1_TO_AR1_TO_A,R2_TO_AR2_TO_A,R3_TO_AR3_TO_A,C_TO_AC_TO_A,D_TO_AD_TO_A,SP_TO_ASP_TO_A,PC_TO_APC_TO_A,SEL_ASELA3U_COD_ALUCODE_ALUPORTMAPOP_AOP_A,OP_BOP_B,A_ADD_BA_ADD_B,A_SUB_BA_SUB_B,A_COMA_COM,B_COMB_COM,B_COMZERO_TEMP,A_ADD_1A_ADD_1,A_SUB_1A_SUB_1,A_NEGA_NEG,A_AND_BA_AND_B,A_OR_BA_OR_B,A_EOR_BA_EOR_B,RESETRESET,ALU_CON6CON_ALU6U_COD_SHCODE_SHIFTPORTMAPDMDM,SHIFT_SLSHIFT_SL,SHIFT_SRSHIFT_SR,SHIFT_REG2SHIFT_REG2U_PULSEPROCESSPULSEBEGINIFPULSEEVENTANDPULSE0THENPRESENT_STATEIFRESET1THENNEXT_STATEIFFT0_TO_ST01THENNEXT_STATEIFST0_TO_ST11THENNEXT_STATEIFST1_TO_ST21THENNEXT_STATEIFST2_TO_ST31THENNEXT_STATEIFST3_TO_ST41THENNEXT_STATEIFST4_TO_DT01THENNEXT_STATEIFDT0_TO_DT11THENNEXT_STATEIFDT1_TO_DT21THENNEXT_STATEIFDT2_TO_DT31THENNEXT_STATEIFDT3_TO_DT41THENNEXT_STATEIFDT4_TO_ET01THENNEXT_STATEIFET0_TO_ET11THENNEXT_STATEIFET1_TO_ET21THENNEXT_STATEIFET2_TO_ET31THENNEXT_STATEIFET3_TO_FT01THENNEXT_STATENEXT_STATENEXT_STATENEXT_STATENEXT_STATENEXT_STATENEXT_STATENEXT_STATEIR_CODE,PULSEPULSE,RESETRESET,CPPSW_PCPPSW,SELA3SELA3,SELB3SELB3,CON_ALU6CON_ALU6,SHIFT_REG2SHIFT_REG2,READ_COMRD_COM,WRITE_COMWR,SMBRSMBR,SIRSIR,EMAREMAR,CPMBR_PCPMBR,CPMAR_PCPMAR,CPR0_PCPR0,CPR1_PCPR1,CPR2_PCPR2,CPR3_PCPR3,CPC_PCPC,CPD_PCPD,CPPC_PCPPC,CPSP_PCPSP,PSW_FLAGPSW_FLAG,INTRINTR,INTAINTA,INT_ENINT_EN,INTA_IT3INTA_IT3U_MODEL_ACCESSDATAACCESSPORTMAPIR_CODEIR_CODE,PULSEPULSE,RESETRESET,CPPSWCPPSW,SELA3SELA3,SELB3SELB3,CON_ALU6CON_ALU6,SHIFT_REG2SHIFT_REG2,READ_COMRD,WRITE_COMWR,SMBRSMBR,SIRSIR,EMAREMAR,CPMBRCPMBR,CPMARCPMAR,CPR0CPR0,CPR1CPR1,CPR2CPR2,CPR3CPR3,CPCCPC,CPDCPD,CPPCCPPC,CPSPCPSP,PSW_FLAGPSW_FLAG,ADDR_BUS_16ADDR_BUS_16,DATA_BUS_16DATA_BUS_16,RESULT_16RESULT_16,INT_ENINT_ENU_CLOCKCLOCK_PULSEPORTMAPCLKCLK,RSTRESET,PPULSERD_COMCLK,WR_NNWR,RD_NNRD,CS_NNCS,MRST_NNMRST,A0A0,AEOI_STBAEOI_STB,EN_VECTEN_VECTOR,VECT_INPOLL_VECTOR2DOWNTO0,VECT_DATAINT_VECTOR,IS_DATAIS_DATA,IR_DATAIR_DATA,DINDIN,ISR_CLRISR_CLR,INITINIT,INIT_DONEINIT_DONE,SW_EOI_CMDSW_EOI_CMD,ICW1ICW1,ICW2ICW2,OCW1OCW1,DOUTDOUTINSTANIATEINTERRUPTREGISTERMODULEI_INT_LTCHINT_LTCHPORTMAPMRST_NNMRST,CLKCLK,INITINIT,FREEZEFREEZE,IMIM,IRIR,ISR_CLRISR_CLR,AEOI_STBAEOI_STB,SW_EOI_CMDSW_EOI_CMD,ISR_SET_STBISR_SET_STB,LTIMLTIM,ISRIS_DATA,IRRIR_DATA,INTINT,POLL_VECTORPOLL_VECTORINSTANIATEINTERRUPTSEQUENCERMODULEI_INT_SEQINT_SEQPORTMAPMRST_NNMRST,CLKCLK,INTA_NNINTA,INIT_DONEINIT_DONE,ICW1ICW1,ICW2ICW2,VECT_OUTPOLL_VECTOR,AEOI_STBAEOI_STB,ISR_SET_STBISR_SET_STB,EN_VECTOREN_VECTOR,FREEZEFREEZE,INT_VECTORINT_VECTORENDSTRUC十、实验结论本次实验能满足预定要求,时序、逻辑功能正确。十一、总结及心得体会本实验能加深对中断控制器组织结构及功能的理解,以及学会如何在具体的应用环境中综合运用VHDL语言进行硬件描述及功能模拟。十二、对本实验过程及方法、手段的改进建议本实验所描述的对象结构简化无实际应用意义,建议增加实验的实用性。报告评分指导教师签字电子科技大学计算机学院学院标准实验报告(实验)课程名称计算机组成原理电子科技大学教务处制表电子科技大学实验报告学生姓名XXX学号XXXXXX指导教师冯立平实验地点计算机学院104室实验时间200210一、实验室名称计算机学院硬件实验室二、实验项目名称接口的设计与实现三、实验学时8四、实验原理理解接口的结构及功能,理解各寄存器、控制部件、接口的端口及实现逻辑和各部件之间的接口关系,并学会如何利用VHDL对硬件实体逻辑进行描述并进行模块级、系统级仿真,从而模拟完整的接口的结构和功能。五、实验目的1掌握用硬件描述语言设计逻辑部件的方法。2了解接口的设计过程。3掌握用VHDL实现接口的过程。4验证接口的功能。六、实验内容模块结构和功能设计顶层模块的功能描述根据现行指令、控制台命令、时序系统等产生模型机所需微命令;控制整个CPU的运行。输入RESET/复位信号CS/使能信号WR,/写信号RD/读信号AD/地址选择信号DATA/作为输出端口时数据总线上的数据信号PA/作为输入端口时A端口的数据信号PB/作为输入端口时B端口的数据信号STBA,STBB,/A,B端口的输入选通信号ACKA,ACKB/作为输出端口时外设的反馈信号输出INTRA,INTRB/中断请求信号PA/作为输出端口时的A端口PB/作为输出端口时的B端口DATA/作为输入端口时数据总线上的数据相关信号定义STB选通输入信号,低电平有效。当它有效时,数据从输入设备输入到A口或者时B口锁存器。STB是由外设输入给该接口的控制信号。IBF输入缓冲器满信号,高电平有效。它是对STB信号的响应信号。当STB有效时,把数据传送到输入锁存器,输入锁存器锁存数据后,发出输入缓冲器满的信号。IBF信号是由该接口发出的状态信号,通常提供给CPU查询时使用。当查询到IBF为高电平时,说明输入锁存器已经有数据,执行输入指令,读信号有效,数据由该接口的锁存器传送到CPU。同时,读信号RD的后沿使得IBF置0,等待下一个数据的输入。INTE中断屏蔽信号,决定端口A和端口B是否允许申请中断。当INTE信号为1时,使得端口处于中断允许状态;当INTE信号为0时,使得端口处于中断禁止状态。INTR中断请求信号,高电平有效。当外部设备把数据输入到输入锁存器锁存后,且对数据的端口(A口或者是B口)是不屏蔽的,即INTE置1,该接口就用INTR信号向CPU发出中断申请,请求CPU将输入锁存器中的数据取走。当CPU响应中断,执行输入指令,读信号RD的下降沿将INTR降为低电平,等待下一次的数据输入。ACK外设响应信号,低电平有效。当外部设备从该接口的输出锁存器取走数据时,向该接口发回通知信号,并使得OBF信号置为高电平。若为查询式输出数据方式,OBF可以信号可以作为查询外设忙还是不忙的信号。OBF输出缓冲器满信号,低电平有效。当CPU把数据输入到该接口的输出锁存器时,使得OBF信号置0,通知外部设备取走数据。OBF可以作为启动外部设备的控制信号。实验过程理解与描述本接口模块包括以下子模块1模式选择子模块本子模块的功能是提供在复位信号有效时对接口的A,B端口的状态设置,入设置A端口为输入端口,设置B端口为输出端口,同时还提供在如何在初始化程序中通过状态控制字来设置A,B端口的状态。2数据读写模块本模块主要提供如何将数据总线上的数据送到接口中去以及如何将接口中的数据送到数据总线上去。具体实现方式是读出数据时,在端口选通信号有效时,将数据从端口送到读出寄存器中去,在读信号和片选信号有效的时候将数据从读出寄存器送到数据总线上去;写入数据时,在写信号和片选信号都有效时,将数据总线上的数据送到写入寄存器中去,在端口状态为写入时,再将数据从写入寄存器送到端口中去。3中断使能信号的处理模块在初始化复位信号有效时,将中断使能信号置为有效,并且提供了如何使用初始化程序中的控制字来设置中断使能信号。4IBF,OBF的处理模块对于IBF,在初始化复位信号有效时,将其置为无效,表示读出缓冲器空,当数据选通信号有效时,将其置为有效,当数据被读到端口时,该信号又为无效。对于OBF,在初始化复位信号有效时或外设将数据取走时,将其置为无效,表示写入缓冲器空,当写入数据时,又将其置为有效,表示其中有数据。5中断请求提出模块对于输入数据的中断请求,必须在复位信号无效且写入缓冲器满,且允许提出中断请求时在输入选通信号有效的情况下送出中断请求;对于输出数据的中断请求,在复位信号有效且读出缓冲器满、且是写入状态时且允许提出中断请求时在ACK的上升沿提出中断请求。七、实验器材(设备、元器件)PC机一台,EDA教学实验箱一台,导线若干。八、实验步骤1画出模块框图按从上到下的设计方法,将整个设计依功能划分成若干模块。并确定各个模块的输出、输入端口及要完成的功能。2设计输入从下到上,编写各个模块的VHDL代码。3功能仿真在零延时模式下,检查输入是否有误。4编译选择器件,逻辑综合,器件装入,延时信息提取。5时序仿真将编译产生的延时信息加入到设计中,进行布局布线后的仿真。6编程验证将仿真后确认的配置文件经编程电缆配置到可编程逻辑器件FPGA中,加以实际激励,进行测试,检查是否完成预定功能。九、实验数据及结果分析实验仿真波形图及接口程序清单LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLUSEIEEESTD_LOGIC_UNSIGNEDALLENTITYI8255MODE1ISPORTRESET,CS,WR,RDINSTD_LOGICADINSTD_LOGIC_VECTOR1DOWNTO0DATA,PA,PBINOUTSTD_LOGIC_VECTOR15DOWNTO0STBA,STBB,ACKA,ACKBINSTD_LOGICIBFA,IBFB,OBFA,OBFBBUFFERSTD_LOGICINTRA,INTRBOUTSTD_LOGICCS,WR,RD,STB,ACK,OBFDOUSHIDIDIANPINGYOUXIAOIBF,INTRSHIGAODIANPINGYOUXIAOENDI8255MODE1ARCHITECTUREAOFI8255MODE1ISPORTSTATECONSTANTSCONSTANTPSINSTD_LOGIC1CONSTANTPSOUTSTD_LOGIC0SIGNALIBFA,IBFB,OBFA,OBFBSTD_LOGICSIGNALSTATEA,STATEBSTD_LOGICSIGNALREGAOUT,REGBOUT,REGAIN,REGBINSTD_LOGIC_VECTOR15DOWNTO0SIGNALINTEA,INTEBSTD_LOGICZHONGDUANPINGBIXINHAOSIG
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。