manual: explain the purpose of `sync always`.
authorwhitequark <whitequark@whitequark.org>
Tue, 2 Jul 2019 17:10:13 +0000 (17:10 +0000)
committerwhitequark <whitequark@whitequark.org>
Tue, 2 Jul 2019 17:10:13 +0000 (17:10 +0000)
manual/CHAPTER_Overview.tex

index 1a25c477ff21bdeea2228d584af3e923a059b602..3009bf2c030fc8bf7fd98a833ac3327ccec4be0f 100644 (file)
@@ -331,8 +331,9 @@ to update {\tt \textbackslash{}q}.
 An RTLIL::Process is a container for zero or more RTLIL::SyncRule objects and
 exactly one RTLIL::CaseRule object, which is called the {\it root case}.
 
-An RTLIL::SyncRule object contains an (optional) synchronization condition
-(signal and edge-type) and zero or more assignments (RTLIL::SigSig).
+An RTLIL::SyncRule object contains an (optional) synchronization condition (signal and edge-type) and zero or
+more assignments (RTLIL::SigSig). The {\tt always} synchronization condition is used to break combinatorial
+loops when a latch should be inferred instead.
 
 An RTLIL::CaseRule is a container for zero or more assignments (RTLIL::SigSig)
 and zero or more RTLIL::SwitchRule objects. An RTLIL::SwitchRule objects is a