各位大大,用verilog 怎么描述一个边沿触发的RS触发器
有没有这样的触发器:输入信号a,b,输出信号c,
a上升沿到来时,c输出低电平;
b上升沿到来时,c输出高电平。
a和b的下降沿对c无影响。
我查了下,像RS触发器一样。但我希望对上升沿敏感而对电平不敏感的。 弄一个带异步清零的D触发器应该就可以了 我也想过的,异步清零端是高优先的,它起作用的时候就无法触发了。
这个能否换种描述,就是一个1位的计数器,a上升沿触发一下加1,b上升沿触发一下减1,怎么实现? 需求定义不明确:
c的上电复位值是多少?
a和b的上升沿同时来要如何响应? c上电是高电平,若a,b同时到来,c保持不变。 自己解决了,有没有人有更简便的方法
lihui_mc 发表于 2013-10-12 15:53 static/image/common/back.gif
自己解决了,有没有人有更简便的方法
你这个没对啊,上电默认输出是低。 lihui_mc 发表于 2013-10-12 15:53 static/image/common/back.gif
自己解决了,有没有人有更简便的方法
你的电路,只要最后输出前取个反,就能实现上电后默认输出为高、也能实现R信号上升沿将输出拉高以及S信号上升沿将输出拉低的功能,但是不能实现R和S同时来的时候输出保持不变。 always @ (posedge clk or negedge rst_n)
begin
if(!rst_n)
begin
r_sync <= 1'd1;
s_sync <= 1'd1;
c <= 1'd1;
end
else
begin
c <= ((r~^r_sync)&(s^s_sync)) | (c&(r~^r_sync)) | (c&(s^s_sync));
r_sync <= r;
s_sync <= s;
end
else;
end eduhf_123 发表于 2013-10-12 17:31 static/image/common/back.gif
看了你的代码,用一个比较高的clk采样R和S确实是个方法,可惜不适合我的用途,我的R和S脉冲只有10ns。
我要求S之后2ns的时候R,仍然能够正确,目前正在仿真,似乎也通不过,有可能逻辑延迟大了或者EPM240内部寄存器的建立时间不满足。
有人能分析下我的电路能否达到这样的速度。 lihui_mc 发表于 2013-10-12 20:07 static/image/common/back.gif
看了你的代码,用一个比较高的clk采样R和S确实是个方法,可惜不适合我的用途,我的R和S脉冲只有10ns。
我要求S之后2ns的时候R,仍然能够正确,目前正在仿真,似乎也通不过,有可能逻辑延迟大了或者EPM240内部寄存器的建立时间不满足。
有人能分析下我的电路能否达到这样的速度。
这么苛刻的时间要求,确实不能用纯粹的同步逻辑来实现了。
一个问题:如果R的上升沿和S的交替出现,那么相邻两个R或S的时间间隔最小会有长时间? eduhf_123 发表于 2013-10-12 23:55 static/image/common/back.gif
这么苛刻的时间要求,确实不能用纯粹的同步逻辑来实现了。
一个问题:如果R的上升沿和S的交替出现,那么 ...
100M晶振,相邻就是10ns的。
我估计我的电路性能也不够,目前已转变思路了,换成门延时来做,其实我的目的是产生一个8ns的低电平,用于写Sram。想达到100M的写入速度,sram是IS61LV6416-10。 lihui_mc 发表于 2013-10-13 07:30 static/image/common/back.gif
100M晶振,相邻就是10ns的。
我估计我的电路性能也不够,目前已转变思路了,换成门延时来做,其实我的目 ...
是啊,参数到达器件性能的极限时,就应该考虑换个思路。
页:
[1]