verilog always综合出来的信号是否要经过触发器?
时间:10-02
整理:3721RD
点击:
always @( r_MAS_FSM ) begin
case ( r_MAS_FSM )
P_MAS_IDLE : r_DATA_O <= 1'b0 ;
P_MAS_START : r_DATA_O <= 1'b0 ;
P_MAS_TX : r_DATA_O <= r_WR_SHF[7] ;
P_MAS_TX_ACK : r_DATA_O <= 1'b0 ;
P_MAS_DONE : r_DATA_O <= 1'b1 ;
default : r_DATA_O <= 1'b0 ;
endcase
end
对于这个语句我在实际综合后查看电路发现最终输出的r_DATA_O根本没有经过触发器
也就是说这个语句综合产生的电路和我用assign产生的没有区别,都是组合逻辑,是这样的吗?
对于always语句是不是只有敏感条件是上升沿或者下降沿的时候综合之后才会经过D触发器
否则产生出来的还是组合逻辑电路,是不是这样的情况?
有谁知道的能告诉一下哇,多谢各位了?
case ( r_MAS_FSM )
P_MAS_IDLE : r_DATA_O <= 1'b0 ;
P_MAS_START : r_DATA_O <= 1'b0 ;
P_MAS_TX : r_DATA_O <= r_WR_SHF[7] ;
P_MAS_TX_ACK : r_DATA_O <= 1'b0 ;
P_MAS_DONE : r_DATA_O <= 1'b1 ;
default : r_DATA_O <= 1'b0 ;
endcase
end
对于这个语句我在实际综合后查看电路发现最终输出的r_DATA_O根本没有经过触发器
也就是说这个语句综合产生的电路和我用assign产生的没有区别,都是组合逻辑,是这样的吗?
对于always语句是不是只有敏感条件是上升沿或者下降沿的时候综合之后才会经过D触发器
否则产生出来的还是组合逻辑电路,是不是这样的情况?
有谁知道的能告诉一下哇,多谢各位了?
这段代码产生组合逻辑,要使用D触发器,则要设置敏感条件为时钟沿
always块中可以描述组合逻辑,也可以描述时序逻辑,关键看你的always块中的敏感列表,如always@(posedge clk),即以时钟上升沿或下降沿为触发信号的,会被综合成时序电路;而以电平为敏感信号的,如always@(clk),则会被综合为组合逻辑电路。