微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请教各位给指教一下,看看下面的代码,具体的电路是什么

请教各位给指教一下,看看下面的代码,具体的电路是什么

时间:10-02 整理:3721RD 点击:
请教各位,帮我看看下面的这段代码具体的电路是什么?
   always @(posedge clk or negedge rst_n)
begin
  if(~rst_n)
    arb_flag <= 1'b0           ;
  else
    case(rtmp)
      2'b10  : flag <= 1'b0;
      2'b01  : flag <= 1'b1;
      default: ;
    endcase
end
小弟觉得应该是一个选择器后面接一个d触发器,可是选择器的默认是空的,有可能在默认的情况下,保存复位状态的值或者其他两种状态的一种? 不知小弟的理解对不?
这种电路的写法对不对,或者应该怎么写。
在组合逻辑电路中,各种状况应该详细的写清楚,不应该缺省某个状态。而在时序电路中,就像上面的电路,我觉得应该是一点组合电路加上一个d触发器,d触发器前面这段电路也应该明白的写清楚各个状态时什么值? 不知道小弟的理解对不对?  请教各位给指教一下啊。

flag 和 arb_flag不是同一个信号。你这个主要是对flag赋值吧。可以考虑reset下flag啊

小编的arb_flag和flag应该是同一个变量,是手误吧
暂且当成是小编的手误来理解。
复位状态下flag为0,复位状态结束后,由于选择位不确定所以flag也会是不确定状态
你这段代码对应的电路是一个四选1的mux和d触发器。
mux四个个输入端分别为1,0,dff的输出端,dff的输出端
mux的输出为dff的数据输入端
不知道你是不是要实现这么个电路,所以无法告诉你该怎么写。

同意楼上的分析!



    是我的笔误,都是同一个信号。
    always @(posedge clk or negedge rst_n)
    begin
           if(~rst_n)
                  flag <= 2'b0           ;
           else
                     case(rtmp)
                            2'b10  :  flag <= 2'b00;
                            2'b01  :  flag <= 2'b01;
                            default: flag <= 2'b10;
                     endcase
           end
    这个是一个选择器后面接了一个D触发器
   那么下面的是什么电路?
always @(posedge clk or negedge rst_n)
       begin
                   if(~rst_n)
                                  flag <= 1'b0           ;
                    else
                                     case(rtmp)
                                                  2'b10  :  flag <= 1'b0;
                                                  2'b01  :  flag <= 1'b1;
                                                 default:  ;
                                     endcase
     end



    是我的笔误,是同一个信号,小编,看看我给楼下的那个回复,帮我在分析一下啊,请教了。谢谢。

Q环回到D,或者变成Clock Gating Enable。

2個例子不同在,一個default會給值,另一個維持不變

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

网站地图

Top