IC/FPGA校招笔试题分析(一)

举报
李锐博恩 发表于 2021/07/15 02:12:32 2021/07/15
2.7k+ 0 0
【摘要】 某发科的一个题目,仅仅给出下面一个电路图,让你画出Q1,Q2以及Q3的波形,并描述电路功能。 可以看出,这个电路很简单(可tm的当时就是没做出来),我当时疑惑的是初值是什么,输入初值是什么? 可想想和输入初值有个毛线关系呀,第一个触发器的输入是第二个以及第三个触发器的输出的反馈,是Q1与Q2的或非; 只要触发器复位有初值即可,一般触发器复位初值为0,这里也默认为0,...

某发科的一个题目,仅仅给出下面一个电路图,让你画出Q1,Q2以及Q3的波形,并描述电路功能。

可以看出,这个电路很简单(可tm的当时就是没做出来),我当时疑惑的是初值是什么,输入初值是什么?

可想想和输入初值有个毛线关系呀,第一个触发器的输入是第二个以及第三个触发器的输出的反馈,是Q1与Q2的或非;

只要触发器复位有初值即可,一般触发器复位初值为0,这里也默认为0,那么输入值在复位时应该为1.

那么当正常运行(复位无效)时,q0的第一个值为复位值延迟一拍并持续一个时钟,之后q1、q2就简单了。

为了清晰的分析这个问题,我们把这个电路用Verilog描述出来,之后验证。


      `timescale 1ns / 1ps
      //
      // Company: 
      // Engineer: reborn lee
      // 
      // Create Date: 2019/07/24 19:57:47
      // Design Name: 
      // Module Name: test
      //
      module test(
     	input rst_n,
     	input clk,
     	output out2
      );
     	wire in1;
     	reg q0, q1, q2;
     	always@(posedge clk or negedge rst_n) begin
     		if(!rst_n) begin
     			q0 <= 1'b0;
     			q1 <= 1'b0;
     			q2 <= 1'b0;
     		end
     		else begin
     			q0 <= in1;
     			q1 <= q0;
     			q2 <= q1;
     		end
     	end
     	assign in1 = !q0 & !q1;
     	assign out2 = q2;
      endmodule
  
 

生成对应的RTL原理图:

可见,和题目所给的电路图几乎一致。

在仿真验证:


      `timescale 1ns / 1ps
      //
      // Company: 
      // Engineer: reborn lee
      // 
      // Create Date: 2019/07/24 20:19:38
      // Design Name: 
      // Module Name: sim_test
      //
      module sim_test(
       );
      	reg clk;
      	reg rst_n;
      	wire out2;
      	initial begin
      		clk = 0;
      		forever
     		#2 clk = ~clk;
     	end
     	initial begin
      		rst_n = 1'b0;
       #5
       rst_n = 1'b1;
     	end
     	test test_tb(
      	.rst_n(rst_n),
      	.clk(clk),
      	.out2(out2)
      	);
      endmodule
  
 

观察波形图,与我们分析的一致。

最后至于这个电路的功能?

这会是什么功能呢?我暂时不敢多说,欢迎评论,给出你的答案。

文章来源: reborn.blog.csdn.net,作者:李锐博恩,版权归原作者所有,如需转载,请联系作者。

原文链接:reborn.blog.csdn.net/article/details/97177293

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。