收藏 分销(赏)

Verilog期末复习题.doc

上传人:精*** 文档编号:1693318 上传时间:2024-05-07 格式:DOC 页数:11 大小:337.53KB
下载 相关 举报
Verilog期末复习题.doc_第1页
第1页 / 共11页
Verilog期末复习题.doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述
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语句 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   12. 基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入 →  综合     →___     __→          →适配→编程下载→硬件测试。正确的是 B           。  ①功能仿真 ②时序仿真 ③逻辑综合 ④配置 ⑤分配管脚               A.③①   B.①⑤   C.④⑤  D.④②  三、EDA名词解释(10分)  ASIC      专用集成电路          RTL        寄存器传输级  FPGA      现场可编程门阵列     SOPC       可编程片上系统  CPLD      复杂可编程逻辑器件   LPM       参数可定制宏模块库  EDA   电子设计自动化        IEEE       电子电气工程师协会  IP       知识产权核            ISP         在线系统可编程 三、简答题 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成本高,但都可以在内都镶嵌硬核和软核,实现片上系统功能。 2、 简述有限状态机FSM分为哪两类?有何区别?有限状态机的状态编码风格主要有哪三种?FSM 的三段式描述风格中,三段分别描述什么?(本题6分)  答:Mearly型,Moore型;前者与输入与当前状态有关,而后者只和当前状态有关;Binary,Gray, One-Hot编码;分别为状态保存,状态切换,输出;  四、计算题  1、   利用有限状态机,以格雷码编译方式设计一个从输出信号序列中检测出101信号的电路图,其方块图、状态图和状态表如图表示。 module 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 4、下面是通过case语句实现四选一电路部分程序,将横线上的语句补上,使程序形成完整功能。 case({s1,s0}) 2’b00:out=i0; 2’b01:out=i1; 2’b10:out=i2; 2’b11:out=i3; 4、根据图3给定的两个2位全加器信号关系及实现的4位全加器功能部分程序,在下列部分程序中的横线上填入必要语句,实现4位全加器的完整功能。 2位加法器 ai bi ci sum cout 2位加法器 ai bi ci sum cout sum4(3..2))) cout4 a(1..0) b(1..0) c c0 a(3..2) b(3..2) sum4(1..0) 图3 //底层4位全加器程序 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 //顶层8位全加器程序 module fadd4(a,b,c,sum4,cout4); input [3:0]a,b;input c; output [3:0] sum4output cout4; wire c0; add4 U1( a[1:0],b[1:0],c,c0,sum4[1:0]); add4 U2( a[3:0],b[3:0],c0,count4,sum4[3:0]); 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 bi so co 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 由输入输出逻辑表达式,采用与门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,给出详细设计过程。 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,否则输出相反,给出详细设计过程。 module three1(x,y); input [2:0] x; output y; y=a&b+a&c+b&c=ab+ac+bc; 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 五、 程序注解(20分,每空1分)     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           // 带同步清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 q,qn reg q,qn; //定义端口d,clk,set,reset为输入端口,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 //模块结束 3.设计一个带有异步复位控制端和时钟使能控制端的10进制计数器。 端口设定如下:  输入端口:CLK:时钟,RST:复位端,EN:时钟使能端,LOAD:置位控制端, DIN:置位数据端;  输出端口:COUT:进位输出端,DOUT:计数输出端。 module CNT10 (CLK,RST,EN,LOAD,COUT,DOUT,DATA);  input CLK  ,EN, RST, 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
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服