FPGA/IC笔试——联发科
作者:互联网
4.1 ASIC流程,说出5个以上环节;Verilog说出5个以上keyword。
4.2 用一个mux和一个反相器实现xor,画电路或Verilog代码实现。
module xor_rill ( input a, input b, output z ); assign z = a?(~b):b; endmodule
4.3 如下图所示:clk到Q的输出延时为T1min<T1<T1max,组合逻辑的延时为:T2min<T2<T2max,时钟周期为T。满足约束条件下,计算寄存器的setup和holdup。
T1max + T2max + Tsetup < T; 所以:Tsetup < T-T1max-T2max; T1min + T2min > Tholdup。
4.4 如下图所示:根据A的波形,画出B,C的波形,寄存器是同步清零的。
4.5 十进制的12.8125用二进制的数表示,十六进制的A8D6用八进制的数表示。
12 = 1100; 0.8125 × 4 = 3.25,表示:11.01,所以0.8125=0.1101; 所以,12.8125 = 1100.1101。 A8D6 = 1010100011010110 = 124326。
4.6 SV比Verilog强在哪里?OVM、UVM、VMM是什么?
SV支持面向对象的编程,支持断言的语法,支持更多的数据类型。 VMM:Verification Methodology Manual,由ARM和Synopsys提出的,寄存器解决方案RAL机制; OVM:Open Verification Methodology,Mentor和Cadence共同提出,引进了factory机制; UVM:Universal Verification Methodology,通用验证方法学,Accellera提出的,继承了VMM和OVM的优点,克服了二者的缺点,代表了验证方法学的主流,并得到了三大EDA厂商Cadence、Synopsys和Mentor Graphics的支持。
4.7 用Python或Perl写程序,在xxx.log中找到fail单词。
my %input_file = "xxx.log"; my $inf; open($inf,"<".$input_file)||die"cannot open $input_file"; while(<$inf>){ my $input_line =$_; $input_line =~ m/fail/; print“匹配的字符:$&\n";} close $inf;
4.8 int b = 100;int *a; a=&b有什么意义?a=b有什么意义?
a=&b定义指针变量a,变量指向整形数据b的地址,printf(“%d”,a)结果为100; a=b表示指针变量a的值为100,a表示一个地址为100的数据。
4.9
4.10 cpu cache miss/hit区别 CPU要访问的数据在Cache中有缓存,称为“命中” (Hit),反之则称为“缺失” (Miss)。 当运算器需要从存储器中提取数据时,它首先在最高级的cache中寻找然后在次高级的cache中寻找。如果在cache中找到,则称为命中hit;反之,则称为不命中miss。 11、110序列选择器 画状态图 写verilog代码
1 module Sequential_Detector( 2 input clk, 3 input rst_n, 4 input in, 5 output out 6 ); 7 parameter s0 = 2'b00, 8 s1 = 2'b01, 9 s2 = 2'b10; 10 reg [1:0] cur_state,next_state; 11 reg out_r; 12 13 always_ff(posedge clk,negedge rst_n)begin 14 if(!rst_n) 15 cur_state <= s0; 16 else 17 cur_state <= next_state; 18 end 19 20 always_comb begin 21 case(cur_state) 22 s0: next_state = (in==1'b1)?s1:s0; 23 s1: next_state = (in==1'b1)?s2:s0; 24 s2: nexe_state = (in==1'b0)?s0:s2; 25 default: nexe_state = s0; 26 endcase 27 end 28 29 always_ff@(posedge clk,negedge rst_n)begin 30 if(!rst_n) 31 out_r <= '0; 32 else begin 33 case(cur_state) 34 s0: out_r <= '0; 35 s1: out_r <= '0; 36 s2: begin 37 if(in==0) 38 out_r <= '1; 39 else 40 out_r <= '0; 41 end 42 endcase 43 end 44 45 assign out = out_r; 46 47 endmodule
12、一道逻辑推理题 某夜,A、B、C、D四人要过桥,该桥每次只能通行2个人,只有一个手电筒,过桥必须持有手电筒,A、B、C、D四人单独过桥的时间分别为1分钟、2分钟、5分钟、10分钟.现要求四人最短时间完成过桥,不能折返.请问该如何操作?
答:A和B过桥,A回来,C和D过桥,B回来,A和B再过桥;用时2+1+10+2+2=17min
分析:如题意描述,四人过桥需去3返2共5次(第1、3、5趟过桥两人、第2、4趟返回一人),由于双人过桥时是以速度较慢那人为准,所以让速度最慢和次慢的两人一起过桥(避免下一次速度次慢的人拉低过桥速度),而对于返回这两次应为耗时较少的人选,所以速度快的两人应先过桥再折返一人。同理:A和B过桥,B回来,C和D过桥,A回来,A和B再过桥;用时2+2+10+1+2=17min
标签:10,FPGA,clk,cache,过桥,联发科,input,IC,100 来源: https://www.cnblogs.com/yiquwange/p/14715923.html