Verilog复习题
更新时间:2024-01-27 12:11:01 阅读量: 教育文库 文档下载
- Verilog HDL推荐度:
- 相关推荐
Verilog复习题
一、填空题
1. 用EDA技术进行电子系统设计的目标是最终完成_ ASIC的设计与实现。 2. 可编程器件分为 _CPLD_和__FPGA__。
3. 随着EDA技术的不断完善与成熟,_自顶向下_的设计方法更多的被应用于Verilog HDL 设计当中。
4. 目前国际上较大的PLD器件制造公司有_ALtera_和_Xilinx_公司。
5. 完整的条件语句将产生_组合_电路,不完整的条件语句将产生_时序_电路。 6. 阻塞性赋值符号为___=____ ,非阻塞性赋值符号为____<=_______ 。 7.有限状态机分为__Moore__和_Mealy_两种类型。
8、EDA缩写的含义为_电子设计自动化(Electronic Design Automation)_ 9.状态机常用状态编码有_二进制_、_格雷码_和_独热码_。 10.Verilog HDL中任务可以调用_其他任务_和__函数__。
11.系统函数和任务函数的首字符标志为_$_,预编译指令首字符标志为__#__。 12.可编程逻辑器件的优化过程主要是对___速度___和__资源__的处理过程。 13、大型数字逻辑电路设计采用的IP核有__软IP__、__固IP___和__硬IP__。
二、选择题
1、已知 “a =1b’1; b=3b'001;”那么{a,b}=( C ) (A) 4b'0011 (B) 3b'001 (C) 4b'1001 (D) 3b'101
2、在verilog中,下列语句哪个不是分支语句?( D ) (A) if-else (B) case (C) casez (D) repeat
3、Verilog HDL语言进行电路设计方法有哪几种(8分) ①自上而下的设计方法(Top-Down) ②自下而上的设计方法(Bottom-Up) ③综合设计的方法
4、在verilog语言中,a=4b'1011,那么 &a=(D ) (A) 4b'1011 (B) 4b'1111 (C) 1b'1 (D) 1b'0
5、在verilog语言中整型数据与( C )位寄存器数据在实际意义上是相同的。 (A) 8 (B) 16 (C) 32 (D) 64
6、大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是___C____ 。
A.FPGA全称为复杂可编程逻辑器件;
B.FPGA是基于乘积项结构的可编程逻辑器件;
C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。 7. 子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列哪些方法是面积优化___B______。 ①流水线设计 ②资源共享 ③逻辑优化 ④串行化 ⑤寄存器配平
⑥关键 路径法
A.①③⑤ B.②③④ C.②⑤⑥ D.①④⑥ 8、下列标识符中,_____A_____是不合法的标识符。 A.9moon B.State0 C. Not_Ack_0 D. signall 9、 下列语句中,不属于并行语句的是:____D___
A. 过程语句 B.assign语句 C.元件例化语句 D.case语句
6、10、P,Q,R都是4bit的输入矢量,下面哪一种表达形式是正确的 5) 1)input P[3:0],Q,R; 2)input P,Q,R[3:0];
3)input P[3:0],Q[3:0],R[3:0]; 4)input [3:0] P,[3:0]Q,[0:3]R; 5)input [3:0] P,Q,R;
11、请根据以下两条语句的执行,最后变量A中的值是___①___。 reg [7:0] A;
A=2'hFF;
① 8'b0000_0011 ② 8'h03 ③ 8'b1111_1111 ④ 8'b11111111
三、简答题
1、简要说明仿真时阻塞赋值与非阻塞赋值的区别 非阻塞(non-blocking)赋值方式 ( b<= a):
b的值被赋成新值a的操作, 并不是立刻完成的,而是在块结束时才完成;块内的多条赋值语句在块结束时同时赋值;硬件有对应的电路。阻塞(blocking)赋值方式 ( b = a):b的值立刻被赋成新值a;完成该赋值语句后才能执行下一句的操作;硬件没有对应的电路,因而综合结果未知。
阻塞赋值是在该语句结束是立即完成赋值操作;非阻塞赋值是在整个过程块结束是才完成赋值操作。 2、简述有限状态机FSM分为哪两类?有何区别?有限状态机的状态编码风格主要有哪三种?
根据内部结构不同可分为摩尔型状态机和米里型状态机两种。摩尔型状态机的输出只由当前状态决定,而次态由输入和现态共同决定;米里型状态机的输出由输入和现态共同决定,而次态也由输入和现态决定。
状态编码主要有三种:连续二进制编码、格雷码和独热码。
3、简述基于数字系统设计流程包括哪些步骤? 包括五个步骤:
⑴、设计输入:将设计的结构和功能通过原理图或硬件描述语言进行设计或编程,进行语法或逻辑检查,通过表示输入完成,否则反复检查直到无任何错误。
⑵、逻辑综合:将较高层的设计描述自动转化为较低层次描述的过程,包括行为综合,逻辑综合和版图综合或结构综合,最后生成电路逻辑网表的过程。
⑶、布局布线:将综合生成的电路网表映射到具体的目标器件中,并产生最终可下载文
件的过程。
⑷、仿真:就是按照逻辑功能的算法和仿真库对设计进行模拟,以验证设计并排除错误的过程,包括功能仿真和时序仿真。
⑸、编程配置:将适配后生成的编程文件装入到PLD器件的过程,根据不同器件实现编程或配置。
4、简述Verilog HDL编程语言中函数与任务运用有什么特点?
函数和任务都能独立完成相应电路功能,通过在同一模块中的调用实现相应逻辑电路功能。但它们又有以下不同:
⑴、函数中不能包含时序控制语句,对函数的调用,必须在同一仿真时刻返回。而任务可以包含时序控制语句,任务的返回时间和调用时间可以不同。
⑵、在函数中不能调用任务,而任务中可以调用其它任务和函数。但在函数中可以调用其它函数或函数自身。
⑶、函数必须包含至少一个端口,且在函数中只能定义input端口。任务可以包含0个或任何多个端口,且可以定义input、output和inout端口。
⑷、函数必须返回一个值,而任务不能返回值,只能通过output 或inout端口来传递执行结果。
5、简述FPGA与CPLD两种器件应用特点。 CPLD与FPGA都是通用可编程逻辑器件,均可在EDA仿真平台上进行数字逻辑电路设计,它们不同体现在以下几方面:
⑴FPGA集成度和复杂度高于CPLD,所以FPGA可实现复杂逻辑电路设计,而CPLD适合简单和低成本的逻辑电路设计。
⑵、FPGA内主要由LUT和寄存器组成,倾向实现复杂时序逻辑电路设计,而CPLD内主要由乘积项逻辑组成,倾向实现组合逻辑电路设计。
⑶、FPGA工艺多为SRAM、flash等工艺,掉电后内信息消失,所以该类型需外配存储器,而CPLD工艺多为EEPROM等工艺,掉电后信息不消失,所以不用外配存储器。
⑷、FPGA相对CPLD成本高,但都可以在内都镶嵌硬核和软核,实现片上系统功能。
四、计算题
1、 利用有限状态机,以格雷码编译方式设计一个从输出信号序列中检测出101信号的电路图,其方块图、状态图和状态表如图表示。
目前状态CSS0=00S1=01S2=11下一状态NS和输出QoutDin=0Din=1SO, OS1, 0S2, 0S1, 0S0, 0S1, 1module melay(clk,Din,reset,Qout);
input clk,reset; input Din; output Qout; reg Qout;
parameter[1:0] S0=2'b00,S1=2'b01,S2=2'b11; reg[1:0] CS; reg[1:0] NS;
always @(posedge clk or posedge reset) begin
if(reset==1'b01) CS=S0; else CS=NS; end
always @(CS or Din) begin
case(CS) S0:beign
if(Din==1'b0) begin
NS=S0; Qout=1'b0; end else begin
NS=S1; Qout=1'b0; end end S1:begin
if(Din==1'b0) begin
NS=S2; Qout=1'b0; end else begin
NS=S1;
Qout=1'b0; end end S2:beign
if(Din==1'b0) begin
NS=S0; Qout=1'b0; end else begin
NS=S1; Qout=1'b0; end end
endcase end
endmodule
2、 程序注解,并说明整个程序完成的功能。 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
3、设计一个带有异步复位控制端和时钟使能控制端的10进制计数器。 端口设定如下: 输入端口:CLK:时钟,RST:复位端,EN:时钟使能端,LOAD:置位控制端, DIN:置位数据端; 输出端口:COUT:进位输出端,DOUT:计数输出端。 module 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
4、下面是通过case语句实现四选一电路部分程序,将横线上的语句补上,使程序形成完整功能。
case({s1,s0}) 2’b00:out=i0; 2’b01:out=i1; 2’b10:out=i2;
2’b11:out=i3;
3、标注各语句功能,指出整个程序完成的电路功能。 // 带同步清0/同步置1(低电平有效)的D触发器.
module dff_syn(q,qn,d,clk,set,reset); //定义模块为diff_syn, 端口为q,qn,d,clk,set,reset input d,clk,set,reset; output reg q,qn; //定义端口d,clk,set,reset为输入端口,reg,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输出为d, qn输出为非d; end
endmodule //模块结束
4、根据图3给定的两个2位全加器信号关系及实现的4位全加器功能部分程序,在下列部分程序中的横线上填入必要语句,实现4位全加器的完整功能。 sum4(3..2) a(3..2) ai sum )) b(3..2) bi 2位加法器 cout4 cout c0 ci a(1..0) ai sum4(1..0) sum b(1..0) bi 2位加法器 cout c ci 图3 //底层4位全加器程序 //顶层8位全加器程序 module add2(ai,bi,ci,sum,cout); module fadd4(a,b,c,sum4,cout4); input [1:0]ai,bi;input ci; input [3:0]a,b;input c; output [1:0]sum;__________; output [3:0] sum4output cout4; output cout;_________; wire c0; always @(___________) add4 U1( ); {cout,sum}=ai+bi+ci; add4 U2( ); endmodule endmodule
5、根据下列给定的仿真输入输出波形图2,说明完成此功能的电路是什么功能电路?并写出对应的Verilog HDL描述程序(图中clk,clr为输入,q,c为输出)。 4进制加法计数器
module counter(clk,clr,q,c) input clk,clr; output ret[1:0] q; output c;
always@(posedge clk or negedge clr) begin
if(~clr) q<=2’h0; else begin
if(2’h3==q) q<=2’h0; else q<=q+2’h1; end end
assign c=(2’h3==q) endmodule
6、采用结构描述方法设计一个二进制数字半加器,输入数据ai与bi,并将和输出到so,进位输出到co,给出详细设计过程。 输入 ai 0 0 1 1 bi 0 1 0 1 so 0 1 1 0 输出 co 0 0 0 1
so?aibi?aibi?ai?bi,co?aibi
由输入输出逻辑表达式,采用与门and和异或门xor进行结构描述的程序如下:(6分) module hadd (ai,bi,so,co); input ai,bi; output so,co; xor(so,si,ci); and(co,ai,bi); endmodule
6、采用结构描述方法设计一个二进制数字比较器,比较输入数据a与b的大小,并分别输
出到x,y和z,给出详细设计过程。
x?ab?ab,y?ab,z?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);
7、采用结构描述方法设计一个3人竞选数字电路,输入数据[2:0]x,要求2人以上为1表示通过,且输出为y为1,否则输出相反,给出详细设计过程。
正在阅读:
Verilog复习题01-27
新闻评论学考试复习重点04-29
经典心灵鸡汤语录英文版精选02-22
伽利略的小故事作文600字02-04
全国导基练习题附答案12-05
动力气象学第七章习题ALL09-05
关于修订《重大危险源安全管理规定》的通知04-26
综合办公室作业指导书(培训) - 图文01-29
绿色无公害小杂粮生产示范基地建设项目可行性研究报告 - 图文12-23
默默无闻勤耕耘 文明之花开遍地06-05
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 复习题
- Verilog
- 《数据库系统原理》04735课后习题答案(2018版)
- WEB程序设计期末小练习
- 国企高管的刑事风险(二)
- 华为的企业使命和战略目标
- 工材习题 - 图文
- 新编大学英语5Unit1-6课文语言点整理
- 最新人教版九年级物理第十四章《热机》课后训练1
- 中考英语初一至初三全程知识点总结及练习(初三中)
- 上海市白玉兰奖创优指导手册
- 2011-03-市政造价员模拟试题
- 综合物资储备仓库安全审计检查单(资源配置)(2) - 图文
- 锁骨钩钢板治疗急性肩锁关节脱位的临床应用价值研究
- 自控实验 典型环节的模拟研究 - 图文
- 保护环境手抄报的资料
- 2016-2021年随车起重机市场前景预测及投资规划分析报告(目录)
- 建立WEB,ftp服务器
- 南方电网继电保护信息系统主站-子站IEC 618 50规约 工程实施规范(送审稿)修改5
- 生物等效性问题汇总
- 最高人民法院关于玉林市中级人民法院报请对东迅投资有限公司涉外仲裁一案不予执行的请示的复函
- 专本试卷