由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
EE版 - 问个关于FIFO的问题
相关主题
请教两个synchronizer的问题用什么画时序图比较方便?
请教一个verilog code求教: postdoc 方向选择
问个interview问题高手点解:如何从matlab生成hdl文件?
A question of a digital design请教个方向选择的问题吧
how can we achieve 50% duty cycle from a non-50% clock写个IC Design的面经吧
ripple counter question问个面试题
问个sampling error 的问题请教关于verilog综合的问题
Re: 用VHDL 写算法请懂FSM(有限状态机)的大侠来帮帮忙啊
相关话题的讨论汇总
话题: fifo话题: full话题: cycle话题: wr话题: en
进入EE版参与讨论
1 (共1页)
v***6
发帖数: 42
1
一个synchronous的FIFO, 如果full信号在第n-1个clock cycle是低, 在第n个clock
cycle是高, 那么在第n个clock cycle, 写入端是否还能再写进FIFO一个数据呢?
具体信号时序如下,full和wr_en都是高有效, 请问data 2是否被写进了FIFO里?
clk: |<- cycle n-1 ->|<- cycle n ->|
full: | low | high |
wr_en: | high |
data_in:| data 1 | data 2 |
c****p
发帖数: 6474
2
取决于FIFO实现吧。
我现在做的project里面,full只是个信号,
靠写入端保证不在full的时候assert wr_en。
如果写入端硬给wr_en有效的话还是会写入的,
当然FIFO的数据就被破坏了;
FIFO也可以实现成full的时候wr_en不论是啥都无效,
但是这时候写入端认为已经写入的数据实际没写入,
最后也会出问题。
总而言之,这两种情况都会出问题,
所以应该在设计上保证full的时候wr_en为低。

【在 v***6 的大作中提到】
: 一个synchronous的FIFO, 如果full信号在第n-1个clock cycle是低, 在第n个clock
: cycle是高, 那么在第n个clock cycle, 写入端是否还能再写进FIFO一个数据呢?
: 具体信号时序如下,full和wr_en都是高有效, 请问data 2是否被写进了FIFO里?
: clk: |<- cycle n-1 ->|<- cycle n ->|
: full: | low | high |
: wr_en: | high |
: data_in:| data 1 | data 2 |

h*******o
发帖数: 778
3
It's too difficult to enable full asserted and wr_en deasserted at the same
time. FIFOs should have some reserve space so that even full signal is on,
there is still space in FIFO and it doesn't hurt to write several more.

【在 c****p 的大作中提到】
: 取决于FIFO实现吧。
: 我现在做的project里面,full只是个信号,
: 靠写入端保证不在full的时候assert wr_en。
: 如果写入端硬给wr_en有效的话还是会写入的,
: 当然FIFO的数据就被破坏了;
: FIFO也可以实现成full的时候wr_en不论是啥都无效,
: 但是这时候写入端认为已经写入的数据实际没写入,
: 最后也会出问题。
: 总而言之,这两种情况都会出问题,
: 所以应该在设计上保证full的时候wr_en为低。

v***6
发帖数: 42
4
请教楼上
为啥很难实现enable full asserted and wr_en deasserted at the same
time?
如果把(!full&&wr_en)连到FIFO的memory的write enable上, 行不行
h*******o
发帖数: 778
5
Your approach keeps FIFO safe, but the writing data
may get lost when both full and wr_en is on. The sender needs cycles to get
the full signal (synchronization, long-distance communication latency).

【在 v***6 的大作中提到】
: 请教楼上
: 为啥很难实现enable full asserted and wr_en deasserted at the same
: time?
: 如果把(!full&&wr_en)连到FIFO的memory的write enable上, 行不行

x********u
发帖数: 1118
6
为什么一定要full,做个almost full不就行了

【在 v***6 的大作中提到】
: 请教楼上
: 为啥很难实现enable full asserted and wr_en deasserted at the same
: time?
: 如果把(!full&&wr_en)连到FIFO的memory的write enable上, 行不行

1 (共1页)
进入EE版参与讨论
相关主题
请懂FSM(有限状态机)的大侠来帮帮忙啊how can we achieve 50% duty cycle from a non-50% clock
请问各位大侠:涉及到SRAM的数字电路设计需要注意什么?ripple counter question
CS背景借道问一个EE的embedded programming问题问个sampling error 的问题
IC设计工和验证工两个职位选择的话,选哪个对职业发展好?Re: 用VHDL 写算法
请教两个synchronizer的问题用什么画时序图比较方便?
请教一个verilog code求教: postdoc 方向选择
问个interview问题高手点解:如何从matlab生成hdl文件?
A question of a digital design请教个方向选择的问题吧
相关话题的讨论汇总
话题: fifo话题: full话题: cycle话题: wr话题: en