Merge pull request #1154 from whitequark/manual-sync-always
authorClifford Wolf <clifford@clifford.at>
Wed, 3 Jul 2019 08:45:29 +0000 (10:45 +0200)
committerDavid Shah <dave@ds0.me>
Tue, 9 Jul 2019 17:46:58 +0000 (18:46 +0100)
manual: explain the purpose of `sync always`

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