求职攻略| 用D触发器搭建4进制的计数器

如题所述

文章下方附学习资源,自助领取。

今天为大家解析诺瓦科技数字IC设计岗的简答题,简答题需要根据题目要求在纸上写出答案,然后通过手机拍照上传。

回看:第一期;第二期;

11、用D触发器搭建4进制的计数器。

解析:本题目主要考察了数字电路基础中的计数器设计。

题目看上去很简单,要求实现一个4进制的计数器,但要用D触发器来搭建,这显然不会像写Verilog实现一样容易,所以我们要用数字电路中的传统方法来设计。

4进制计数器必须有4个不同的状态,所以需要两个D触发器组成这个电路。电路的状态表如下所示:

电路次态的卡诺图如下所示:

计数器的状态方程为:Q*0 = Q’1Q’0 | Q1Q’0 = Q’0、Q*1 = Q’1Q0 | Q1Q’0

输出方程为:C = Q1Q0

将D触发器的特性方程Q(n+1) = D(n)(Q*0是Q0的次态,所以Q*0 = D0,同理Q*1 = D1)代入上面计数器的状态方程得到下面的关系:D0 = Q’0、D1 = Q’1Q0 | Q1Q’0

根据代入后的状态方程绘制出的电路图如下所示(这里我们直接通过编写Verilog来自动生成电路图):

---------------------------------01module test(02inputwireclk,03inputwirerst_n,0405outputwire[1:0]counter06);0708reg Q1, Q0;09wireD1, D0;1011always@(posedge clk ornegedge rst_n)12if(!rst_n)13 Q0 <=1'b0;14else15 Q0 <= D0;1617always@(posedge clk ornegedge rst_n)18if(!rst_n)19 Q1 <=1'b0;20else21 Q1 <= D1;2223assign D0 =~Q0;24assign D1 =(~Q1&Q0)|(Q1&(~Q0));25assign counter ={Q1,Q0};2627endmodule---------------------------------

关于用D触发器设计相关的题目还有“求职攻略| 用D触发器实现9分频电路,设计步骤详解(大华FPGA岗解析)”第46题目。

3年嵌入式物联网学习资源整理分享:C语言、Linux开发、数据结构;软件开发,STM32单片机、ARM硬件开发、物联网通信开发、综合项目开发教程资料;笔试面试真题。点击下方插件免费领取↓↓↓

12、如下代码在综合时是否可以综合出时钟门控电路?如果能,画出时钟门控示意图,如果不能,请修改使信号out可以综合出时钟门控电路。

always@(posedge clk or negedge rst_n) begin if(rst_n == 1’b0) out <= 64’b0;elseif(out_en)out <= data;elseout <= 64’b0;

end

解析:本题目主要考察了时钟门控电路的设计时钟门控电路一定要有一个使能信号来控制时钟是否工作。题干中的代码确实有一个使能信号,但无论该使能信号是否有效,时钟都始终处理工作状态。也就是说,这个使能信号无法对时钟进行控制,而是控制输出数据等于输入还是为0,所以代码在综合时不能综合出时钟门控电路,综合出的结果如下所示:

我们在“求职攻略| 这种情况一定要用门控时钟!”有详细的讲解过如何给系统插入一个安全有效的门控制时钟,参考后将本例代码修改为如下所示:

---------------------------------reg enl;always@(posedge clk ornegedge rst_n)beginif(rst_n ==1'b0) enl <=1'b0;else enl <= out_en;endassign clk_en = clk & out_en;always@(posedgeclk_en ornegedge rst_n)beginif(rst_n ==1'b0)out <=16'b0;elseout <= data;end---------------------------------综合出的结果如下所示,使能信号可以控制时钟是否工作。

13、clk_tx为50MHz,clk_rx为120MHz,两者之间异步,sig_a为clk_tx时钟域的脉冲信号,请画出将sig_a跨时钟域到clk_rx域的异步处理电路示意图。解析:本题目主要考察了单比特跨时钟域的电路结构这道题目非常简单,是单比特信号跨时钟域的问题,且是慢速时钟跨域同步到快速时钟域的问题,直接将单比特信号在快速时钟域打两拍即可,电路图这里不再给出。单比特信号从快速时钟跨域同步到慢速时钟域的跨时钟域的电路结构大家也应该记住,请参考“加油站| 单比特信号跨时钟域问题详解(大疆FPGA逻辑岗A卷)”第1题。

14、触发器D1(延时Tck-q)的建立时间最大为T1max,最小为T1min,触发器D2(延时Tck-q)的建立时间最大为T2max,最小为T2min,组合逻辑电路最大延迟为Tmax,最小为Tmin。请问,时钟周期T应该满足什么条件?触发器D2的保持时间应满足什么条件。解析:本题目主要考察了时序分析的计算关于时序分析的相关计算是重点,是一道必考题,相关的公式推导我们在“加油站| FPGA时序分析看这篇就够了(大疆逻辑岗)”第4题中有过详细的讲解。另外这道题目还给出了建立时间、组合逻辑电路的最大、最小延迟,在求不同的变量时要选取不同的值。根据P(Process)V(Voltage)T(Temperature)的要求,我们应该使用慢速、低压、高温的模型(延迟大)来分析建立时间相关的问题,用快速、高压、低温的模型(延迟小)来分析保持时间相关的问题,这样才能够获得建立时间和保持时间最边界的情况,方便我们分析出最准确的时序关系。(对于落后的工艺是遵循这个规则的,但是对于先进工艺来说,小尺寸产生的一些效应变得更为复杂,很难确定哪个corner是最坏的情况,为了更准确的分析时序关系,通常使用foundary提供的signoff corner来做时序分析,所以本题目我们还是用落后的工艺规则来分析)。第一问求时钟周期应满足什么条件,需要使用建立时间余量公式:[T-(Tco+Tdata)+△T]-Tsu≥0,所以要用延迟大的参数,得时钟周期T应满足:T≥T1max+Tmax第二问求保持时间应满足什么条件,需要使用保持时间余量公式:[(Tco + Tdata)-△T] -Th≥0,所以要用延迟小的参数,得保持时间应满足:Th≥T1min+TminEND

原文链接: mp.weixin.qq.com/s/yrrK... 转载自:达尔闻说 文章来源于达尔闻说 原文链接: 求职攻略| 用D触发器搭建4进制的计数器

版权声明:本文来源网络,免费传达知识,版权归原作者所有,如涉及作品版权问题,请联系我进行删除。
温馨提示:内容为网友见解,仅供参考
无其他回答

求职攻略| 用D触发器搭建4进制的计数器
所以要用延迟小的参数,得保持时间应满足:Th≥T1min+TminEND原文链接: mp.weixin.qq.com\/s\/yrrK... 转载自:达尔闻说 文章来源于达尔闻说 原文链接: 求职攻略| 用D触发器搭建4进制的计数器

求职攻略| 测DCDC输出电压纹波,示波器探头用X1还是X10?
D.AC耦合,1:1探头 解析:本题考察DCDC纹波相关的知识。由于输出电压纹波主要是电容充放电引起的,相当于在直流输出电压上叠加一个交流成分,因此最好使用AC耦合来测量。同时由于纹波电压一般峰峰值在mV级,为了避免示波器探头造成的衰减引入测量误差,所以使用1:1探头,不对测量的纹波电压进行衰减,所以...

相似回答
大家正在搜