|
本帖最后由 RAMILE 于 2014-9-24 23:23 编辑
单稳态触发计数器,在trig的上升沿开启计数,当计数达到进位时候触发状态翻转,停止计数,等待下一个trig的上升沿到来
这个电路使用两个T flip-flop进行xor计算控制计数器累计,其中一个T flip-flop检测trig,另一个检测count的进位边沿
- module monostable
- (
- input clk,
- input trig,
- output testout2
- );
- parameter WIDTH = 10;
- reg state_in;
- reg state_ref;
- reg [(WIDTH-1):0]coutn_out;
- wire trig_gate;
- wire trig_out;
- wire carry;
- assign carry = coutn_out[WIDTH-1];
- assign trig_gate = testout2;
- assign trig_out = trig & trig_gate;
- //assign testout = coutn_out[(WIDTH-1):0];
- assign testout2 = ( state_ref == state_in);
-
- always @(posedge trig )
- if(testout2)
- state_in = ~state_in;
- else
- state_in = state_in;
-
- always @(posedge clk)begin
- if(state_in != state_ref)
- coutn_out = coutn_out + 1'b1;
- else
- coutn_out = 0;
- end
-
- always @(posedge carry )
- state_ref <= ~state_ref;
-
- endmodule
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|