付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
年 月 F /201965I/OI/OI/O(1)实验仪器:3.实验任务VerilogHDLquartus20MIPSCPU的一部分,实现CPU与外部设备的输入输出端口设计。实验中可采用高端I/OlwDE2信息。即将外部设备状态,读到CPU内部寄存器。I/OswDE2LED设备的控制信号(或数据信息)。即将对外部设备的控制数据,从CPU内部按键的状态输入,并将判别或处理结果,利用板载LED灯或7LED数码2个LED数码管以10LED上指令集的测试应用功能的程序设计代码,流程图。 //SchoolofSoftwareof //inputresetn,clock,mem_clk;inputresetn,mem_clk;wireinput[3:0]in_port0,//output[31:0]wire[31:0] wireimem_clk,dmem_clk;output[31:0]out_port0,out_port1,out_port2;wire[31:0]out_port0,out_port1,out_port2;wire[31:0]data;wirewmem;//allthese"wire"sareusedtoconnectorinterfacethecpu,dmem,imemandsoon.outputwire[6:0]clock_divsc_cpucpu(clock,resetn,inst,memout,pc,wmem,aluout,data); sc_instmemimem(pc,inst,clock,mem_clk,imem_clk); instructionmemory.sc_datamemdmemt0,out_port1,out_port2);//datamemory.sevensegss0(out_port0[3:0],HEX0);sevensegss1(out_port0[7:4],HEX1);sevensegss2(out_port1[3:0],HEX2);sevensegss3(out_port1[7:4],HEX3);sevensegss4(out_port2[3:0],HEX4);sevensegss5(out_port2[7:4],HEX5);module//NOTE:lw,iotoinput[31:0]input[3:0]in_port0,in_port1;inputio_clk;outputwire[31:0]io_read_data;reg[31:0]in_reg0,in_reg1;in_reg0=in_reg1=always@(posedgeio_clk)in_reg0<={28'b0,in_port0};in_reg1<=//NOTE:input[31:0]addr,inputwrite_io_enable,io_clk,outputreg[31:0]out_port0,out_port1,always@(posedgeio_clkornegedgeclrn)out_port0<=out_port1<=out_port2<=6'b100000:out_port0<=datain;6'b100001:out_port1<=datain;6'b100010:out_port2<=datain;moduleio_input_mux(in_reg0,in_reg1,addr,io_read_data);input[31:0]in_reg0,in_reg1;input[5:0]outputreg[31:0]io_read_data;io_read_data=always6'b110000:io_read_data=in_reg0;6'b110001:io_read_data=in_reg1;modulealu(a,b,aluc,s,z);input[31:0]a,b;input[3:0]output[31:0]s; reg[31:0]s; always@(aorbor //casex4'bx000:s=a+ //x0004'bx100:s=a- //x1004'bx001:s=a& //x0014'bx101:s=a| //x1014'bx010:s=a^ //x0104'bx110:s={b,16'b0}; //x110LUI:imm<<16bit4'b0011:s=b<<<a; //0011SLL:rd<-(rt<<sa)4'b0111:s=b>>>a; //0111SRL:rd<-(rt>>sa)(logical)4'b1111:s=$signed(b)>>>a; //1111SRA:rd<-(rt>>sa)default:s=
if(s==0)z=1;elsez=0;modulesc_cu(op,func,z,wmem,wreg,regrt,m2reg,aluc,shift,aluimm,pcsource,jal,sext);input[5:0]op,func; output[3:0]aluc;output[1:0]pcsource;wirer_type=~|op;wirei_add=r_type&func[5]&~func[4]&~func[3]~func[2]&~func[1]&~func[0]; wirei_sub=r_type&func[5]&~func[4]&~func[3]&~func[2]&func[1]& //pleasecompletethedeletedwirei_and=r_type&func[5]&~func[4]&~func[3]&func[2]~func[1]&~func[0];wirei_or=r_type&func[5]&~func[4]&~func[3]&func[2]~func[1]&func[0];wirei_xor=r_type&func[5]&~func[4]&~func[3]&func[2]&func[1]&~func[0];//100110wirei_sll=r_type&~func[5]&~func[4]&~func[3]&~func[2]~func[1]&~func[0];wirei_srl=r_type&~func[5]&~func[4]&~func[3]&~func[2]&func[1]&~func[0];//000010wirei_sra=r_type&~func[5]&~func[4]&~func[3]&~func[2]&func[1]&func[0];//000011wirei_jr=r_type&~func[5]&~func[4]&func[3]&~func[2]~func[1]&~func[0];//Note:here,op[i]insteadofwirei_addi=~op[5]&~op[4]&op[3]&~op[2]&~op[1]&~op[0];//001000wirei_andi=~op[5]&~op[4]&op[3]&op[2]&~op[1]&~op[0];wirei_ori=~op[5]&~op[4]&op[3]&op[2]&~op[1]&op[0];//001101wirei_xori=~op[5]&~op[4]&op[3]&op[2]&op[1]&~op[0];//001110wirei_lw=op[5]&~op[4]&~op[3]&~op[2]&op[1]&op[0];//100011wirewirewirei_beqwirei_bnewirei_luiwirei_jwire=op[5]&~op[4]=~op[5]&~op[4]=~op[5]&~op[4]=~op[5]&~op[4]=~op[5]&~op[4]op[3]&~op[2]&op[1]&op[0];~op[3]&op[2]&~op[1]&~op[0];~op[3]&op[2]&~op[1]&op[0];op[3]&op[2]&op[1]&op[0];~op[3]&~op[2]&op[1]&~op[0];=~op[5]&~op[4]&~op[3]&~op[2]&op[1]&op[0];assignpcsource[1]=i_jr|i_j|assignpcsource[0]=(i_beq&z)|(i_bne&~z)|i_j|i_jalassignwreg=i_add|i_sub|i_and| |i_xori_sll|i_srl|i_sra|i_addi|i_andii_ori|i_xori|i_lw|i_lui|//aluc+:0000,-:x100and:x001or:x101xor:x010lui:x110sll:0011//Note:bne,beq==xorassignaluc[3]=assignaluc[2]=i_or|i_ori|i_lui|i_srl|i_sra|assignaluc[1]=i_beq|i_bne|i_xor|i_xori|i_lui|i_sll|i_srl|assignaluc[0]=i_and|i_andi|i_or|i_ori|i_sll|i_srl|i_sra;assignshift =i_sll|i_srl|i_sra;assignaluimm=i_addi|i_andi|i_ori|i_xori|i_lw|i_sw;//I-type(exceptLUI?).J-typeisprocessedassign =i_addi|i_lw|i_sw|i_beq|i_bne;//arithmeticI-logicalassignassign//rd=assign===i_addi|i_andi|i_ori|i_xori|i_lw|=的二进制代码,接着,为调用IO,完成io_input_mux,io_input_reg,io_output_reg三个DEPTH=64;%Memorydepthandwidtharerequired%WIDTH=32;%EnteradecimalnumberADDRESS_RA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年南昌工学院单招综合素质考试题库带答案详解(突破训练)
- 2026年程序员算法设计与编程实战能力测试题库
- 2026年人力资源管理员工招聘与配置试题
- 2026年市场营销策略考试题库品牌建设与市场分析
- 2026年英语四六级考试题库含阅读理解技巧
- 2025年数学老师招聘笔试题及答案
- 2025年上观新闻事业单位考试及答案
- 禾赛首次覆盖报告:全球激光雷达龙头赋能高阶智驾%26机器人
- 探寻中国经济改革渐进性:特征、成因与影响的深度剖析
- 领域内个人信用保护承诺书范文4篇
- 2025年鹤壁职业技术学院单招职业倾向性测试题库附答案解析
- 2026届云南省部分学校高三上学期11月联考语文试题(解析版)
- 工业区位·脉络贯通-九年级地理中考二轮复习大单元思维建模与迁移
- 基于跨学科主题学习的教学设计-以“二十四节气与地理环境”为例(八年级地理)
- 26新版八下语文必背古诗文言文21篇
- 2025陕西事业单位d类考试真题及答案
- 2025年中考英语真题完全解读(重庆卷)
- 交际用语课件
- 2026届上海市普陀区市级名校高一化学第一学期期末学业质量监测模拟试题含解析
- 学前教育创意短片
- 湿式磁选机安装施工方案
评论
0/150
提交评论