Sign in
foss-eda-tools
/
third_party
/
shuttle
/
sky130
/
mpw-001
/
slot-026
/
ffc7bc12ba5b39de8e86bdea40b757d0a7203f54
/
.
/
verilog
/
dv
/
caravel
/
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
;
}