微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > Re: 求教一道面试题

Re: 求教一道面试题

时间:12-12 整理:3721RD 点击:
用一个简单的寄存器,时钟端为mux的输出,该mux的数据分别是clka和~clkb,控制端为输出信号out,寄存器的数据信号为~out。just try

module test (/*AUTOARG*/
   // Outputs
   q_o,
   // Inputs
   clka_i, clkb_i, reset_n_i
   ) ;
   input clka_i;
   input clkb_i;
   input reset_n_i;
  
   output q_o;
   reg    outbuff_pos;
   reg    outbuff_neg;
   assign q_o = outbuff_pos ^ outbuff_neg;
   always @ ( negedge reset_n_i or posedge clka_i) begin
      if (!reset_n_i) begin
         /*autoreset*/
         // Beginning of autoreset for uninitialized flops
         outbuff_pos <= 1'h0;
         // End of automatics
      end
      else if (1)  begin
         if (outbuff_neg == 0) begin
            outbuff_pos <= 1;
         end
         else begin
            outbuff_pos <= 0;            
         end
      end      
   end
   always @ ( negedge reset_n_i or negedge clkb_i) begin
      if (!reset_n_i) begin
         /*autoreset*/
         // Beginning of autoreset for uninitialized flops
         outbuff_neg <= 1'h0;
         // End of automatics
      end
      else if (1)  begin
         if (outbuff_pos == 0) begin
            outbuff_neg <= 0;  
         end
         else begin
            outbuff_neg <= 1;            
         end
      end      
   end
  
endmodule // test

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top