【MOOC】计算机组成与CPU设计实验-江苏大学 中国大学慕课MOOC答案_第1页
【MOOC】计算机组成与CPU设计实验-江苏大学 中国大学慕课MOOC答案_第2页
【MOOC】计算机组成与CPU设计实验-江苏大学 中国大学慕课MOOC答案_第3页
【MOOC】计算机组成与CPU设计实验-江苏大学 中国大学慕课MOOC答案_第4页
【MOOC】计算机组成与CPU设计实验-江苏大学 中国大学慕课MOOC答案_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【MOOC】计算机组成与CPU设计实验-江苏大学中国大学慕课MOOC答案单元测验011、【单选题】RISC-V开源的是本题答案:【指令集架构】2、【单选题】FPGA设计流程的顺序是____。I.设计输入,II.逻辑综合,III.适配,IV.生成配置文件本题答案:【I.II.III.IV.】3、【单选题】本课程实验使用的芯片类型属于本题答案:【FPGA】4、【多选题】将综合工具生成的电路文件加载到可编程芯片的过程称为本题答案:【编程#下载#配置】5、【多选题】Verilog模块的端口类型有本题答案:【input#output#inout】6、【多选题】错误的模块定义语句是本题答案:【modulemodule_name(inputa,b,outputc)#modulemodule_name(a,b,c)】7、【判断题】VHDL是VerilogHDL的简写。本题答案:【错误】8、【判断题】多个assign持续赋值语句是按照书写的顺序执行的。本题答案:【错误】9、【判断题】SystemVerilog包含了Verilog。本题答案:【正确】10、【判断题】综合是指将HDL描述转变成门级逻辑电路。本题答案:【正确】11、【判断题】VerilogHDL编译生成的目标代码最终被一个计算机执行。本题答案:【错误】12、【判断题】实验指导中的代码assignSD0=S[7:0];也可以写成assignSD0[7:0]=S[7:0];本题答案:【正确】13、【填空题】常数5'he表示的二进制数是本题答案:【01110】14、【填空题】常数6'B110011表示的二进制数是本题答案:【110011】15、【填空题】用VerilogHDL实现S11~S8控制L11~L8亮灭的assign赋值语句是(注:不要有多余的空格)本题答案:【assignL[11:8]=S[11:8];】单元测验021、【单选题】远程实验平台推荐使用的浏览器为本题答案:【谷歌浏览器】2、【单选题】开关S0控制的数码管段的编号是H、段h(小数点)本题答案:【段a】3、【单选题】开关S1控制的数码管段的编号是H、段h(小数点)本题答案:【段b】4、【单选题】开关S2控制的数码管段的编号是H、段h(小数点)本题答案:【段c】5、【单选题】开关S3控制的数码管段的编号是H、段h(小数点)本题答案:【段d】6、【单选题】开关S4控制的数码管段的编号是H、段h(小数点)本题答案:【段e】7、【单选题】开关S5控制的数码管段的编号是H、段h(小数点)本题答案:【段f】8、【单选题】开关S6控制的数码管段的编号是H、段h(小数点)本题答案:【段g】9、【单选题】开关S7控制的数码管段的编号是H、段h(小数点)本题答案:【段h(小数点)】10、【判断题】实验平台的虚拟面板和LabBoard_TOP模块对应的。本题答案:【错误】11、【判断题】虚拟面板的虚拟元件是根据添加顺序和HDL代码对应的。本题答案:【错误】12、【判断题】虚拟实验是以真实的硬件实验板为基础,通过软件界面进行实验操作。本题答案:【正确】13、【填空题】根据点亮电平的高低,你判断远程实验板的数码管是共阴极的还是共阳极的?本题答案:【共阳极】14、【填空题】数码管的段是高电平点亮还是低电平点亮?本题答案:【低电平】15、【填空题】LED指示灯点亮时的驱动电平是高电平还是低电平?本题答案:【高电平】单元测验031、【单选题】以下代码描述的分别是?assignc=~(ab);assignd=(a^b)本题答案:【与非门,异或门】2、【单选题】VerilogHDL中在always语句块中被赋值的信号,应该声明为______。本题答案:【reg】3、【单选题】普通逻辑门的输出______连接在一起;三态门的输出______连接在一起;三态门的输出有______种状态,通过使能端控制,可以用于输出到总线。本题答案:【不可以,可以,3】4、【单选题】使用持续赋值语句可以描述三态门如下:inputEn,Din;outputDout;assignDout=En?Din:1bz;当En为1时,Dout=______,当En为0时,Dout=______.本题答案:【Din,高阻态】5、【单选题】多路器的功能是从多个输入中选择________输出,使用持续赋值语句assignY=S?A:B;可以描述一个________选________的多路器。本题答案:【?一个,2,1】6、【单选题】在VerilogHDL中,判断a等于b的表达式应该写为“a______b”。本题答案:【==】7、【多选题】语法格式{repetition_number{expr1,expr2,...,exprN}}表示复制操作,找出与{2{a,b}}结果相同的表达式本题答案:【?{{a,b},{a,b}}#{a,b,a,b}】8、【多选题】从下面选出4选1多路器的描述本题答案:【modulelabx(inputIn0,In1,In2,IN3,input[1:0]Sel,outputlogicOut);always_combcase(Sel)2'b00:Out=In0;2'b01:Out=In1;2'b10:Out=In2;2'b11:Out=In3;default:Out=1'bx;endcaseendmodule#modulelabx(input[3:0]In,input[1:0]Sel,outputOut);assignOut=In[Sel];endmodule】9、【多选题】假设a和b是位宽为4的向量,a的值为“1010”,b的值为“0101”,那么值为“1111”的表达式是()本题答案:【a|b#a^b】10、【多选题】在过程赋值语句always语句块里赋值,称为过程赋值,always@后面的括号里是敏感列表,如下用持续赋值语句描述了一个异或门电路,与它等价的过程赋值语句是()inputwirea,b;outputwirec;assignc=a^b;本题答案:【inputwirea,b;outputregc;always@(a,b)assignc=a^b;#inputwirea,b;outputregc;always@*assignc=a^b;#inputwirea,b;outputlogicc;always_combassignc=a^b;】11、【多选题】?总线遵循分时共享原则,选出正确的描述。本题答案:【为了实现总线的分时使用,三态缓冲器是实现总线分时使用必不可少的逻辑元件。同一时刻可以有一个部件向总线输出数据。#三态缓冲器输出高阻态时,不影响总线的状态。】12、【多选题】使用远程实验平台虚拟面板验证三态门电路的功能准备好数据开关,令DATA0=001,DATA1=010,DATA2=100,选出正确的描述。本题答案:【当OE0=0;OE1=0;OE2=0;输出使能无效,数据开关的值无法传输到总线,总线的值显示为111;#当OE0=1;OE1=0;OE2=0;数据开关DATA0的值传输到总线,总线的值显示为001。#当OE0=0;OE1=1;OE2=0;数据开关DATA1的值传输到总线,总线的值显示为010。#当OE0=0;OE1=0;OE2=1;数据开关DATA2的值传输到总线,总线的值显示为100】13、【多选题】使用远程实验平台虚拟面板验证三态门电路的功能准备好数据开关,令DATA0=001;DATA1=010;DATA2=100;验证多个部件同时向总线输出,选出错误的描述。本题答案:【当OE0=1;OE1=1;OE2=0;总线冲突,总线的值显示为011。#当OE0=1;OE1=0;OE2=1;总线冲突,总线的值显示为101#当OE0=0;OE1=1;OE2=1;总线冲突,总线的值显示为110】14、【多选题】使用远程实验平台虚拟面板验证2选1多路器电路的功能准备好数据开关,令DATA0=001;DATA1=010;DATA2=011;本题答案:【当选择信号sel1=0,sel0=0时,电路输出端out输出来自DATA0的数据,OUT值显示为001;#当选择信号sel1=0,sel0=1时,电路输出端out输出来自DATA1,OUT值显示为010;#当选择信号sel1=1,sel0=0时,电路输出端out输出来自DATA2的数据,OUT值显示为011;#当选择信号sel1=1,sel0=1时,电路输出端out输出来自DATA2的数据,OUT值显示为011。】15、【多选题】使用远程实验平台虚拟面板验证与或门构成的选择器电路功能准备好数据开关,令DATA0=001;DATA1=010;DATA2=100;本题答案:【当OE0=1;OE1=1;OE2=0;Out的值显示为011;#当OE0=1;OE1=0;OE2=1;Out的值显示为101;#当OE0=0;OE1=1;OE2=1;Out的值显示为110;】16、【判断题】数字逻辑电路有两大种类型,组合逻辑电路和时序逻辑电路,组合逻辑电路“没有记忆”,输出由输入决定,时序逻辑电路“有记忆”,输出不仅和当前输入有关,还跟以前的状态有关。本题答案:【正确】17、【判断题】assign引导的持续赋值语句,可以描述组合逻辑电路和时序逻辑电路本题答案:【错误】18、【判断题】硬件描述语言多条语句之间没有顺序,是由CPU并行执行的。本题答案:【错误】19、【判断题】{}是拼接运算符,用于将若干个信号的某些位拼接起来,例如:wire[3:0]s;wire[4:0]d;d={1,s};本题答案:【错误】20、【判断题】if-else语句和case语句,只能写在always语句块里本题答案:【正确】21、【判断题】if-else和case语句都可以实现分支结构,if-else语句有优先级,生成串行结构,延迟相等case语句描述并行结构,电路延迟大。本题答案:【错误】单元测验041、【单选题】2-4译码器有____位输入,____位输出,在输出的所有位中,只有其中1位有效,通常在计算机里用作____,有一些译码器设有一个和多个使能控制输入端,又称为片选端,用来控制允许译码或禁止译码。本题答案:【2,4,地址译码器】2、【单选题】4-2编码器有____位输入,____位输出,例如在计算机里用于响应中断请求的____,可以用if-else,____等语句描述。本题答案:【4,2,优先级编码器,casez】3、【判断题】描述组合逻辑的if语句应该有else分支。本题答案:【正确】4、【判断题】描述组合逻辑的case语句,可以不写default分支。本题答案:【错误】5、【填空题】具有“翻译”功能的任意编码转换器有时候也称为译码器,这种电路能将输入二进制代码的各种状态,翻译成对应的输出信号。七段译码器是一种将输入编码转换为七段数码显示码输出的编码转换器,写出显示数字2,8,P,L的段码,例如,0的七段显示码为0111111,从左到右分别表示七段数码管的g,f,e,d,c,b,a。2的七段显示码为______;本题答案:【1011011】6、【填空题】例如,0的七段显示码为0111111,从左到右分别表示七段数码管的g,f,e,d,c,b,a,8的七段显示码为______.本题答案:【1111111】7、【填空题】例如,0的七段显示码为0111111,从左到右分别表示七段数码管的g,f,e,d,c,b,a,P的七段显示码为______.本题答案:【1110011】8、【填空题】例如,0的七段显示码为0111111,从左到右分别表示七段数码管的g,f,e,d,c,b,a,L的七段显示码为______。本题答案:【0111000】9、【填空题】用VerilogHDL参数化设计的方法描述一个SIZE位的三态缓冲器moduleBuffer#(parameterSIZE=4)(output[SIZE-1:0]Dout,input[SIZE-1:0]Din,inputEn);assignDout=En?Din:________;endmodule本题答案:【{SIZE{1'bz}}##%_YZPRLFH_%##{SIZE{1'bZ}}】10、【填空题】使用名称映射方式,将上题中的三态缓冲器Buffer在TOP模块中进行实例化moduleTOP(output[7:0]out,input[7:0]F,inputen);Buffer#(.SIZE(____))buf(.En(____),.Din(____),.Dout(____));endmodule注意,答案之间用#隔开,例如1#en#out#F本题答案:【8#en#F#out】单元测验051、【多选题】选出正确的锁存器描述本题答案:【moduleLatch(inputD,E,outputregQ);always_latchif(E)Q=D;endmodule#moduleLatch(inputD,E,outputregQ);always@(EorD)if(E==1)Q=D;elseQ=Q;endmodule#moduleLatch(inputD,E,outputregQ);always@(EorD)if(E==1)Q=D;endmodule】2、【多选题】选出正确的触发器描述本题答案:【moduleD_FF(inputD,Clock,outputregQ);always@(posedgeClock)Q=D;endmodule#moduleD_FF(inputD,Clock,outputregQ);always@(negedgeClock)Q=D;endmodule#moduleD_FF(inputD,Clock,outputregQ);always_ff@(posedgeClock)Q=D;endmodule】3、【多选题】选出正确的带复位控制的触发器本题答案:【moduleD_FF(inputD,Clock,reset,outputregQ);always@(posedgeClockorposedgereset)if(reset==1)Q=0;elseQ=D;endmodule#moduleD_FF(inputD,Clock,reset,outputregQ);always@(posedgeClock)if(reset==0)Q=0;elseQ=D;endmodule#moduleD_FF(inputD,Clock,reset,outputregQ);always@(posedgeClock)if(reset==1)Q=0;elseQ=D;endmodule】4、【多选题】选出具有使能控制的触发器或寄存器的正确描述。本题答案:【moduleD_ff(inputD,CLK,En,outputregQ);always@(posedgeCLK)beginif(En)Q=D;endendmodule#moduleD_ff(inputCLK,load,input[3:0]D,outputreg[3:0]Q);always@(posedegCLK)beginif(load)Q=D;endendmodule】5、【多选题】下面两段代码中信号in,q1,q2和q3的初值分别为0,1,2和3,那么经过1个时钟周期后,always块1中q3的值变成_________,always块2中q3的值变成________。程序块1always@(clk)beginq1=in;q2=q1;q3=q2;end程序块2always@(posedgeclk)beginq1=in;q2=q1;q3=q2;end本题答案:【always块1中q3的值变成0#always块2中q3的值变成2】6、【判断题】同步复位和异步复位的区别是是否需要等待时钟只要复位信号有效,触发器立即清零,无需等待时钟触发边沿到来的是同步复位;复位信号有效,并且时钟的有效边沿到来时,才能清零的是异步复位。本题答案:【错误】7、【判断题】复位通常是清零,有时候也会置1,主要是使触发器处于一个确定的初始状态。本题答案:【正确】8、【判断题】一个语句块内可以同时使用阻塞赋值和非阻塞赋值。本题答案:【错误】9、【判断题】以下描述语句得到的结果一定是a=1,b=1,c=1begina=1;b=a;c=b;end本题答案:【错误】10、【判断题】寄存器就是触发器,或者説是由触发器构成的。本题答案:【正确】11、【判断题】锁存器对脉冲电平敏感,在特定输入脉冲电平(高电平或低电平)作用下随输入改变状态;触发器对脉冲边沿敏感,在时间脉冲的上升沿或下降沿变化瞬间改变状态。(考察锁存器和触发器的区别)本题答案:【正确】12、【判断题】阻塞赋值一般用于描述电平敏感的电路,例如组合逻辑电路和锁存器;非阻塞赋值一般用于描述边沿敏感的电路,例如触发器。本题答案:【正确】13、【填空题】使用远程实验平台虚拟面板验证单端口寄存器堆的功能寄存器能够装入数据的条件是时钟使能信号Load为________(0/1)并且________(有/没有)时钟上升沿。如果Load=0,有时钟上升沿,寄存器的内容将________(更新/保持不变)。注意,三个填空的答案之间用#隔开,例如:0#有#更新本题答案:【1#有#保持不变】14、【填空题】使用远程实验平台虚拟面板验证单端口寄存器堆的功能执行下面的写操作操作,给寄存器堆内各个寄存器写入相应的值,完成后,寄存器R2的值应为__________(5/6/7/8)。DINDEXLoadCLK0101001产生一个0110011产生一个0111101产生一个1000111产生一个本题答案:【7】15、【填空题】使用远程实验平台虚拟面板验证单端口寄存器堆的功能读出各个寄存器的值,比较与写操作中保存在寄存器中的值是否一致。单端口寄存器读操作_________(需要/不需要)等待时钟到来。单端口寄存器_________(可以/不可以)同时写入和读出不同寄存器的值,因为它读操作和写操作地址端口index是________(独立的/共用的)。注意,三个填空的答案之间用#隔开。本题答案:【不需要#不可以#共用的】16、【填空题】使用远程实验平台虚拟面板验证三端口寄存器堆的功能执行下面的写操作操作,给寄存器堆内各个寄存器写入相应的值,完成后,读出各个寄存器的值,比较与写操作中保存在寄存器中的值是否一致,寄存器R3的值应为__________(5/6/7/8)。DWAWECLK0101001产生一个0110011产生一个0111101产生一个1000111产生一个本题答案:【8】17、【填空题】使用远程实验平台虚拟面板验证三端口寄存器堆的功能三端口寄存器读操作的地址端口是________(WA/RA),写操作的地址端口是________(WA/RA),即读操作的和写操作的地址端口WE是_________(独立的/共用的)。注意,三个填空的答案之间用#隔开,例如:0#有#更新本题答案:【RA#WA#独立的】18、【填空题】使用远程实验平台虚拟面板验证三端口寄存器堆的功能该三端口寄存器_________(可以/不可以)在写入_________(1/2)个寄存器的同时读出__________(1/2)个寄存器的值。本题答案:【可以#1#2】单元测验061、【多选题】选出右移移位寄存器本题答案:【moduleShifter(inputDsi,inputCLK,outputreg[3:0]Q);always@(posedegclk)beginQ[3]=Dsi;Q[2]=Q[3];Q[1]=Q[2];Q[0]=Q[1];endendmodule#moduleShifter(inputDsi,inputCLK,outputreg[0:3]Q);always@(posedegclk)beginQ[0]=Dsi;Q[1]=Q[0];Q[2]=Q[1];Q[3]=Q[2];endendmodule#moduleShifter(inputDsi,inputCLK,outputreg[0:3]Q);always@(posedegclk)Q[0:3]={Dsi,Q[0:2]};endmodule#moduleShifter(inputDsi,input[3:0]In,inputCLK,outputreg[3:0]Q);always@(posedegclk)if(Load)Q=In;elseQ={Dsi,Q[3:1]};endmodule】2、【填空题】使用远程实验平台虚拟面板验证流水灯根据设计要求,并行装载是将输入端数据装入到移位寄存器,并行装载的时钟使能信号是________(iLoad/iEnable)。右移的时钟使能信号是________(iLoad/iEnable)。注意,多个填空的答案之间用#隔开,例如:三个空,答案填写为:0#有#更新本题答案:【iLoad#iEnable】3、【填空题】使用远程实验平台虚拟面板验证流水灯本实验设计的流水灯移位寄存器是将移位寄存器________(内部保存的数据Q/输入端数据iD)移位。本题答案:【内部保存的数据Q】4、【填空题】使用远程实验平台虚拟面板验证流水灯在时钟上升沿到来时,如果并行装载和右移的控制信号同时有效,该流水灯的功能是________(并行载入/右移)。本题答案:【并行载入】5、【填空题】如果想实现逻辑右移,需要将________(0/1/Q[7]/Q[0])连接到iLeftIn。本题答案:【0】6、【填空题】如果想实现算术右移,需要将________(0/1/Q[7]/Q[0])连接到iLeftIn。本题答案:【Q[7]】7、【填空题】如果想实现循环右移,需要将________(0/1/Q[7]/Q[0])连接到iLeftIn。本题答案:【Q[0]】8、【填空题】根据编译结果,范例1的逻辑资源占用比范例2____(多/少)。本题答案:【少】9、【填空题】使用远程实验平台虚拟面板验证跳跃流水灯发现,循环左移7位相当于循环右移___位。本题答案:【1】10、【填空题】Verilog的运算符“”是____(左移/右移)运算符。本题答案:【右移】11、【填空题】Verilog的算术右移运算符是“____”。本题答案:【>>>】单元测验071、【多选题】模2计数器的输出状态包括本题答案:【0#1】2、【多选题】以下代码描述的是________.modulecounter(inputClock,Reset,outputreg[3:0]Q);always@(posedgeClock,posedgeReset)if(Reset==1)Q=0;elseQ=Q+1;endmodule本题答案:【模16计数器#二进制计数器#加法计数器#异步复位计数器】3、【多选题】选出16分频计数器本题答案:【modulecounter(inputClock,Reset,outputclkout);reg[7:0]Q;always@(posedgeClock,posedgeReset)if(Reset==1)Q=0;elseQ=Q+1;assignclkout=Q[3];endmodule#modulecounter(inputClock,Reset,outputregclkout);reg[7:0]Q;always@(posedgeClock,posedgeReset)if(Reset==1)beginQ=0;clkout=0;endelseif(Q==7)beginclkout=~clkout;Q=0;endelseQ=Q+1;endmodule】4、【判断题】计数器对输入时钟脉冲进行计数,也用于分频、定时、产生节拍脉冲本题答案:【正确】5、【判断题】按时钟输入方式,可以分为同步和异步计数器;按进位体制,可以分开二进制、十进制、任意进制计数器;按计数方向,可以分为加法,减法,可逆计数器。本题答案:【正确】6、【判断题】可逆计数器既可加1计数又可减1计数。本题答案:【正确】7、【判断题】计数器具有分频特性,8位计数器可以实现256分频本题答案:【正确】8、【判断题】假设一个二进制计数器的输出为Q[7:0],如果希望将10MHz时钟分频得到1.25MHz的时钟,可以采用计数器的Q[1]位作为分频后的时钟。本题答案:【错误】9、【填空题】使用远程实验平台虚拟面板验证自动移动的流水灯,系统提供给VisuralBoard的时钟频率是____MHz,周期是____us,直接用它作移动寄存器的时候,肉眼无法分辨出流水灯的移动,因为一般情况下高于40Hz人眼就无法灵敏地感知光源闪烁了,所以需要设计分频器。注意,多个填空的答案之间用#隔开,例如:三个空,答案填写为:0#有#更新本题答案:【10#0.1】10、【填空题】使用远程实验平台虚拟面板验证参考范例的流水灯,设置平台的自动刷新频率为____ms(忽略小数部分),使刷新的时间等于流水灯移动的间隔时间,就可以看到流水灯匀速的运动。本题答案:【838##%_YZPRLFH_%##839】单元测验081、【单选题】设计一个需要16个状态的控制器电路,使用哪种编码方式需要的触发器最多?尽管使用的触发器最多,但是这种编码方式使得在状态比较时仅仅需要比较一个位,可能节省译码逻辑需要的片上资源。本题答案:【独热编码one-hot】2、【单选题】下面哪一种是one-hot编码本题答案:【0:00011:00102:01003:1000】3、【多选题】有限状态机的应用包括本题答案:【硬件电路控制器#网络协议#软件应用#编译器】4、【多选题】状态机的编码方式可以是()本题答案:【二进制编码Sequential#格雷码Gray#约翰逊码Johnson#独热编码one-hot】5、【多选题】哪种编码方式在相邻状态转换时只有一个状态位发生翻转本题答案:【格雷码Gray#约翰逊码Johnson】6、【多选题】选出摩尔型状态机本题答案:【modulefsm(inputclk,acc,brake,reset,output[1:0]speed);reg[1:0]state;reg[1:0]next_state;localparamSTOP=2b00;localparamLOW=2b01;localparamMEDIUM=2b10;localparamHIGH=2b11;//状态转换always@(posedgeclkorposedegreset)if(reset)state=STOP;elsestate=next_state;//次态计算always@(*)case(state)STOP:if(acc!brake)next_state=LOW;elsenext_state=STOP;LOW:if(brake)next_state=STOP;elseif(acc)next_state=MEDIUM;elsenext_state=LOW;MEDIUM:if(brake)next_state=LOW;elseif(acc)next_state=HIGH;elsenext_state=MEDIUM;HIGH:if(brake)next_state=MEDIUM;elsenext_state=HIGH;endcase//输出逻辑assignspeed=state;endmodule#modulefsm(inputclk,acc,brake,reset,output[1:0]speed);enumbit[3:0]{STOP=4b0001,LOW=4b0010,MEDIUM=4b0100,HIGH=4b1000,}state,next_state;always@(posedgeclkorposedegreset)if(reset)state=STOP;elsestate=next_state;always@(*)case(state)STOP:speed=2b00;if(acc!brake)next_state=LOW;elsenext_state=STOP;LOW:speed=2b01;if(brake)next_state=STOP;elseif(acc)next_state=MEDIUM;elsenext_state=LOW;MEDIUM:speed=2b10;if(brake)next_state=LOW;elseif(acc)next_state=HIGH;elsenext_state=MEDIUM;HIGH:speed=2b110;if(brake)next_state=MEDIUM;elsenext_state=HIGH;endcaseendmodule#modulefsm(inputclk,acc,brake,reset,output[1:0]speed);reg[1:0]state;localparamSTOP=2b00;localparamLOW=2b01;localparamMEDIUM=2b10;localparamHIGH=2b11;assignspeed=state;always@(posedgeclk)case(state)STOP:if(acc!brake)state=LOW;LOW:if(brake)state=STOP;elseif(acc)state=MEDIUM;MEDIUM:if(brake)state=LOW;elseif(acc)state=HIGH;HIGH:if(brake)state=MEDIUM;elsestate=HIGH;endcaseendmodule】7、【多选题】设计FSM应该注意()本题答案:【建议先画状态图再写代码#建议采用三段式结构#建议使用参数定义状态编码,状态名称尽量反映其含义#复位后状态机应该有一个确定的状态】8、【判断题】有限状态机FiniteStateMachine是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型,状态机应用范围很广,例如硬件电路系统设计。本题答案:【正确】9、【判断题】在数字电路中,可以使用逻辑逻辑门和触发器构建状态机。更具体地说,状态机是组合逻辑和时序逻辑的特殊组合,硬件实现上需要一个用来存储状态的寄存器(时序逻辑块),一个决定状态转换的组合逻辑块,以及一个决定状态机输出的组合逻辑块。本题答案:【正确】10、【判断题】摩尔Moore型状态机的输出仅取决于当前状态,即当输入信号有变化时,输出在整个状态期间保持不变本题答案:【正确】11、【判断题】米利Mealy型状态机的输出除了受当前状态影响,还直接受输入影响,因此输出变化可能出现在任何时刻本题答案:【正确】12、【判断题】以下是一个米利型状机modulefsm(inputclk,acc,brake,reset,output[1:0]speed);reg[1:0]state;reg[1:0]next_state;localparamSTOP=2b00;localparamLOW=2b01;localparamMEDIUM=2b10;localparamHIGH=2b11;//状态转换always@(posedgeclkorposedegreset)if(reset)state=STOP;elsestate=next_state;//次态计算always@(*)case(state)STOP:if(accamp;amp;!brake)next_state=LOW;elsenext_state=STOP;LOW:if(brake)next_state=STOP;elseif(acc)next_state=MEDIUM;elsenext_state=LOW;MEDIUM:if(brake)next_state=LOW;elseif(acc)next_state=HIGH;elsenext_state=MEDIUM;HIGH:if(brake)next_state=MEDIUM;elsenext_state=HIGH;endcase//输出逻辑assignspeed=state;endmodule本题答案:【错误】13、【判断题】SystemVerilog里可以使用枚举类型定义状态编码,关键字enum.本题答案:【正确】14、【判断题】参数化设计方法中,parameter和localparam定义的参数,在顶层模块中实例化时都可以传递到底层模块。本题答案:【错误】15、【判断题】以下是一个摩尔型状态机modulefsm(inputclk,acc,brake,reset,inputeasy,output[1:0]speed);reg[1:0]state;reg[1:0]next_state;localparamSTOP=2b00;localparamLOW=2b01;localparamMEDIUM=2b10;localparamHIGH=2b11;//状态转换always@(posedgeclkorposedegreset)if(reset)state=STOP;elsestate=next_state;//次态计算always@(*)case(state)STOP:if(accamp;amp;!brake)next_state=LOW;elsenext_state=STOP;LOW:if(brake)next_state=STOP;elseif(acc)next_state=MEDIUM;elsenext_state=LOW;MEDIUM:if(brake)next_state=LOW;elseif(acc)next_state=HIGH;elsenext_state=MEDIUM;HIGH:if(brake)next_state=MEDIUM;elsenext_state=HIGH;endcase//输出逻辑assignspeed=easy?2b01:state;endmodule本题答案:【错误】单元测验091、【多选题】选出正确的负数的4位补码与真值的对应关系H、补码:1001真值:-7本题答案:【补码:1101真值:-3#补码:1011真值:-5#补码:1000真值:-8#补码:1111真值:-1#补码:1100真值:-4#补码:1110真值:-2#补码:1010真值:-6#补码:1001真值:-7】2、【多选题】加减运算电路参考设计中,如果操作数{y3,y2,y1,y0}=4'b0101,选出下列描述正确的选项本题答案:【当M=0时,C0=0,{b3,b2,b1,b0}的值为0101#当M=1时,C0=1,{b3,b2,b1,b0}的值为1010】3、【多选题】加减运算电路参考设计中,ADDER模块将操作数A,B,C0的值相加,在提供的参考代码里可以看到:assignresult=A+B+C0;理解通过增加门电路逻辑使得加法器实现补码加减运算的原理。本题答案:【使运算电路的输出F=X+Y,要使M=0#使运算电路的输出F=X-Y,要使M=1】4、【多选题】对照标志位和真值,选出正确的描述。本题答案:【溢出标志OF是按照补码的运算结果设置的;进位标志CF是按照无符号数运算的结果设置的。#如果运算数是无符号数,运算结果是否溢出是C反映的;如果运算数是有符号补码数,运算结果是否溢出是由O反映的。】5、【多选题】4位二进数制能表示数值的范围是_____。本题答案:【4位补码能表示数值范围是-8~+7#4位无符号数能表示数值的范围是0-15】6、【多选题】减法运算是转换为加法计算的,设置M=1,F=X-Y,此时:本题答案:【A=X#B=Y的反#C0=1】7、【多选题】实验任务加减电路,使用与或门构成数据选择器,通过M2M1M0三个控制可以实现多种运算功能,选出对应关系正确的描述:本题答案:【M2=0,M1=0,M0=0传送X(MOV),实现F=X#M2=0,M1=0,M0=1加法(ADD),实现F=X+Y#M2=1,M1=1,M0=0减法(SUB),实现F=X-Y#M2=1,M1=0,M0=0加1(INC),实现F=X+1】8、【多选题】验证加减运算电路,令运算电路做做加法运算F=X+Y,将运算数和运算结果视为无符号数,分析运算数和运算结果的真值?H、运算操作数:1100+0101,对应的运算数和结果真值:12+5=1,进位标志为1I、运算操作数:0011+1011,对应的运算数和结果真值:3+11=14J、运算操作数:1000+1000,对应的运算数和结果真值:8+8=0,零标志为1,进位标志为1本题答案:【运算操作数:1000+0001,对应的运算数和结果真值:8+1=9#运算操作数:1101+1100,对应的运算数和结果真值:13+12=9,进位标志为1#运算操作数:0100+0010,对应的运算数和结果真值:4+2=6#运算操作数:0000+0000,对应的运算数和结果真值:0+0=0,零标志为1#运算操作数:1111+0001,对应的运算数和结果真值:15+1=0,进位标志为1,零标志为1#运算操作数:0011+0101,对应的运算数和结果真值:3+5=8#运算操作数:1100+1011,对应的运算数和结果真值:12+11=7,进位标志为1#运算操作数:1100+0101,对应的运算数和结果真值:12+5=1,进位标志为1#运算操作数:0011+1011,对应的运算数和结果真值:3+11=14#运算操作数:1000+1000,对应的运算数和结果真值:8+8=0,零标志为1,进位标志为1】9、【多选题】验证加减运算电路,令运算电路做做加法运算F=X+Y,将运算数和运算结果视为补码,分析运算数和运算结果的真值。H、运算操作数:1100+0101对应的运算数和结果真值:(-4)+5=1I、运算操作数:0011+1011对应的运算数和结果真值:3+(-5)=-2,负标志为1J、运算操作数:1000+1000对应的运算数和结果真值:(-8)+(-8)=0,零标志为1,溢出标志为1本题答案:【运算操作数:1000+0001对应的运算数和结果真值:-8+1=-7,负标志为1#运算操作数:1101+1100对应的运算数和结果真值:(-3)+(-4)=-7,负标志为1#运算操作数:0100+0010对应的运算数和结果真值:4+2=6#运算操作数:0000+0000对应的运算数和结果真值:0+0=0,零标志为1#运算操作数:1111+0001对应的运算数和结果真值:(-1)+1=0,零标志为1#运算操作数:1100+1011对应的运算数和结果真值:(-4)+(-5)=+7,溢出标志为1#运算操作数:1100+0101对应的运算数和结果真值:(-4)+5=1#运算操作数:0011+1011对应的运算数和结果真值:3+(-5)=-2,负标志为1#运算操作数:1000+1000对应的运算数和结果真值:(-8)+(-8)=0,零标志为1,溢出标志为1】10、【填空题】验证加减运算电路,使运算电路的输出F=X+Y,根据加法运算的结果分析标志位生成:标志Z(ZeroFlag)的生成和_____(F/C/F及C)有关本题答案:【F】11、【填空题】验证加减运算电路,使运算电路的输出F=X+Y,根据加法运算的结果分析标志位生成:溢出标志O(OverFlag)和进位标志C_____(有/没有)直接的联系。本题答案:【没有】12、【填空题】运算器电路是否知道运算数是有符号数还是无符号数?_____(是/否)本题答案:【否】13、【填空题】验证加减运算电路,使运算电路的输出F=X+Y,根据加法运算的结果分析标志位生成:负标志S(SignFlag)就是运算结果的_____(最高位/最低位)。本题答案:【最高位】14、【填空题】验证加减运算电路,使运算电路的输出F=X+Y,根据加法运算的结果分析标志位生成:进位标志C(Carryout)为1时表示,加法运算_____(有/没有)进位。本题答案:【有】15、【填空题】验证加减运算电路,使运算电路的输出F=X-Y,根据减法运算的结果分析标志位生成:进位标志C(Carryout)为1时表示,减法运算_____(有/没有)借位。本题答案:【有】单元测验101、【多选题】参考设计中的ALU可以实现哪些运算?本题答案:【传送F=X#加法F=X+Y#减法F=X-Y#与F=X&Y#或F=X|Y#异或F=X^Y#取反F=~X】2、【多选题】异或门常用于可控取反电路,选出正确的描述。本题答案:【任意二进制位x,与1异或,结果是它相反数。#任意二进制位x,与0异或,结果是它本身。】3、【判断题】运算器是CPU的重要组成部分,各种计算机的运算器结构可能有这样或那样的不同,但是它们的最基本结构中必须有算术/逻辑运算单元ALU,运算器的设计,主要围绕着ALU和寄存器同数据总线之间如何传送操作数和运算结果而进行。本题答案:【正确】4、【填空题】补码表示中,对于任意整数x,计算表达式-x和计算x取反+1得到的结果,____(完全一样/不完全一样)。本题答案:【完全一样】5、【填空题】字长4位的补码加法,运算数的范围在-8~7之间。通过实验可以发现:当x+y-8时,补码加法会负溢出,导致和增加了______(填写10进制值);当-8=x+y=8时,加法产生正确的结果;当x+y=8,加法就会正溢出,使得和减少了______(数值同上一空)。当x0,y0,加法结果=0,可判断产生了正溢出;当x0,y0,加法结果=0,可判断产生了负溢出。本题答案:【16】6、【填空题】计算机中的机器字长往往是固定的,当机器数右移n位时,必然会使其n位高位出现空位,空出的空位应该添补0还是1,与机器数采用带符号数还是无符号数有关,对带符号数的移位称为______(算术/逻辑移位)。本题答案:【算术】7、【填空题】实验任务设计的ALU在实验系统上验证,设{x3,x2,x1,x0}=1010,{y3,y2,y1,y0}=0010,ALUop=0111;此时观察到的{f3,f2,f1,f0}=____。本题答案:【1000】8、【填空题】实验任务设计的ALU在实验系统上验证,设{x3,x2,x1,x0}=1010,{y3,y2,y1,y0}=0010,ALUop=1000;此时观察到的{f3,f2,f1,f0}=____。本题答案:【0010】9、【填空题】实验任务设计的ALU在实验系统上验证,设{x3,x2,x1,x0}=1010,{y3,y2,y1,y0}=0010,ALUop=0110;此时观察到的{f3,f2,f1,f0}=____。本题答案:【1110】10、【填空题】实验任务设计的ALU在实验系统上验证,设{x3,x2,x1,x0}=0101,{y3,y2,y1,y0}=0110,ALUop=0011;此时观察到的{f3,f2,f1,f0}=____。本题答案:【0100】11、【填空题】实验任务设计的ALU在实验系统上验证,设{x3,x2,x1,x0}=0101,{y3,y2,y1,y0}=0010,ALUop=0100;此时观察到的{f3,f2,f1,f0}=____。本题答案:【0111】12、【填空题】实验任务设计的ALU在实验系统上验证,设{x3,x2,x1,x0}=0101,{y3,y2,y1,y0}=0010,ALUop=0101;此时观察到的{f3,f2,f1,f0}=____。本题答案:【0011】单元测验111、【多选题】在单周期数据通路的设计任务中,将数据1001存入R1寄存器,在按下时钟clk之前,需要的操作包括()H、ALUop=0001本题答案:【开关数据拨为1001#操作MUX多路器的控制信号,选择1号通道的值输出#RA1=00#WA=01#WE=1#ALUop=0001】2、【多选题】在单周期数据通路中,完成R1R2-R3,在按下时钟clk前,需要的操作包括()H、ALUop=0011I、ALUop=0001本题答案:【操作MUX多路器的控制信号,选择0号通道的值输出#RA1=01#RA2=10#WA=11#WE=1#ALUop=0011】3、【多选题】对于systemverilog语法中包的描述正确的包括:本题答案:【包通常写在一个独立文件中,当需要引用包中的声明时,可以使用include包含进来;#包使用package开头,endpackage结尾;#多个模块可以共用包中的声明;】4、【多选题】对于参考设计中给出的包声明,引用包可以使用作用域运算符::,能够正确导入枚举元素ADD的选项是?packagealu_defs;typedefstructpacked{logicsign;logiczero;logicoverflow;logiccarryout;}t_flag;enumlogic[3:0]{ADD=4'b0001,SUB=4'b0010,AND=4'b0011,OR=4'b0100,XOR=4'b0101,SAR=4'b0110,SHL=4'b0111,SHR=4'b1000}aluop;endpackage本题答案:【importalu_defs::ADD#importalu_defs::*】5、【多选题】在单周期数据通路的设计任务中,完成R1+(1100)-R3,在按下时钟clk前,需要的操作包括()H、ALUop=0001I、ALUop=0011本题答案:【操作MUX多路器的控制信号,选择1号通道的值输出#开关数据拨为1100#RA1=01#WA=11#ALUop=0001】6、【多选题】假设当前R1=1100,R2=0010,如果要使R3=1111,在按下时钟clk之前,需要的操作包括()H、WA=11I、WE=1本题答案:【操作MUX多路器的控制信号,选择0号通道的值输出#RA1=01#RA2=10#ALUop=0110#WA=11#WE=1】7、【多选题】在单周期数据通路的设计任务中,将R1寄存器的内容逻辑左移2位,在按下时钟clk之前,需要的操作包括()H、操作MUX多路器的控制信号,选择1号通道的值输出I、RA1=00J、WA=11K、ALUop=0001本题答案:【操作MUX多路器的控制信号,选择0号通道的值输出#RA1=01#DATA=0010#WA=01#WE=1#ALUop=0111】8、【填空题】在单周期数据通路中,因为寄存器堆设计____(R0/R1/R2/R3)寄存器的值恒为0,因此可以通过ALU,令DATA加上该寄存器的值,将DATA传送到寄存器堆的写端口。本题答案:【R0】9、【填空题】systemverilog在模块实例化时,如果模块中的信号名与子模块中的端口名完全一致,可以使用隐式端口连接____来简化表达。本题答案:【.*】10、【填空题】结构体数据类型如果使用______修饰符,那该结构体的成员即可以以成员名引用,也可以以向量的方式引用。本题答案:【packed】单元测验121、【单选题】常数可以用简单的十进制数格式书写,也可以按基数格式书写[size]basevaluesize是位宽,base是基数,value是基于base的值的数字序列:o或O表示八进制b或B表示二进制d或D表示十进制h或H表示十六进制下面不正确的描述是()本题答案:【5O28】2、【单选题】存储器可以由reg变量组成的数组描述,例如:reg[0:3]MEM[0:63];表示MEM是一个由64个4位reg变量组成的数组。下面赋值中错误的是()。本题答案:【reghold_gnt[1:5];hold_gnt=5'b11011;】3、【单选题】是()运算符,表达式16的结果是()。本题答案:【左移,32'b100000】4、【单选题】**是()运算符,表达式2**8的值是()?本题答案:【求幂,256】5、【单选题】下面对局部参数的说明错误的是()本题答案:【实例引用该模块时,可以通过参数传递对局部参数进行修改】6、【单选题】实验任务1要求设计一个16*8的ROM实现七段译码器,用存储器的____位地址作为七段译码器的____,相应存储单元的____位数据作为七段译码器的____,每个存储单元中初始化为字符的____.本题答案:【4,数据输入,8,译码输出,数码管段码】7、【单选题】实验任务2用32*32的RAM实现寄存器堆,选出合适的存储器描述本题答案:【localparamMEMDEPTH=15logic[31:0]mem[MEMDEPTH-1]】8、【多选题】小结使用FPGA片内存储资源设计存储器,有哪些特点H、读出需要时钟本题答案:【不占用逻辑资源#可生成的容量较大#较好保证存储器性能#读出需要时钟】9、【判断题】使用IntelFPGA设计逻辑电路时,存储器的不同描述方法对FPGA资源的利用不同,可以在综合报告中查看资源的使用情况,FPGA内部有专门的存储资源,设计时建议使用FPGA存储资源。本题答案:【正确】10、【判断题】下面的两种存储器的描述方法:方法1moduleRAM#(parameterADDRWIDTH=6,parameterDATAWIDTH=32)(inputwireiclk,iWR,inputwire[5:0]iAddress,inputiWriteData,outputoReadData);localparamMEMDEPTH=1ADDRWIDTH;logic[DATAWIDTH-1:0]mem[0:MEMDEPTH-1];always_ff@(posedgeiclk)beginif(iWR)mem[iAddress]=iWriteData;endassignoReadData=mem[iAddress];endmodule方法2moduleRAM#(parameterADDRWIDTH=6,parameterDATAWIDTH=32)(inputwireiclk,iWR,inputwire[5:0]iAddress,inputiWriteData,outputoReadData);localparamMEMDEPTH=1ADDRWIDTH;logic[DATAWIDTH-1:0]mem[0:MEMDEPTH-1];logic[DATAWIDTH-1:0]read_addr;always_ff@(posedgeiclk)beginread_addr=iAddress;if(iWR)mem[iAddress]=iWriteData;endassignoReadData=mem[read_addr];endmodule第一种描述方法会消耗较多FPGA逻辑资源;第二种描述方法会使用FPGA内部存储资源。本题答案:【正确】11、【判断题】initial语句可用于给存储器设置初值本题答案:【正确】12、【判断题】logic[DATAWIDTH-1:0]mem[0:MEMDEPTH-1];下面的initial语句块中,使用系统函数从把文件内容读出,填入mem数值,这个文件的值是使用2进制表示的。initialbegin$readmemh(init_mem.txt,mem);end本题答案:【错误】单元测验131、【判断题】实验电路中,指令存储器是只读存储器,字长是14位,有16个存储单元,可以存放16条指令。本题答案:【正确】2、【判断题】实验指令系统,指令格式编码分为5个字段,opcode字段:instruction[15:0]第一个源操作数寄存器:instruction[9:8]第二个源操作数寄存器:instruction[7:6]目的操作数寄存器:instruction[5:4]立即数字段:instruction[3:0]本题答案:【错误】3、【判断题】实验电路中,指令的执行包括取指令、取操作数、执行、保存结果。R型指令的执行过程:(1)取指令:指令地址寄存器PC提供指令地址,指令存储器中读出指令,取到指令后,控制器需要根据指令编码,译码产生指令执行过程中需要的控制信号,保证指令执行;(2)取操作数:寄存器堆根据指令提供的源操作数寄存器号,读出源操作数rs1和rs2;(3)执行:多路器根据控制器产生的选择控制信号,把源操作数rs2送到ALU,ALU根据控制器产生的运算控制信号,确定功能,对rs1和rs2执行操作;(4)保存结果:寄存器堆根据控制器产生的写控制信号,保存ALU的结果到rd,PC自增。本题答案:【正确】4、【判断题】实验电路中,指令的执行包括取指令、取操作数、执行、保存结果。I型指令的执行过程(1)取指令:指令地址寄存器PC提供指令地址,指令存储器中读出指令,取到指令后,控制器需要根据指令编码,产生指令执行过程中需要的控制信号,保证指令执行;(2)取操作数:寄存器堆根据指令提供的源操作数寄存器号,读出源操作数rs1和rs2;(3)执行:多路器根据控制器产生的选择控制信号,把源操作数rs2送到ALU,ALU根据控制器产生的运算控制信号,对rs1和imm执行操作;(4)保存结果:寄存器堆根据控制器产生的写控制信号,保存ALU的结果到rd,PC自增。本题答案:【错误】5、【判断题】实验电路中,指令的执行包括取指令、取操作数、执行、保存结果。B型指令的执行过程(1)取指令:指令地址寄存器PC提供指令地址,指令存储器中读出指令,取到指令后,控制器需要根据指令编码,产生指令执行过程中需要的控制信号,保证指令执行;(2)取操作数:寄存器堆根据指令提供的源操作数寄存器号,读出源操作数rs1和rs2;(3)执行:多路器根据控制器产生的选择控制信号,把源操作数rs2送到ALU,ALU根据控制器产生的运算控制信号,确定功能,对rs1和rs2执行操作;(4)保存结果:寄存器堆根据控制器产生的写控制信号,保存ALU的结果到rd,两个源操作数的比较结果,决定PC是装载imm表示的转移地址,还是PC自增。本题答案:【错误】6、【填空题】根据实验指令系统,将汇编语言程序翻译为机器指令程序。addir1,r0,#1对应的二进制机器指令为:________.(答案格式:二进制表示,无效字段填0,不要包含空格、下划线等其它符号)本题答案:【01100000010001】7、【填空题】根据实验指令系统,将汇编语言程序翻译为机器指令程序addir3,r0,#1对应的二进制机器指令为:________.(答案格式:二进制表示,无效字段填0,不要包含空格、下划线等其它符号)本题答案:【01100000110001】8、【填空题】根据实验指令系统,将汇编语言程序翻译为机器指令程序orir2,r0,#5对应的二进制机器指令为:________.(答案格式:二进制表示,无效字段填0,不要包含空格、下划线等其它符号)本题答案:【10000000100101】9、【填空题】根据实验指令系统,将汇编语言程序翻译为机器指令程序bger1,r2,#6对应的二进制机器指令为:________.(答案格式:二进制表示,无效字段填0,不要包含空格、下划线等其它符号)本题答案:【11010110000110】10、【填空题】根据实验指令系统,将汇编语言程序翻译为机器指令程序subr2,r2,r3对应的二进制机器指令为:________.(答案格式:二进制表示,无效字段填0,不要包含空格、下划线等其它符号)本题答案:【00101011100000】11、【填空题】根据实验指令系统,将汇编语言程序翻译为机器指令程序beqx0,x0,#3对应的二进制机器指令为:________.(答案格式:二进制表示,无效字段填0,不要包含空格、下划线等其它符号)本题答案:【10100000000011】12、【填空题】根据实验指令系统,将汇编语言程序翻译为机器指令程序beqx0,x0,#6对应的二进制机器指令为:________.(答案格式:二进制表示,无效字段填0,不要包含空格、下划线等其它符号)本题答案:【10100000000110】单元作业13单元测验131、【多选题】指令集是CPU中用来计算和控制计算机系统的一套指令的集合,例如:本题答案:【X86#MIPS#RISC-V#LoongArch#Alpha#ARM】2、【多选题】RISC(ReducedInstructionSetComputing,精简指令集)通过减少指令种类、规范指令格式和简化寻址方式,保持指令集的小而简单,使它更容易建立快速的硬件,复杂的操作由软件组合简单的操作来完成,RISC指令集例如:本题答案:【MIPS#RISC-V#LoongArch#Alpha#ARM】3、【多选题】了解RISC-V,选中描述正确的选项。本题答案:【RISC-V,2010年初由加州大学伯克利分校开发。#寄存器是硬件设计的基本元素,是计算机构建的砖块,当前RISC-V寄存器数为32个,以及一个程序计数器PC。#RISC-V简化指令系统体系结构,将x0寄存器硬连线到常数0。#RV32I的指令格式包括R,I,S,U,B,J六种类型。】4、【多选题】RISC-V指令系统划分为命名为I的基本体系结构(basearchitecture),以及几个扩展(extension)体系结构,例如:本题答案:【M,整数乘法/除法#A,原子操作#F,单精度浮点#D,双精度浮点#C,压缩指令】5、【多选题】熟悉开源软件Ripes的编辑器和汇编器的使用本题答案:【点击Editor标签,可以在sourcecode栏编写汇编语言程序,语法正确的汇编指令,会在右边的executablecode栏显示对应汇编语言的机器指令。#如果输入语法错误的汇编指令,该指令下方会有红色波浪标记线提示,且该指令不会出现在executablecode栏】6、【多选题】熟悉开源软件Ripes的RISC-V模拟器的使用本题答案:【通过工具栏”selectprocessor“图标,打开的窗口中可以进行RISC-V处理器选择。#图示中与指令运行相关的工具按钮从左到右的顺序依次分别表示:复位撤消一个时钟产生一个时钟以设定的时间间隔自动产生时钟快速运行#点击processor标签,打开的数据通路中,绿色点表示有效的信号或者选择的通路,红色点表示无效】7、【判断题】使用Ripe模拟器调试指令addix18,x0,0x555以下是对该条指令执行的描述:1.复位后,PC的值是0;2.从指令存储器InstrMemory的输出Instr观察到数据0x55500913H;3.Registers的WrEn信号有效,该信号的标记显示为绿色;4.Registers的R1idx=0x00H,因此Reg1读出寄存器x0的值,参与ALU运算;5.Registers的WridxA=0x12H,即十进制的18,表示有数据要写入x18寄存器中;6.立即数生成模块Imm给ALU提供运算数0x00000555H;7.不生产转移控制信号Branchtaken,该信号的标记显示为红色;8.不产生数据存储器Datamemory写控制信号WrEn,该信号的标记显示为红色;9.ALU的运算结果0x00000555H写入x18寄存器中;10.NextPC=PC+4。本题答案:【正确】8、【判断题】使用Ripe模拟器调试指令swx18,8(x3)调试指令swx18,8(x3)以下是对该条指令执行的描述:1.从指令存储器InstrMemory的输出Instr观察到数据0x0121a423H;2.Registers的WrEn信号无效,该信号的标记显示为红色;3.Registers的R1idx=0x03H,因此Reg1读出寄存器x3的值,参与ALU运算;4.Registers的R2idx=0x12H,因此Reg2读出寄存器x12的值,参与ALU运算;5.立即数生成模块Imm给ALU提供运算数0x00000008H;6.不生产转移控制信号Branchtaken,该信号的标记显示为红色;7.产生数据存储器Datamemory写控制信号WrEn,该信号的标记显示为绿色;8.数据存储器Datain端口的数据将被保存到Addr地址端口指示的单元中;9.ALU的运算结果0x10000008H用来给数据存储器提供地址;10.NextPC=PC+4。本题答案:【错误】9、【判断题】使用Ripe模拟器调试指令lwx19,8(x3)以下是对该条指令执行的描述:1.从指令存储器InstrMemory的输出Instr观察到数据0x0081a983H;2.Registers的WrEn信号有效,该信号的标记显示为绿色;3.Registers的R1idx=0x03H,因此Reg1读出寄存器x3的值0x10000000H,参与ALU运算;4.Registers的WridxA=0x13H,即十进制的19,表示有数据要写入x19寄存器中;5.立即数生成模块Imm给ALU提供运算数0x00000008H;6.不生产转移控制信号Branchtaken,该信号的标记显示为红色;7.不产生数据存储器Datamemory写控制信号WrEn,该信号的标记显示为红色;8.ALU的运算结果0x100000008H用来给数据存储器Datamemory提供地址;9.数据存储器Datamemory的地址为0x100000008H的单元中的数据,写入x19寄存器中;10.NextPC=PC+4。本题答案:【正确】10、【判断题】使用Ripe模拟器调试指令orx20,x18,x19以下是对该条指令执行的描述:1.从指令存储器InstrMemory的输出Instr观察到数据0x01396a33H;2.Registers的WrEn信号有效,该信号的标记显示为绿色;3.Registers的R1idx=0x12H,因此Reg1读出寄存器x18的值,参与ALU运算;4.Registers的R2idx=0x13H,因此R

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论