Sign in
foss-eda-tools
/
third_party
/
shuttle
/
sky130
/
mpw-007
/
slot-003
/
e0cd7cfc4123185b09646d195d42ed5c33c06ed4
/
.
/
verilog
/
dv
/
microwatt
/
spi_flash
/
lfsr32.c
blob: 5f78425b26e9608cda4376ae9113555571944b94 [
file
] [
log
] [
blame
]
#include
"lfsr32.h"
#include
<stdint.h>
#define
LFSR_32
((
1
<<
(
32
-
1
))
|
(
1
<<
(
22
-
1
))
|
(
1
<<
(
2
-
1
))
|
(
1
<<
(
1
-
1
)))
uint32_t
lfsr32
(
uint32_t
prev
)
{
uint32_t
lsb
=
prev
&
1
;
prev
>>=
1
;
if
(
lsb
==
1
)
prev
^=
LFSR_32
;
return
prev
;
}