您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页八选一数据选择器

八选一数据选择器

来源:筏尚旅游网


1.4'b1001<<2=( 6'b100100),4'b1001>>2=( 4'b0010 )。

2、完整的条件语句将产生( 组合逻辑电路 )电路,不完整的条件语句将产生( 时序逻辑电路 )电路。

3、 用EDA技术进行电子系统设计的目标是最终完成(专用集成电路ASIC)的设计。

4、可编程器件分为(现场可编程列阵FPGA)和(复杂可编程逻辑器件 PLD)

5、系统函数和任务函数的首字符标志为($),预编译指令首字符标志为(#)。

6、一个基本的Verilog-HDL程序由(Verilog-HDL )模块构成。

7、EDA技术在应用设计领域主要包含哪四个方面的内容(HDL)、(PLD )、( EDA工具软件)、(EDA开发系统 )

8、EDA技术的基本特征主要有哪5个方面:(自顶向下的设计方法 )、(采用硬件描述语言)、(高层综合和优化 ).(并行工程)、(开放性和标准化) 9、当前最流行的并成为IEEE标准的硬件描语言是( VHDI )和( Verilog-HDL)

10、一个完整的Verilog-HDL设计模块包括:( 模块关键字和模块名 )、( 端口列表 )、(端口定义 )、( 功能描述 )这4部分。

11Verilog-HDL模块的I/O端口声明用来声明模块端口定义中各端口数据流动方向,包括(输入端口)、( 输出端口 )、和(双向端口 )

12、Verilog-HDL语言的三种常用的模型描述方法为(行为描述 )、( 数据描述)和(结构描述 )

13、Verilog-HDL的数值集合由哪四种基本的值组成( 0)、(1 )、 x)、( z )

14、10'hxf=( 10'xxxxxx1111 ) 10'hzf=( 10'zzzzzz1111 )

15、若a=5'b10x01,b=5'b10x01,则a= =b的结果为( X )、a= = =b的结果为( 1 )

16、Wire[15:0] wire-b表示连线宽度为(16 )位,其最高位为(15),最低位为(0)。

17、若A=5'b11011,B=5'b10101,则有&A=(0)|B=(1) ~A=(5'b00100)A&B(5'b10001)

18、若A=8'b1000_0100则A<<3的结果为(11'b10000100000)A>>3的结果为(8'b00010000)

19、对于Verilog-HDL语言中的关键字,在建模时都必须(小)写。

20、if(a) out1<=int1; else out1<=int2;当a= (1)执行out1<=int1 ;当a=(0) 执行out1<=int2

二、选择题:

21、在verilog语言中整型数据与( C )位寄存器数据在实际意义上是相同的。

A、 8 B、16 C、32 D、

22、大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是( C ) 。

A.FPGA全称为复杂可编程逻辑器件;

B.FPGA是基于乘积项结构的可编程逻辑器件;

C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置;

D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。

23. 子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列哪些方法是面积优化( B )。

①流水线设计②资源共享③逻辑优化④串行化

⑤寄存器配平⑥关键 路径法

A.①③⑤ B.②③④ C.②⑤⑥ D.①④⑥

24、下列标识符中,( A)是不合法的标识符。

A、9moon B、State0 C、Not_Ack_0 D、signall

25、下列语句中,不属于并行语句的是:(D )

A、过程语句B、assign语句 C、元件例化语句D、case语句

26、在verilog中,下列语句哪个不是分支语句?( D )

A.if-else B、case C、casez D、 repeat

27、下列标示符哪些是合法的( B )

A、$time B、_date C、8sum D、mux#

28、如果线网类型变量说明后未赋值,起缺省值是( D )

A、x B、1 C、0 D、z

29、现网中的值被解释为无符号数。在连续赋值语句中,assign addr[3:0]=-3;addr被赋予的值是(A )

A、4'b1101 B、4'b0011 C、4'bxx11 D、4'bzz11

30、reg[7:0] mema[255:0]正确的赋值是( A )

A、mema[5]=3'd0,B、8' d0; C、1' b1; D、mema[5][3:0]=4' d1

31、\"a=4' b11001,b=4' bx110\"选出正确的运算结果( B )

A、a&b=0 B、a&&b=1 C、b&a=x D、b&&a=x

32、时间尺度定义为timescale 10ns/100ps,选择正确答案( C )

A、时间精度10ns B、时间单位100ps

C、时间精度100ps D、时间精度不确定

33、若a=9,执行$display(\"current value=%0b,a=%0d\正确显示为( B A、current value=1001,a=09 B、current vale=1001,a=9

C、1001,9 D、current vale=00...001001,a=9

34、aways begin #5 clk=0;#10 clk=~clk;end产生的波形( A )

A、占空比1/3 B、clk=1 C、clk=0 D、周期为10

35、在Verilog中定义了宏名 `define sum a+b+c 下面宏名引用正确的是(A、out='sum+d; B、out=sum+d; C、out=`sum+d; D、都正确

37、已知 \"a =1b'1; b=3b'001;\"那么{a,b}=( A )CDADC CBADD

A、 4b'0011 B、3b'001 C、4b'1001 D、3b'101

C )

39、请根据以下两条语句的执行:reg [7:0] A; A=2'hFF;最后变量A中的值是( A )

A 、8'b0000_0011 B、 8'h03 C、 8'b1111_1111 D 、8'b11111111

40、在verilog语言中,a=4b'1011,那么 &a=(D )

A、4b'1011 B、4b'1111 C、1b'1 D、1b'0

41简要说明仿真时阻塞赋值与非阻塞赋值的区别

① 非阻塞赋值方式(b<=a) 2.b的值被赋成新值a的操作,并不是立刻完成的,而是在块结束时才完成的;硬件有对应的电路。 3.阻塞赋值方式(b=a) 4.b的值立刻被赋成新值a;完成该赋值语句后才能执行下一语句的操作,硬件没有对应的电路,因而综合结果未知。 5.阻塞语句是在该语句结束是立即完成赋值语句操作,非阻塞赋值是在整个过程块结束时才完成赋值操作。 42、EDA技术的主要特征有哪些?

(自顶向下的设计方法 )、(采用硬件描述语言 )、(高层综合和优化 )(.并行工程)、( 开放性和标准化 )

43、always语句和initial语句的关键区别是什么?能否相互嵌套?

Always是循环语句,initial只是执行一次,它们不能镶嵌。

45、简述基于数字系统设计流程包括哪些步骤?

(1)设计输入,将设计的结构和功能通过原理图或硬件描述语言进行设计或编程,进行

语法或逻辑检查,通过表示输入完成,否则反复检查到无任何错误。 (2)逻辑综合,将高层的设计描述自动化转化为较低层次描述过程,包括行为综合,逻辑综合和版图综合或结构综合,最后生成逻辑网表的过程。

(3)布局布线,将综合生成的电路网表映射到具体的目标器件中,并产生最终可下载文件的过程。

(4)仿真,就是按照逻辑功能的算法和仿真库对设计进行模拟,以验证并排除错误的过程,包括功能仿真和时序仿真。

(5)编程配置,将适配后生成的编程文件装入到PLD器件的过程,根据不同器件实现编程或配置。

46、采用结构描述方法设计一个二进制数字半加器,输入数据ai与bi,

并将和输出到so,进位输出到co,给出详细设计过程。

输入

输入

输出

输出

a1

b1

s0

c0

0

0

0

0

0

1

1

0

1

0

1

1

1

1

0

1

so=a1b1'+a1'b1

co=a1b1

module half_adder(a1,b1,s0,c0);

input a1,b1;

outputs0,c0;

xor(s0,a1,b1);

and(c0,a1,bl);

Endmodule

一选择题

1在Verilog中,下列语句那个不是分支语句( d)

A if--else Bcase Ccasez Drepeat

2下列那些不是属于基本门级原件(D)

A nand Bnor Cand DRAM

3已知\"a=1b'1;b=3b001;\"那么{a,b}=(c)

A 4b'0011 B3b'001 C4b'1001 D3b'101

4下列标识符中,-------是不符合的标识符(D)

A 9moon BState0 CNot_ack_0 Dsignall

5下列语句,不属于并行语句的是(D)

A 过程语句 Bassign语句 C元件例化语句 Dcase语句

6 O,P,Q,R都是4bit的输入矢量,下面那一种表达式是正确的(E)

A pinput p[3:0] Q,R ;

Binput p,Q[3:0] ;

Cinput p,Q[3:0] ,Q[3:0] ,R[3:0] ;

Dnput [3:0]P ,[3:0]Q ,[0:3] R ;

Enput [3:0] ,P,Q ,R ;

7请根据以下两条语句的执行,最后变量A中的值是(A)

Reg[7:0] A A=2'hFF

A 8;b0000,0011 B 8'h03 C 8;b1111,0011 D 8;b1111,1111

二填空题目

1 完整的条件语句将产生 组合逻辑电路 ,不完整的条件语句将产生时序逻辑电路。

2阻塞性赋值符号是=,非阻塞性赋值符号是 <=。

三程序题

Verilog 代码如下:

module INST2[yout,adder];

Output[7:0] yout;

Input[2:0] adder;

assign yout[0]((-adder[2]&(-adder[1]))&(-adder[0]);

assign yout[1]=((-adder[2]&(-adder[1]))&(-adder[0]);

assign yout[2]=((-adder[2]&(-adder[1]))&(-adder[0]);

assign yout[3]=((-adder[2]&(-adder[1]))&(-adder[0]);

assign yout[4]=((-adder[2]&(-adder[1]))&(-adder[0]);

assign yout[5]=((-adder[2]&(-adder[1]))&(-adder[0]);

assign yout[6]=((-adder[2]&(-adder[1]))&(-adder[0]);

assign yout[7]=((-adder[2]&(-adder[1]))&(-adder[0]);

endmodule

功能:3-8译码器,高电平有效

采用数据结构描述方式设计一个二进制半加器,输入数据,a1和b1,

并将输出到s0,进位输出c0,输出详细设计过程。

输入

输入

输出

输出

a1

b1

s0

c0

0

0

0

0

0

1

1

0

1

0

1

1

1

1

0

1

so=a1b1'+a1'b1

co=a1b1

module half_adder(a1,b1,s0,c0);

input a1,b1;

outputs0,c0;

xor(s0,a1,b1);

and(c0,a1,bl);

Endmodule

4 程序注释,并说明整个程序完成的功能。

module AAA (a,b);定义模块名为AAA端为(a,b)

output a;定义a为输出端口

input b;定义b为输入端口,b为下位二进制数

reg[2:0] sum;sum为寄存器变量类型,用于统计赞成的人数

integer i;定义整型变量为循环变量

reg a;定义a为寄存器变量

always @ (b)过程语句,敏感变量为b

begin语句块

sum=0;sum的初值为0

for(i=0;i<=b,i+1)for语句,统计b的个数

if(b[i]) sum=sum+1条件语句,只要有人投赞成票,则是sum加1

if(sum[2]) a=1,else a=0;只要超过四个人赞成,则表示

通过,若不到四个人,则表示不通过。

end

endmodule

逻辑功能(7个人投决表决器)

4 根据下列给定的仿真输入,输出,波形图形,说明完成此功能的电路是什么功能,并

写出对应的Verilog HDL描述程序(图中clk,clr为输入,q,c为输出)

module counter(clk,clr,q,c);

input clk ,clr;

output ret[1:0] q;

output c;

always @ (posedge clk or negedge clr)

begin

if(~dr) q<=2'ho;

else

begin

if(2'h3==q)q<=2'ho;

else q<=q+2'ho;

end

end

assign c=(2'h3==q)

endmodule

5 编程实现带同步清零,同步置一的D触发器。

module D_EF(q,qn,d,clk,reset,set);

input d,clk,set,reset;

output q,qn;

always @ (posedge clk)

begin

if(!reset)begin q<=0;qn<=1;end同步清零(高电平有效)

else If(!set)begin q<=1;qn<=1;end同步置一(高电平有效)

else begin q<=~d;qn<=~d;end

end

endmodule

6描述一个异步清零D触发器

module D_EF(q,qn,d,clk,reset,set);

input d,clk,set,reset;

output q,qn;

always @ (clk or negedge set or negedge reset)

begin

if(!reset)begin q<=0;qn<=1;end异步清零(低电平有效)

else If(!set)begin q<=1;qn<=1;end异步置一(低电平有效)

else begin q<=~d;qn<=~d;end

end

endmodule

7标注各语句功能,指出整个程序完成的电路功能。

module dff_syn(q,qn,d,clk,reset,set);定义模块

input d,clk,set,reset;定义输入端口

output q,qn;定义输出端口

always @ (posedge clk)对clk信号上升沿有效

begin

if(~reset)begin q<=1'b0;qn<=1'b1;end同步清零,低电平有效

else If(~set)begin q<=1'b1;qn<=1'b0;end同步置一,低电平有效

else begin q<=d;qn<=~d;end q输出为q。Qn输出为非d

end

endmodule模块结束

8采用结构描述方法设计一个二进制数字比较器,比较输入数据a与b的大小,

并分别输出x,y,z给出详细的设计过程。

module bjq(a,b,x,y,z)

input [1:0]a;

input [1:0]b;

output x,y,z;

wire a,b,not_ab;

not(not_a,a);

not(not_b,b);

and(ab,a,b);

and(not_ab,not_a,not_b);

or(x,ab,not_ab);

and(y,not_a,b);

and(z,a,not_b);

endmodule

9 采用结构描述方法设计一个三人竞选数字电路,输入数据[2:0],要求2人以上为1

表示通过,且输出为1,否则输出相反,给出详细设计过程。

y=ab+ac+bc

module three(x,y);

input[2:0] x;

outputy;

wire a,b, c;

and(a,x[0],x[1]);

and(b,x[1],x[2]);

and(c,x[1],x[0]);

or(y,a,b,c)

endmodule

四 程序设计

1设计两个两位全加器信号关系及实现四位全加器的功能部分程序。

module add2(ai,bi,ci,sum,cout);

input [1:0]ai,bi;input ci;

output [1:0]sum;reg[1:0]sum;

output cout;reg cout;

always @(ai,bi,ci)

{cout,sum}=ai+bi+ci;

endmodule

module add4(a,b,c,sum,cout);

input [3:0]ai,b;input c;

output [3:0]sum4output cout4;

wire c0;

add4 U1(a[1:0],b[1:0],c[1:0],sum4[1:0]);

add4 U2(a[1:0],b[1:0],c[1:0],cout4,sum[3:0]);

endmodule

2设计一个全加器

module full_add(a,b,ci,sum,c0);

input a,b,ci;

output sum,c0;

assign sum=a ^ b ^ ci;

assign co=(a&b) | (b&c) | (c&a);

endmodule

3 设计一个分频器

module div1hz (clk_50m,rst_n,clk_1);

input clk_50m;

input rst_n;

output clk_1;

reg clk_1;

reg [24:0] cout;

always @ (posedge clk_50m or negedge)

begin

if(!rst_n)

begin

count <= 25'd0;

clk_1 <= 1'b0;

end

else

begin

if(count ==25'd99)

begin

count <= 25'd0;

clk_1<= ~clk_1;

end

else

count <= count + 1'b1;

end

end

endmodule

4 单灯闪烁

module sinled (clk_50M,rst_n,dataout);

input clk_50M;

input rst_n;

output dataout;

reg dataout;

reg [24:0] count;

always @ (posedge clk_50M or negedge rst_n)

begin

if(!rst_n)

count <= 1'b0;

count <=count+1;

end

always @ (posedge clk_50M or negedge rst_n)

begin

if(!rst_n)

dataout <= 1'b0;

else

case ( count[24])

0:dataout<=1'b0;

1:dataout<=1'b1;

endcase

5八选一数据选择器代码

//Verilog八选一数据选择器

module sel(a, b, c, d, e, f, g, h, s0, s1, s2, out);

input [2:0]a;

input [2:0]b;

input [2:0]c;

input [2:0]d;

input [2:0]e;

input [2:0]f;

input [2:0]g;

input [2:0]h;

input s0, s1, s2;

output [2:0] out;

reg [2:0] out;

always@(a, b, c, d, e, f, g, h, s0, s1, s2)

begin

case({s0, s1, s2})

3'd0 : out= a;

3'd1 : out= b;

3'd2 : out= c;

3'd3 : out= d;

3'd4 : out= e;

3'd5 : out= f;

3'd6 : out= g;

3'd7 : out= h;

endcase

end

endmodule

6蜂鸣器

module buzzer(clk_50M,beep);

input clk_50M;

output beep;

reg beep;

reg [14:0] counter;

reg [23:0] tone;

parameter clkividern =50000000/440/2;

always @ (posedge clk_50M)

begin

tone <= tone+1'b1;

end

always @ (posedge clk_50M)

begin

if(counter==0)

counter <= (tone[23] ? Clkdivider-1 :clkdivider/(2-1);

else counter <=counter-1;

end

always @ (posedge clk_50M)

begin

if(counter==0)

beep <= -beep;

end

endmodule

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务