收藏 分销(赏)

EDA期末复习试卷.docx

上传人:xrp****65 文档编号:7430480 上传时间:2025-01-04 格式:DOCX 页数:13 大小:75.17KB 下载积分:10 金币
下载 相关 举报
EDA期末复习试卷.docx_第1页
第1页 / 共13页
EDA期末复习试卷.docx_第2页
第2页 / 共13页


点击查看更多>>
资源描述
一、 填空题(10分,每小题1分)  1. 用EDA技术进行电子系统设计的目标是最终完成      ASIC              的设 计与实现。 2. 可编程器件分为 FPGA     和 CPLD   。  3.随着EDA技术的不断完善与成熟,  自顶向下的设计方法更多的被应用于Verilog HDL设计当中。  4.目前国际上较大的PLD器件制造公司有 Altera  和  Xilinx         公司。 5.完整的条件语句将产生  组合电路,不完整的条件语句将产生时序电路。  6.阻塞性赋值符号为     =            ,非阻塞性赋值符号为         <=            。   二、选择题 (10分,每小题2分)  1.  大规模可编程器件主要有 FPGA、CPLD两类,下列对FPGA结构与工作原理的描述 中,正确的是     C           。   A.FPGA全称为复杂可编程逻辑器件;  B.FPGA是基于乘积项结构的可编程逻辑器件;  C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置;  D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。  2.  基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入 →  综合     →__ __→         →适配→编程下载→硬件测试。正确的是 B          。  ①功能仿真 ②时序仿真 ③逻辑综合 ④配置 ⑤分配管脚               A.③①   B.①⑤    C.④⑤    D.④②  3.  子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行 速度(即速度优化);指出下列哪些方法是面积优化     B        。    ①流水线设计 ②资源共享 ③逻辑优化 ④串行化  ⑤寄存器配平 ⑥关键路径法  A. ①③⑤  B.②③④     C.②⑤⑥   D.①④⑥  4. 下列标识符中,____A______是不合法的标识符。  A.9moon      B.State0    C. Not_Ack_0   D. signall  5. 下列语句中,不属于并行语句的是:___D____ 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、 简述有限状态机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  ; i nput [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      成为共赢上传

当前位置:首页 > 应用文书 > 其他

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

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

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服