Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
canbus
CTU CAN FD IP Core
Commits
0eeb6784
Commit
0eeb6784
authored
Nov 28, 2017
by
Ille, Ondrej, Ing.
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added reset synchroniser
parent
004841f1
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
555 additions
and
156 deletions
+555
-156
doc/core/Progdokum.lyx
doc/core/Progdokum.lyx
+25
-2
doc/core/Progdokum.lyx~
doc/core/Progdokum.lyx~
+443
-150
src/CAN_top_level.vhd
src/CAN_top_level.vhd
+12
-3
src/CANcomponents.vhd
src/CANcomponents.vhd
+12
-0
src/rst_sync.vhd
src/rst_sync.vhd
+58
-0
test/lib/CANtestLib.vhd
test/lib/CANtestLib.vhd
+5
-1
No files found.
doc/core/Progdokum.lyx
View file @
0eeb6784
...
...
@@ -1908,11 +1908,34 @@ clk_sys
\series default
.
Every other time period is derived from clk_sys (Time quantum, Bit time...).
Every register has
The main core reset
\begin_inset Quotes eld
\end_inset
res_n
\begin_inset Quotes erd
\end_inset
is an
\series bold
asynchronous reset
\series default
, res_n, which is active low, by default.
(active low) and it is internally synchronised by two flip-flop synchroniser
to avoid possible problems with reset recovery time.
After
\begin_inset Quotes eld
\end_inset
res_n
\begin_inset Quotes erd
\end_inset
is released
\series bold
at least two clock cycles
\series default
must elapse before the core is accessed, otherwise write to the Core will
have no effect and read will return zero values.
The design is intended to be latch-free.
\end_layout
doc/core/Progdokum.lyx~
View file @
0eeb6784
#LyX 2.
1
created this file. For more info see http://www.lyx.org/
\lyxformat
474
#LyX 2.
2
created this file. For more info see http://www.lyx.org/
\lyxformat
508
\begin_document
\begin_header
\save_transient_properties true
\origin unavailable
\textclass book
\begin_preamble
\usepackage{fancyhdr}
...
...
@@ -18,16 +20,16 @@ customHeadersFooters
\language_package default
\inputencoding auto
\fontencoding global
\font_roman default
\font_sans default
\font_typewriter lmtt
\font_math auto
\font_roman
"
default
" "default"
\font_sans
"
default
" "default"
\font_typewriter
"
lmtt
" "default"
\font_math
"
auto
" "auto"
\font_default_family sfdefault
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100
\font_sf_scale 100
100
\font_tt_scale 100
100
\graphics default
\default_output_format default
\output_sync 0
...
...
@@ -211,7 +213,7 @@ Department of measurement
\begin_inset Graphics
filename E:/Skola/CVUT-FEL/
Testovaci Platforma/Obrazky
/CAN_LOGO.jpg
filename E:/Skola/CVUT-FEL/
CAN_FD_IP_Core/doc/pics
/CAN_LOGO.jpg
lyxscale 10
scale 9
...
...
@@ -219,7 +221,7 @@ Department of measurement
\begin_inset Graphics
filename
E:/Skola/CVUT-FEL/Testovaci Platforma/Obrazky
/CAN_FD_LOGO.jpg
filename
../pics
/CAN_FD_LOGO.jpg
lyxscale 15
scale 10
...
...
@@ -227,7 +229,7 @@ Department of measurement
\begin_inset Graphics
filename
E:/Skola/CVUT-FEL/Testovaci Platforma/Obrazky
/CAN_FD_ISO.jpg
filename
../pics
/CAN_FD_ISO.jpg
lyxscale 40
scale 20
...
...
@@ -245,7 +247,7 @@ Department of measurement
\size larger
\begin_inset Tabular
<lyxtabular version="3" rows="2" columns="2">
<features
rotate="0"
tabularvalignment="top">
<features tabularvalignment="top">
<column alignment="left" valignment="top" width="0pt">
<column alignment="left" valignment="top" width="0pt">
<row>
...
...
@@ -548,7 +550,8 @@ CANoe program (with CAN/USB converter) for post-synthesis verification by
\end_layout
\begin_layout Itemize
LyX v.2.1.2 to write documentation.
\SpecialChar LyX
v.2.1.2 to write documentation.
\end_layout
\begin_layout Itemize
...
...
@@ -664,7 +667,7 @@ status open
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="14" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -1374,7 +1377,7 @@ status open
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="7" columns="4">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -1457,7 +1460,7 @@ Event logger is/is not synthesized.
Refer to
\begin_inset CommandInset ref
LatexCommand nameref
reference "sub:2.3.10-Event-logger"
reference "sub
sec
:2.3.10-Event-logger"
\end_inset
...
...
@@ -1506,7 +1509,7 @@ Size of receive buffer in 32 bit words.
Refer to
\begin_inset CommandInset ref
LatexCommand nameref
reference "sub:2.3.10-RX-buffer-1"
reference "sub
sec
:2.3.10-RX-buffer-1"
\end_inset
...
...
@@ -1556,7 +1559,7 @@ TXT buffer size: 8 bytes (Normal)/64 bytes(FD).
Refer to
\begin_inset CommandInset ref
LatexCommand nameref
reference "sub:2.3.10-TXT-buffer-1-1"
reference "sub
sec
:2.3.10-TXT-buffer-1-1"
\end_inset
...
...
@@ -1686,7 +1689,7 @@ Size of the event logger memory in number of events.
Refer to
\begin_inset CommandInset ref
LatexCommand nameref
reference "sub:2.3.10-Event-logger"
reference "sub
sec
:2.3.10-Event-logger"
\end_inset
...
...
@@ -1780,7 +1783,7 @@ key "key-20"
With small modifications of Memory registers module (refer to
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:2.5.9-Memory-registers"
reference "sub
sec
:2.5.9-Memory-registers"
\end_inset
...
...
@@ -1799,7 +1802,7 @@ status open
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="2" columns="3">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -1905,11 +1908,33 @@ clk_sys
\series default
.
Every other time period is derived from clk_sys (Time quantum, Bit time...).
Every register has
The main core reset
\begin_inset Quotes eld
\end_inset
res_n
\begin_inset Quotes erd
\end_inset
is an
\series bold
asynchronous reset
\series default
, res_n, which is active low, by default.
(active low) and it is internally synchronised by two flip-flop synchroniser
to avoid possible problems with reset recovery time.
After
\begin_inset Quotes eld
\end_inset
res_n
\begin_inset Quotes erd
\end_inset
is released
\series bold
at least two clock cycles
\series default
must elapse before the core is accessed.
The design is intended to be latch-free.
\end_layout
...
...
@@ -1965,7 +1990,7 @@ status open
\noindent
\align center
\begin_inset Graphics
filename ../
../Obrazky
/Ip_core.emf
filename ../
pics
/Ip_core.emf
lyxscale 20
scale 22
...
...
@@ -2038,7 +2063,7 @@ Memory registers
(
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:2.5.9-Memory-registers"
reference "sub
sec
:2.5.9-Memory-registers"
\end_inset
...
...
@@ -2123,7 +2148,7 @@ status open
\noindent
\align center
\begin_inset Graphics
filename ../
../Obrazky
/CAN_Core.emf
filename ../
pics
/CAN_Core.emf
lyxscale 20
scale 22
...
...
@@ -2172,7 +2197,7 @@ name "fig:CAN-Core-block"
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="34" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -2395,6 +2420,11 @@ width "95col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open
\begin_layout Plain Layout
...
...
@@ -3876,7 +3906,7 @@ Force OP_State to be reciever
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="40" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -5789,7 +5819,7 @@ status open
\noindent
\align center
\begin_inset Graphics
filename ../
../Obrazky
/PC_Control.emf
filename ../
pics
/PC_Control.emf
lyxscale 20
scale 18
...
...
@@ -5833,7 +5863,7 @@ status open
\noindent
\align center
\begin_inset Graphics
filename ../
../Obrazky
/OP_Control.emf
filename ../
pics
/OP_Control.emf
lyxscale 20
scale 18
...
...
@@ -5882,7 +5912,7 @@ name "fig:OP_control"
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="20" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -6105,6 +6135,11 @@ width "95col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open
\begin_layout Plain Layout
...
...
@@ -6927,7 +6962,7 @@ Operational State
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="11" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -7150,6 +7185,11 @@ width "95col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open
\begin_layout Plain Layout
...
...
@@ -7521,7 +7561,7 @@ Stuff error ocurred and is validated
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="28" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -8861,7 +8901,7 @@ Fault confinement state
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="5" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -9084,6 +9124,11 @@ width "95col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open
\begin_layout Plain Layout
...
...
@@ -9168,7 +9213,7 @@ on via data_halt signal.
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="14" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -9850,7 +9895,7 @@ Destuffed bits counter modulo 8
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="19" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -10073,6 +10118,11 @@ width "95col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open
\begin_layout Plain Layout
...
...
@@ -10854,7 +10904,7 @@ Destuffed bits counter modulo 8
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="16" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -11077,6 +11127,11 @@ width "95col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open
\begin_layout Plain Layout
...
...
@@ -11721,7 +11776,7 @@ CRC 21 result
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="16" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -11944,6 +11999,11 @@ width "95col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open
\begin_layout Plain Layout
...
...
@@ -12542,7 +12602,7 @@ Bit rate shift bit to be stored
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -12989,7 +13049,7 @@ Bit rate shift bit for Protocol Control
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="22" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -13212,6 +13272,11 @@ width "95col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open
\begin_layout Plain Layout
...
...
@@ -14126,7 +14191,7 @@ Secondary sampling point del.
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="5" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -14386,7 +14451,7 @@ Bit error is detected
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="26" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -14609,6 +14674,11 @@ width "95col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open
\begin_layout Plain Layout
...
...
@@ -14632,7 +14702,7 @@ sample_control
\begin_inset Quotes erd
\end_inset
signal Nominal bit time or Data bit time is used\SpecialChar
\@.
signal Nominal bit time or Data bit time is used\SpecialChar
endofsentence
\end_layout
...
...
@@ -15700,7 +15770,7 @@ Synchronization type (No sync, hard, resync)
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="15" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -15923,6 +15993,11 @@ width "95col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open
\begin_layout Plain Layout
...
...
@@ -16481,7 +16556,7 @@ Identifier is matching the filters
2.5.5 Receive buffer (RX)
\begin_inset CommandInset label
LatexCommand label
name "sub:2.3.10-RX-buffer-1"
name "sub
sec
:2.3.10-RX-buffer-1"
\end_inset
...
...
@@ -16493,7 +16568,7 @@ name "sub:2.3.10-RX-buffer-1"
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="5" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -16716,6 +16791,11 @@ width "95col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open
\begin_layout Plain Layout
...
...
@@ -16831,7 +16911,7 @@ rec_message_valid
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="26" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -16903,6 +16983,11 @@ width "95col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open
\begin_layout Plain Layout
...
...
@@ -18144,7 +18229,7 @@ Acual read row of data from RX Buffer
2.5.6 Transmit buffer - Time (TXT)
\begin_inset CommandInset label
LatexCommand label
name "sub:2.3.10-TXT-buffer-1-1"
name "sub
sec
:2.3.10-TXT-buffer-1-1"
\end_inset
...
...
@@ -18156,7 +18241,7 @@ name "sub:2.3.10-TXT-buffer-1-1"
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="5" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -18379,6 +18464,11 @@ width "95col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open
\begin_layout Plain Layout
...
...
@@ -18457,7 +18547,7 @@ Transmit buffer is a memory which contains one CAN frame to be transmitted.
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="12" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -18528,6 +18618,11 @@ width "95col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open
\begin_layout Plain Layout
...
...
@@ -19080,7 +19175,7 @@ Buffer can be emptied, data are loaded to CAN Core
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="18" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -19303,6 +19398,11 @@ width "95col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open
\begin_layout Plain Layout
...
...
@@ -19999,7 +20099,7 @@ Identifier to be transmitted
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="10" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -20493,7 +20593,7 @@ Timestamp
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="22" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -20716,6 +20816,11 @@ width "95col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open
\begin_layout Plain Layout
...
...
@@ -21629,7 +21734,7 @@ Interrupt vector
2.5.9 Memory registers
\begin_inset CommandInset label
LatexCommand label
name "sub:2.5.9-Memory-registers"
name "sub
sec
:2.5.9-Memory-registers"
\end_inset
...
...
@@ -21641,7 +21746,7 @@ name "sub:2.5.9-Memory-registers"
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="40" columns="5">
<features
rotate="0"
tabularvalignment="middle">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
...
...
@@ -21864,6 +21969,11 @@ width "95col%"
special "none"
height "1in"
height_special "totalheight"