1、2015 年FPGA 技术考试题一、 填空题。 (每题 1 分,共 15 分) 1. 将硬件描述语言转化为硬件电路的过程称为 。 2. 是基于查找表结构的可编程逻辑器件。 3 早期的 是从 GAL 的结构扩展而来。 4不正确使用 else 的不完整的 IF 语句,其综合结果会产生 。 5. FPGA/CPLD 配置方式中,由由可编程逻辑器件引导的配置过程称为 。 二、问答题(每题 5 分,共 20 分) 1 简要说明一下功能仿真和时序仿真的异同。设计过程中如果只做功能仿真,不 做时序仿真,设计的正确性是否能得到保证。 2. 基于 EDA 软件的 FPGA / CPLD 设计流程为? 3. 从互
2、联结构上,可编程逻辑器件可分为哪两类?其特点是什么? 三、程序分析 1、程序补充完整 空(1) shifter(空(2 ),clr,dout);input din,clk,clr; Output 空(3 )dout;reg7:0 dout; always (posedge clk or posedge ) begin if (空(4)) dout=0;i=i-1) outi=ai end endtask always(code or a or b) begin case(code) 2b00: my_and(a,b,c); 2b01: c=a|b; 2b10: c=a-b; 2b11: c=a
3、+b; default : c = 4b0000; endcase end endmodule timescale 1ns/100ps module test_tp; reg3:0 a,b; reg1:0 code;wire4:0 c;parameter DELY = 100; test22 u1(code,a,b,c); initial begin code=4d0;a= 4b0000; b= 4b1111; #DELY code=4d0; a= 4b0111; b= 4b1101; #DELY code=4d1; a= 4b0001; b= 4b0011; #DELY code=4d2;
4、a= 4b1001; b= 4b0011;#DELY code=4d3; a= 4b0011; b= 4b0001; #DELY code=4d3; a= 4b0111; b= 4b1001; #DELY $finish; end endmodule 3.画出下面程序描述的有限状态机的状态转移图 module fsm (Clock, Reset, A, F, G); input Clock, Reset, A;output F,G; reg F,G; reg 1:0 cur_state ; parameter Idle = 2b00, Start = 2b01, Stop = 2b10, Cl
5、ear = 2b11; always (posedge Clock)if (!Reset) begin cur_state = Idle; F=0; G=0; end else case (cur_state)idle: begin if (A) begin cur_ state = Start; G=0; end else cur_state = idle;end start: if (!A) cur_state = Stop; else cur_state = start; Stop: begin if (A) begin cur_state = Clear;F = 1; end else
6、 cur_state = Stop; end Clear: begin if (!A) begin cur_state =Idle;F=0; G=1;end else cur_state = Clear;end endcase endmodule4 、根据下面的 Verilog HDL 代码, 画出综合后的电路图。 module test12(out,clk,in1,in2,in3,in4); input in1,in2,in3,in4, clk; output out; reg out; reg temp1,temp2; always (posedge clk) begin temp1 =
7、in1 | in2;temp2 = temp1 out = temp2 end endmodule 四、编程题。 1. 根据图一所示的原理图写出相应的 Verilog HDL 程序,其中例化名为 inst1,inst2,inst3 的模块均是上升沿触发的触发器。 2. 设计一个序列检测器, 用于检测串行的二进制序列, 每当连续输入三个或三个以 上的 1 时, 序列检测器的输出 flag_out =1b1,否则其它情况下输出 flag_out =1b0。 ()画出状态图。 ()写出实现程序。 ()设时钟 clk 仿真周期为 400ns,试编写仿真输入激励信号的测试文件,画出 该测试文件对应的输出信号的波形;