EDA-VerilogHDL试题

更新时间:2024-01-19 15:57:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、填空题(10分,每小题1分)

1. 用EDA技术进行电子系统设计的目标是最终完成 的设计与实

现。

2. 可编程器件分为 和 。

3. 随着EDA技术的不断完善与成熟, 的设计方法更多的被应用于Verilog HDL设计当中。

4. 目前国际上较大的PLD器件制造公司有 和 公司。

5. 完整的条件语句将产生 电路,不完整的条件语句将产生 电

路。

6. 阻塞性赋值符号为 ,非阻塞性赋值符号

为 。

二、选择题 (10分,每小题2分)

1. 大规模可编程器件主要有 FPGA、CPLD两类,下列对FPGA结构与工作原理的描

述中,正确的是 。

A.FPGA全称为复杂可编程逻辑器件; B.FPGA是基于乘积项结构的可编程逻辑器件;

C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。

2. 基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入 → 综合

→___ __→ →适配→编程下载→硬件测试。正确的是 。

①功能仿真 ②时序仿真 ③逻辑综合 ④配置 ⑤分配管脚

A.③①

B.①⑤

C.④⑤

D.④②

3. 子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运

行速度(即速度优化);指出下列哪些方法是面积优化 。

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

A.①③⑤

B.②③④ C.②⑤⑥

⑤寄存器配平 ⑥关键路径法 D.①④⑥

4. 下列标识符中,__________是不合法的标识符。

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

5. 下列语句中,不属于并行语句的是:_______

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

三、EDA名词解释(10分)

写出下列缩写的中文含义:

ASIC: RTL: FPGA: SOPC: CPLD: LPM: EDA: IEEE: IP: ISP:

四、简答题(10分)

1. 简要说明仿真时阻塞赋值与非阻塞赋值的区别(本题4分)。

2. 简述有限状态机FSM分为哪两类?有何区别?有限状态机的状态编码风格主要

有哪三种?FSM的三段式描述风格中,三段分别描述什么?(本题6分)

五、程序注解(20分,每空1分)

module AAA ( a ,b ); output a ;

input [6:0] b ; reg[2:0] sum; integer i; reg a ; always @ (b) begin

sum = 0; for(i = 0;i<=6;i = i+1)

if(b[i])

sum = sum+1; if(sum[2]) a = 1;

else a = 0; end endmodule

本程序的逻辑功能是: 。

四、VerilogHDL语言编程题(1、2小题10分,3小题20分) 要求:写清分析设计步骤和注释。

1. 试用Verilog HDL描述一个带进位输入、输出的8位全加器。

端口:A、B为加数,CI为进位输入,S为和,CO为进位输出

2. 编写一个带异步清零、异步置位的D触发器。

端口:CLK为时钟,D为输入,CLK为清零输入端,SET为置位输入端;Q输出端。

3. 设计一个带有异步复位控制端和时钟使能控制端的10进制计数器。 端口设定如下:

输入端口:CLK:时钟,RST:复位端,EN:时钟使能端,LOAD:置位控制端,

DIN:置位数据端;

输出端口:COUT:进位输出端,DOUT:计数输出端。

一、填空题(每空2分,共20分)

1、 ASIC

2、 FPGA 和 CPLD 。 3、自顶向下

4、 Altera 和 Xilinx 5、组合 时序

6、 = <=

二、选择题 (10分,每小题2分)

1、C 2、 B 3、B 4、 A 5、D 三、EDA名词解释(10分)

ASIC 专用集成电路 RTL 寄存器传输级 FPGA 现场可编程门阵列 SOPC 可编程片上系统 CPLD 复杂可编程逻辑器件 LPM 参数可定制宏模块库 EDA 电子设计自动化 IEEE 电子电气工程师协会 IP 知识产权核 ISP 在系统可编程 四、简答题(10分)

1、简要说明仿真时阻塞赋值与非阻塞赋值的区别(本题4分)。

答:非阻塞(non-blocking)赋值方式 ( b<= a):

b的值被赋成新值a的操作, 并不是立刻完成的,而是在块结束时才完成; 块内的多条赋值语句在块结束时同时赋值; 硬件有对应的电路。

阻塞(blocking)赋值方式 ( b = a): b的值立刻被赋成新值a;

完成该赋值语句后才能执行下一句的操作; 硬件没有对应的电路,因而综合结果未知。

2、 简述有限状 3、 4、 5、 6、 7、 8、 9、 10、 11、 12、 13、 14、 15、 16、 17、 18、 19、 20、 21、 22、 23、 24、 25、 26、

27、 28、 29、 30、 31、 32、 33、 34、 35、 36、 37、 38、 39、 40、 41、 42、 43、 44、 45、 46、 47、 48、 49、 50、 51、 52、 53、 54、 55、 56、 57、 58、 59、 60、 61、 62、 63、 64、 65、 66、 67、 68、 69、 70、 71、 72、 73、 74、

75、 76、 77、 78、 79、 80、 81、 82、 83、 84、 85、 86、 87、 88、 89、 90、 91、 92、 93、 94、 95、 96、 97、 98、 99、 100、 101、 102、 103、 104、 105、 106、 107、 108、 109、 110、 111、 112、 113、 114、 115、 116、 117、 118、 119、 120、 121、 122、

123、 124、 125、 126、 127、 128、 129、 130、 131、 132、 133、 134、 135、 136、 137、 138、 139、 140、 141、 142、

143、 态机FSM分为哪两类?有何区别?有限状态机的状态编码风格主要有哪三种?FSM的三

段式描述风格中,三段分别描述什么?(本题6分)

答:Mearly型,Moore型;前者与输入与当前状态有关,而后者只和当前状态有关;Binary,Gray,

One-Hot编码;分别为状态保存,状态切换,输出;

五、程序注解(20分,每空1分)

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

定义a为输出端口 input [6:0] b ; 定义b为输出端口,b为7位二进制数 reg[2:0] sum; sum为reg型变量,用于统计赞成的人数 integer i; 定义整型变量i为循环控制变量 reg a ; 定义a为寄存器变量 always @ (b) 过程语句,敏感变量为b begin 语句块 sum = 0; sum初值为0 for(i = 0;i<=6;i = i+1) for语句,统计b为1的个数

if(b[i]) 条件语句 sum = sum+1; 只要有人投赞成票,则 sum加1 if(sum[2]) a = 1; 若超过4人赞成,则表决通过

else a = 0; 若不到4人,则不通过 end endmodule

程序的逻辑功能是: 器 。

7人投票表决六、VerilogHDL编程题(1、2小题10分,3小题20分) 要求:写清分析设计步骤和注释。

1.试用Verilog HDL描述一个带进位输入、输出的8位全加器。

端口:A、B为加数,CIN为进位输入,S为和,COUT为进位输出 module add4v(a,b,ci,s,co); input[3:0] a; input[3:0] b; input ci; output[3:0] s; output co;

wire[3:0] carry;

function fa_s(input a,input b,input ci); fa_s = a ^ b ^ ci; endfunction

function fa_c(input a,input b,input ci); fa_c = a & b | a & ci | b & ci; endfunction

assign s[0] = fa_s(a[0],b[0],ci); assign carry[0] = fa_c(a[0],b[0],ci);

assign s[1] = fa_s(a[1],b[1],carry[0]); assign carry[1] = fa_c(a[1],b[1],carry[0]);

assign s[2] = fa_s(a[2],b[2],carry[1]); assign carry[2] = fa_c(a[2],b[2],carry[1]);

assign s[3] = fa_s(a[3],b[3],carry[2]); assign co = fa_c(a[3],b[3],carry[2]); endmodule

2.编写一个带异步清零、异步置位的D触发器。

3.设计一个带有异步复位控制端和时钟使能控制端的10进制计数器。 mdule CNT10 (CLK,RST,EN,LOAD,COUT,DOUT,DATA); input CLK ; input EN ; input RST ; input LOAD ; input [3:0] DATA ; output [3:0] DOUT ; output COUT ; reg [3:0] Q1 ; reg COUT ;

assign DOUT = Q1;

always @(posedge CLK or negedge RST) begin

if (!RST) Q1 <= 0; else if (EN) begin

if (!LOAD) Q1 <= DATA;

else if (Q1<9) Q1 <= Q1+1;

else Q1 <= 4'b0000; end

end

always @(Q1)

if (Q1==4'h9) COUT = 1'b1; else COUT = 1'b0; endmodule

本文来源:https://www.bwwdw.com/article/7aoo.html

Top