x393
1.0
FPGAcodeforElphelNC393camera
Main Page
+
Packages
Packages
+
Package Functions
All
Functions/Tasks/Always Construct
Variables
+
Design Unit List
Design Unit List
Design Units
Design Unit Hierarchy
+
Design Unit Members
+
All
1
2
3
5
7
8
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Functions/Tasks/Always Construct
_
a
c
e
f
g
l
p
r
s
t
w
+
Variables
1
2
3
5
7
8
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Files
File List
+
File Members
+
All
c
d
s
u
+
Variables
c
d
s
u
•
All
Classes
Namespaces
Files
Functions
Variables
fifo_sameclock_control.v
Go to the documentation of this file.
1
26
`timescale 1ns/1ps
27
28
module
fifo_sameclock_control
#(
29
parameter
WIDTH
=
9
30
)(
31
input
clk
,
32
input
rst
,
// clock-sync reset
33
input
wr
,
// write to FIFO (also applied directly to memory)
34
input
rd
,
// read from FIFO, internally masked by nempty
35
output
nempty
,
// at read side
36
output
[
WIDTH
:
0
]
fill_in
,
// valid at write side, latency 1 for read
37
output
reg
[
WIDTH
-
1
:
0
]
mem_wa
,
38
output
reg
[
WIDTH
-
1
:
0
]
mem_ra
,
39
output
mem_re
,
40
output
mem_regen
,
41
output
reg
over
,
42
output
reg
under
43
44
);
45
reg
[
WIDTH
:
0
]
fill_ram
;
46
47
reg
ramo_full
;
48
reg
rreg_full
;
49
50
assign
mem_re
= (|
fill_ram
) && (!
ramo_full
|| !
rreg_full
||
rd
);
51
assign
mem_regen
=
ramo_full
&& (!
rreg_full
||
rd
);
52
assign
nempty
=
rreg_full
;
53
assign
fill_in
=
fill_ram
;
54
55
always
@ (
posedge
clk
)
begin
56
if
(
rst
)
mem_wa
<=
0
;
57
else
if
(
wr
)
mem_wa
<=
mem_wa
+
1
;
58
59
if
(
rst
)
mem_ra
<=
0
;
60
else
if
(
mem_re
)
mem_ra
<=
mem_ra
+
1
;
61
62
if
(
rst
)
fill_ram
<=
0
;
63
else
if
(
wr
^
mem_re
)
fill_ram
<=
mem_re
? (
fill_ram
-
1
) : (
fill_ram
+
1
);
64
65
if
(
rst
)
ramo_full
<=
0
;
66
else
if
(
mem_re
^
mem_regen
)
ramo_full
<=
mem_re
;
67
68
if
(
rst
)
rreg_full
<=
0
;
69
else
if
(
mem_regen
^ (
rd
&&
rreg_full
))
rreg_full
<=
mem_regen
;
70
71
if
(
rst
)
under
<=
0
;
72
else
under
<=
rd
&& !
rreg_full
;
73
74
if
(
rst
)
over
<=
0
;
75
else
over
<=
wr
&&
fill_ram
[
WIDTH
] && !
fill_ram
[
WIDTH
-
1
];
76
77
end
78
79
endmodule
80
fifo_sameclock_control.10486mem_regen
10486mem_regen
Definition:
fifo_sameclock_control.v:40
fifo_sameclock_control.10484mem_ra
reg [WIDTH-1:0] 10484mem_ra
Definition:
fifo_sameclock_control.v:38
fifo_sameclock_control.10490ramo_full
10490ramo_fullreg
Definition:
fifo_sameclock_control.v:47
fifo_sameclock_control.10489fill_ram
10489fill_ramreg[WIDTH:0]
Definition:
fifo_sameclock_control.v:45
fifo_sameclock_control
Definition:
fifo_sameclock_control.v:28
fifo_sameclock_control.10487over
reg 10487over
Definition:
fifo_sameclock_control.v:41
fifo_sameclock_control.10483mem_wa
reg [WIDTH-1:0] 10483mem_wa
Definition:
fifo_sameclock_control.v:37
fifo_sameclock_control.10477clk
10477clk
Definition:
fifo_sameclock_control.v:31
fifo_sameclock_control.10478rst
10478rst
Definition:
fifo_sameclock_control.v:32
fifo_sameclock_control.10480rd
10480rd
Definition:
fifo_sameclock_control.v:34
fifo_sameclock_control.10479wr
10479wr
Definition:
fifo_sameclock_control.v:33
fifo_sameclock_control.10491rreg_full
10491rreg_fullreg
Definition:
fifo_sameclock_control.v:48
fifo_sameclock_control.10482fill_in
[WIDTH:0] 10482fill_in
Definition:
fifo_sameclock_control.v:36
fifo_sameclock_control.10476WIDTH
10476WIDTH9
Definition:
fifo_sameclock_control.v:29
fifo_sameclock_control.10485mem_re
10485mem_re
Definition:
fifo_sameclock_control.v:39
fifo_sameclock_control.10488under
reg 10488under
Definition:
fifo_sameclock_control.v:42
fifo_sameclock_control.10481nempty
10481nempty
Definition:
fifo_sameclock_control.v:35
util_modules
fifo_sameclock_control.v
Generated by
1.8.12