基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第六章:移位寄存器

简介: 基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第六章:移位寄存器

1多选(3分)

选出右移移位寄存器

得分/总分

A.

module Shifter
( input Dsi,
input CLK,
output reg [3:0] Q);
always@(posedeg clk)
begin
 Q[3]<= Dsi;
 Q[2]<=Q[3];
 Q[1]<=Q[2];
 Q[0]<=Q[1];
end 

B.

module Shifter
( input Dsi,
input CLK,
output reg [0:3] Q);
always@(posedeg clk)
 Q[0:3]<={ Dsi,Q[0:2]};
endmodule

C.

module Shifter
(input Dsi,
input [3:0] In,
input CLK,
output reg [3:0] Q);
always@(posedeg clk)
 if(Load)
 Q<= In;
 else
 Q<={Dsi,Q[3:1]};
endmodule

D.

module Shifter
( input Dsi,
input CLK,
output reg [0:3] Q);
always@(posedeg clk)
begin
 Q[0]<= Dsi;
 Q[1]<=Q[0];
 Q[2]<=Q[1];
 Q[3]<=Q[2];
 end 
endmodule

正确答案:A、B、C、D

2填空(2分)

使用远程实验平台虚拟面板验证流水灯

根据设计要求,并行装载是将输入端数据装入到移位寄存器,并行装载的时钟全能信号是________(iLoad/iEnable)。右移的时钟使能信号是________(iLoad/iEnable)。

注意,多个填空的答案之间用#隔开,例如:三个空,答案填写为:0#有#更新

得分/总分

iLoad#iEnable

正确答案:iLoad#iEnable

3填空(2分)

使用远程实验平台虚拟面板验证流水灯

本实验设计的流水灯移位寄存器是将移位寄存器________(内部保存的数据Q/输入端数据iD)移位。

得分/总分

内部保存的数据Q

正确答案:内部保存的数据Q

4填空(2分)

使用远程实验平台虚拟面板验证流水灯

在时钟上升沿到来时,如果并行装载和右移的控制信号同时有效,该流水灯的功能是________(并行载入/右移)。

得分/总分

并行载入

正确答案:并行载入

5填空(2分)

如果想实现逻辑右移,需要将________(0/1/Q[7]/Q[0])连接到iLeftIn。

得分/总分

0

正确答案:0

6填空(2分)

如果想实现算术右移,需要将________(0/1/Q[7]/Q[0])连接到iLeftIn。

得分/总分

Q[7]

正确答案:Q[7]

7填空(2分)

如果想实现循环右移,需要将________(0/1/Q[7]/Q[0])连接到iLeftIn。

得分/总分

Q[0]

正确答案:Q[0]

实验代码

module RightShifter
#(parameter N=4)
(
  input logic Clk,
  input logic Reset,
  input logic iLoad,
  input logic iEnable,
  input logic iLeftIn,
  input logic [N-1:0] iD,
  output logic [N-1:0] oQ
);
always @(posedge Clk or posedge Reset)
  if(Reset)
    oQ<=1;
  else if(iLoad)
    oQ<=iD[N-1:0];
  else if(iEnable)
    oQ<={oQ[0],oQ[N-1:1]}; 
endmodule
`default_nettype none 
module VirtualBoard (
    input  logic  CLOCK,      // 10 MHz Input Clock 
    input  logic [19:0] PB,   // 20 Push Buttons, logical 1 when pressed
    input  logic [35:0] S,    // 36 Switches
    output logic [35:0] L,    // 36 LEDs, drive logical 1 to light up
    output logic  [7:0] SD7,  // 8 common anode Seven-segment Display
    output logic  [7:0] SD6,
    output logic  [7:0] SD5,
    output logic  [7:0] SD4,
    output logic  [7:0] SD3,
    output logic  [7:0] SD2,
    output logic  [7:0] SD1,
    output logic  [7:0] SD0
); 
/** The input port is replaced with an internal signal **/
wire reset = PB[0];
wire clk   = PB[1];
wire Load  =S[8];
wire [7:0] In=S[7:0];
wire Enable=S[9];
/************* The logic of this experiment *************/
logic [7:0]q;
localparam N = 8;
RightShifter #(N) R0(.Clk(clk),.Reset(reset),.iLoad(Load),.iEnable(Enable),.iD(In),.oQ(q),.iLeftIn(q[0]));
always @ (posedge clk or posedge reset)
  if (Load)
    q<=In;
  else if (reset)
    q <= 1;
  else
    q <= {q[6:0], q[7]};
/****** Internal signal assignment to output port *******/
assign L[7:0] = q[7:0];
endmodule


目录
相关文章
|
人工智能 并行计算 openCL
魔搭+Xinference 平台:CPU,GPU,Mac-M1多端大模型部署
随着 Llama2 的开源,以及通义千问、百川、智谱等国内大模型的问世,很多用户有了本地部署去尝试大模型的需求,然而硬件的需求阻碍了很多人的尝试,并不是所有人都拥有一块英伟达显卡的,所以 Llama2 问世不久,大神 Andrej Karpathy 的一个 weekend project 爆火——llama2.c。
魔搭+Xinference 平台:CPU,GPU,Mac-M1多端大模型部署
|
22天前
|
存储 编译器 数据安全/隐私保护
【C++面向对象——类与对象】CPU类(头歌实践教学平台习题)【合集】
声明一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,以及两个公有成员函数run、stop。根据提示,在右侧编辑器补充代码,平台会对你编写的代码进行测试。​ 相关知识 类的声明和使用。 类的声明和对象的声明。 构造函数和析构函数的执行。 一、类的声明和使用 1.类的声明基础 在C++中,类是创建对象的蓝图。类的声明定义了类的成员,包括数据成员(变量)和成员函数(方法)。一个简单的类声明示例如下: classMyClass{ public: int
41 13
|
7月前
汇编语言(第四版) 实验一 查看CPU和内存,用机器指令和汇编指令编程
汇编语言(第四版) 实验一 查看CPU和内存,用机器指令和汇编指令编程
118 1
|
6月前
|
机器学习/深度学习 TensorFlow API
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
|
8月前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能平台PAI产品使用合集之如何在CPU服务器上使用PAIEasyRec进行分布式训练
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
Ubuntu 网络虚拟化 Windows
国产化之虚拟ARM64-CPU安装银河麒麟操作系统
国产化之虚拟ARM64-CPU安装银河麒麟操作系统
1590 0
|
缓存
CPU、处理器、内存、外存、寄存器、缓存的区别
CPU、处理器、内存、外存、寄存器、缓存的区别
1662 0
|
存储
ICS TRIPLEX T8461 创建额外的虚拟或逻辑CPU
ICS TRIPLEX T8461 创建额外的虚拟或逻辑CPU
115 0
ICS TRIPLEX T8461 创建额外的虚拟或逻辑CPU
|
前端开发 rax
实验一:查看CPU和内存,用机器指令和汇编指令编程
实验一:查看CPU和内存,用机器指令和汇编指令编程
230 0
|
弹性计算 固态存储
阿里云服务器的vCPU是什么意思?虚拟CPU?
阿里云服务器的vCPU是什么意思?虚拟CPU?阿里云服务器vCPU和CPU是什么意思?CPU和vCPU有什么区别?一台云服务器ECS实例的CPU选项由CPU物理核心数和每核线程数决定,CPU是中央处理器,一个CPU可以包含若干个物理核,通过超线程HT(Hyper-Threading)技术可以将一个物理核变成两个逻辑处理核。vCPU(virtual CPU)是ECS实例的虚拟处理核。云服务器吧来详细说下阿里云服务器CPU和vCPU的区别:
2224 0

热门文章

最新文章