基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第三章:三态门和多路器

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第三章:三态门和多路器

1判断(2分)

数字逻辑电路有两大种类型,组合逻辑电路和时序逻辑电路,组合逻辑电路“没有记忆”,输出由输入决定,时序逻辑电路“有记忆”,输出由当前输入和以前的状态有关。

A.√

B.×

正确答案:A

2判断(2分)

assign引导的持续赋值语句,可以描述组合逻辑电路和时序逻辑电路

得分/总分

A.√

B.×

正确答案:B

解析:assign只能描述组合逻辑电路

3判断(2分)

硬件描述语句多条语句之间没有顺序,是由CPU并行执行的。

得分/总分

A.√

B.×

正确答案:B

解析:前半句正确,后半句错误,Verilog语句描述电路的结构和行为,并没有CPU执行它

4判断(2分)

{ }是拼接运算符,用于将若干个信号的某些位拼接起来,例如:

wire [3:0] s;
wire [4:0] d;
d={1,s};

得分/总分

A.√

B.×

正确答案:B你选对了

解析:拼接的每个部分必须有确定的位宽,例子中的常数1应该表明位宽,例如1’b1

5判断(2分)

if-else语句和case语句,只能写在always语句块里

得分/总分

A.√

B.×

正确答案:A

6判断(2分)

if-elsecase语句都可以实现分支结构,

if-else语句有优先级,生成串行结构,延迟相等

case语句描述并行结构,电路延迟大。

得分/总分

A.√

B.×

正确答案:B你选对了

解析:表述反了,case语句等延迟

7单选(2分)

以下代码描述的分别是?

assign c = ~ (a&b);
assign d = (a^b)

得分/总分

A.或门,同或门

B.与非门,异或门2.00/2.00

C.与门,或门

D.或非门,异或门

正确答案:B

8单选(2分)

Verilog HDL中在always语句块中被赋值的信号,应该申明为______类型。

得分/总分

A.wire

B.reg2.00/2.00

C.logic

D.都可以

正确答案:B

9单选(2分)

普通逻辑门的输出______连接在一起;三态门的输出______连接在一起;三态门的输出有______种状态,通过使能端控制,可以用于输出总线。

得分/总分

A.可以,可以,3

B.可以,不可以,3

C.不可以,可以,3

D.不可以,可以,4

正确答案:C

10单选(2分)

使用持续赋值语句可以描述三态门如下:

input En,Din;
output Dout;
assign Dout=En? Din : 1’bz; 

En1 11时,Dout=______,

En0 00时,Dout=______.

得分/总分

A.Din,1

B.高阻态,1

C.Din,高阻态2.00/2.00

D.高阻态,Din

正确答案:C你选对了

11单选(2分)

多路器的功能是从多个输入中选择________输出 ,使用持续赋值语句assign Y = S ? A : B; 可以描述一个________选________的多路器。

得分/总分

A.一个,3,1

B.一个,2,1

C.多个,3,1

D.多个,2,1

正确答案:B你选对了

12单选(2分)

在Verilog HDL中,表示a等于b,应该写为a ______b

得分/总分

A.=

B.!=

C.< >

D.==

正确答案:D你选对了

13多选(3分)

语法格式{repetition_number { expr1,expr2,...,exprN} }表示复制操作,找出与{2{a,b } }结果相同的表达式

得分/总分

A.{2,a,b}

B.{{a,b},{a,b}}

C.{a,a,b,b}

D.{a,b,a,b}

正确答案:B、D

14多选(3分)

从下面选出4选1多路器的描述

得分/总分

A.

module labx
( output [3:0] S,
output CO,
input [3:0] A,B,
input CI);
assigan {CO,S[3:0]}=A+B+CI;
endmodule

B.

module labx
( input In0,In1,In2,IN3,
input [1:0] Sel,
output logic Out);
always_comb
case(Sel)
2'b00: Out=In0;
2'b01: Out=In1;
2'b10: Out=In2;
2'b11: Out=In3;
default: Out=1'bx;
endcase
endmodule1.00/3.00

C.

module labx
( input In0,In1,In2,IN3,
input [1:0] Sel,
output logic Out);
always_comb
if (Sel==0)
Out=In0;
else if (Sel==1)
Out=In1;
else if (Sel==2)
Out=In2;
else if (Sel==3)
Out=In3;
else
Out=1'bx;
endmodule

D.

module labx
( input In0,In1,In2,IN3,
input [1:0] Sel,
output logic Out);
assign Out = ( Sel==0) ? In0: (( Sel==1) ? In1:(( Sel==2) ? In2: (( Sel==3) ? In3: 1'bx )));
endmodule

正确答案:B、C、D

15多选(3分)

a和b是位宽为4的向量,a的值为“1010”,b的值为“0101”,值为“1111”的表达式是()

得分/总分

A.~a

B.a&b

C.a|b

D.a^b

正确答案:C、D

16多选(3分)

在过程赋值语句always语句块里赋值,称为过程赋值,always@ 后面的括号里是敏感列表,如下用持续赋值语句描述了一个异或门电路,与它等价的过程赋值语句是()

input wire a,b;
output wire c;
assign c = a^b;

得分/总分

A.

input wire a,b;
output reg c;
always@(a,b)
 assign c = a^b;

B.

input wire a,b;
output wire c;
always@(a and b)
 assign c = a^b;

C.

input wire a,b;
output reg c;
always@ *
 assign c = a^b;

D.

input wire a,b;
output logic c;
always_comb
 assign c = a^b;

正确答案:A、C、D

17多选(3分)

‏总线遵循分时共享原则,选出正确的描述。‌

得分/总分

A.为了实现总线的分时使用,三态缓冲器是实现总线分时使用必不可少的逻辑元件。同一时刻可以有一个部件向总线输出数据。

B.三态缓冲器像一扇阻隔逻辑部件输出的门,当输出使能有效,三态门打开,数据输出到总线上;当输出使能无效时,三态门隔断逻辑部件的数据输出,输出1。

C.三态缓冲器输出高阻态时,不影响总线的状态。

D.在该实验实现中,根据验证结果,推断总线冲突时,总线的数据是“与”运算的结果。

正确答案:A、C、D

18多选(3分)

使用远程实验平台虚拟面板验证三态门电路的功能

准备好数据开关,令DATA0=001,DATA1=010,DATA2=100,选出正确的描述。

得分/总分

A.当OE0=0;OE1=0;OE2=0; 输出使能无效,数据开关的值无法传输到总线,总线的值显示为111;

B.当OE0=1;OE1=0;OE2=0;

数据开关DATA0的值传输到总线,总线的值显示为001。

C.当OE0=0;OE1=1;OE2=0;

数据开关DATA1的值传输到总线,总线的值显示为010。

D.当OE0=0;OE1=0;OE2=1;

数据开关DATA2的值传输到总线,总线的值显示为100

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

19多选(3分)

‎使用远程实验平台虚拟面板验证三态门电路的功能

准备好数据开关,令DATA0=001;DATA1=010;DATA2=100;

验证多个部件同时向总线输出,选出错误的描述。

得分/总分

A.当OE0=1;OE1=1;OE2=0;

总线冲突,总线的值显示为011。

B.

当OE0=1;OE1=0;OE2=1;

总线冲突,总线的值显示为101

C.

当OE0=0;OE1=1;OE2=1;

总线冲突,总线的值显示为110

D.

当OE0=1;OE1=1;OE2=1;

总线冲突,总线的值显示为000

正确答案:A、B、C

20多选(3分)

使用远程实验平台虚拟面板验证2选1多路器电路的功能

准备好数据开关,令DATA0=001;DATA1=010;DATA2=011;

得分/总分

A.当选择信号sel1=0,sel0=0时,电路输出端out输出来自DATA0的数据,OUT值显示为001;

B.当选择信号sel1=0,sel0=1时,电路输出端out输出来自DATA1,OUT值显示为010;

C.当选择信号sel1=1,sel0=0时,电路输出端out输出来自DATA2的数据,OUT值显示为011;

D.当选择信号sel1=1,sel0=1时,电路输出端out输出来自DATA2的数据,OUT值显示为011。

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

21多选(3分)

使用远程实验平台虚拟面板验证与或门构成的选择器电路功能

准备好数据开关,令DATA0=001;DATA1=010;DATA2=100;

A.当OE0=1;OE1=1;OE2=0; Out的值显示为011;

B.当OE0=1;OE1=0;OE2=1; Out的值显示为101;

C.当OE0=0;OE1=1;OE2=1; Out的值显示为110;

D.当OE0=1;OE1=1;OE2=1; Out的值显示为111。

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

附:实验代码

`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 [2:0]data0  = S[2:0];
wire [2:0]data1  = S[5:3];
wire [2:0]data2  = S[8:6];
wire oe0    = S[9];
wire oe1    = S[10];
wire oe2    = S[11];
/************* The logic of this experiment *************/
wire [2:0]out;
// Logic description of three-state buffer
//assign out = oe0 ? data0 : 3'bZZZ;
//assign out = oe1 ? data1 : 3'bZZZ;
//assign out = oe2 ? data2 : 3'bZZZ;
// 用与或门构成数据选择器
assign out = data0 & {3{oe0}} | data1 & {3{oe1}} | data2 & {3{oe2}};
/****** Internal signal assignment to output port *******/
assign L[2:0]   = out;
endmodule


目录
相关文章
|
人工智能 并行计算 openCL
魔搭+Xinference 平台:CPU,GPU,Mac-M1多端大模型部署
随着 Llama2 的开源,以及通义千问、百川、智谱等国内大模型的问世,很多用户有了本地部署去尝试大模型的需求,然而硬件的需求阻碍了很多人的尝试,并不是所有人都拥有一块英伟达显卡的,所以 Llama2 问世不久,大神 Andrej Karpathy 的一个 weekend project 爆火——llama2.c。
魔搭+Xinference 平台:CPU,GPU,Mac-M1多端大模型部署
|
5月前
汇编语言(第四版) 实验一 查看CPU和内存,用机器指令和汇编指令编程
汇编语言(第四版) 实验一 查看CPU和内存,用机器指令和汇编指令编程
|
4月前
|
机器学习/深度学习 TensorFlow API
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
|
6月前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能平台PAI产品使用合集之如何在CPU服务器上使用PAIEasyRec进行分布式训练
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
Ubuntu 网络虚拟化 Windows
国产化之虚拟ARM64-CPU安装银河麒麟操作系统
国产化之虚拟ARM64-CPU安装银河麒麟操作系统
1438 0
|
前端开发 rax
实验一:查看CPU和内存,用机器指令和汇编指令编程
实验一:查看CPU和内存,用机器指令和汇编指令编程
202 0
|
存储
ICS TRIPLEX T8461 创建额外的虚拟或逻辑CPU
ICS TRIPLEX T8461 创建额外的虚拟或逻辑CPU
102 0
ICS TRIPLEX T8461 创建额外的虚拟或逻辑CPU
|
弹性计算 固态存储
阿里云服务器的vCPU是什么意思?虚拟CPU?
阿里云服务器的vCPU是什么意思?虚拟CPU?阿里云服务器vCPU和CPU是什么意思?CPU和vCPU有什么区别?一台云服务器ECS实例的CPU选项由CPU物理核心数和每核线程数决定,CPU是中央处理器,一个CPU可以包含若干个物理核,通过超线程HT(Hyper-Threading)技术可以将一个物理核变成两个逻辑处理核。vCPU(virtual CPU)是ECS实例的虚拟处理核。云服务器吧来详细说下阿里云服务器CPU和vCPU的区别:
2003 0
基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第十五章:认识RISCV
基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第十五章:认识RISCV
280 0
|
13天前
|
弹性计算 Kubernetes Perl
k8s 设置pod 的cpu 和内存
在 Kubernetes (k8s) 中,设置 Pod 的 CPU 和内存资源限制和请求是非常重要的,因为这有助于确保集群资源的合理分配和有效利用。你可以通过定义 Pod 的 `resources` 字段来设置这些限制。 以下是一个示例 YAML 文件,展示了如何为一个 Pod 设置 CPU 和内存资源请求(requests)和限制(limits): ```yaml apiVersion: v1 kind: Pod metadata: name: example-pod spec: containers: - name: example-container image:

热门文章

最新文章