From ceac8071e049e90fc4e698b3c7cbb4dac6349c57 Mon Sep 17 00:00:00 2001 From: Minseong Jang Date: Wed, 2 Oct 2024 13:09:11 +0900 Subject: [PATCH] Minor fix --- doc/docs/contributors.md | 2 +- doc/docs/tutorial/fir_filter.md | 6 +++--- hazardflow-designs/src/examples/custom_fifo.rs | 17 +++++++++++++---- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/doc/docs/contributors.md b/doc/docs/contributors.md index da1a1ad..1e82281 100644 --- a/doc/docs/contributors.md +++ b/doc/docs/contributors.md @@ -12,7 +12,7 @@ Here is a list of all the people who have worked on HazardFlow: - [Gieun Jeong](https://cp.kaist.ac.kr/gieun.jeong/) - Jihoon Kim -**Previous Contributos** +**Previous Contributors** - Seunghyeon Jeong - Tanapoom Sermchaiwong diff --git a/doc/docs/tutorial/fir_filter.md b/doc/docs/tutorial/fir_filter.md index 068cf17..54961c1 100644 --- a/doc/docs/tutorial/fir_filter.md +++ b/doc/docs/tutorial/fir_filter.md @@ -46,6 +46,7 @@ As in the above figure, it can be divide into 3 submodules: `window`, `weight`, * It keeps the weight vector `[b0, b1, b2]` persistent throughout the program. * It takes the input vector `[v0, v1, v2]` and returns the output vector `[b0·v0, b1·v1, b2·v2]`. +* This submodule can be simply represented by a `map` combinator. **`sum` submodule:** @@ -88,9 +89,8 @@ impl Valid

{ It takes an `Valid

` and returns `Valid>`. It tracks the latest `N` valid input signals. The [`fsm_map` interface combinator](https://kaist-cp.github.io/hazardflow/docs/hazardflow_designs/std/hazard/struct.I.html#method.fsm_map) is provided by the HazardFlow HDL standard library. -It transforms the ingress payload to the egress payload, calculates the next state for the next clock cycle, and leaves the resolver signal untouched. -It takes an initial state, and an anonymous function, and returns a new interface. -The initial state is defined as `P::default().repeat::()` in our example. +It computes the egress payload and the next state based on the ingress payload and the current state, and updates the state when the ingress tranfser happens. +The initial state is defined as `P::default().repeat::<{ N - 1 }>()` in our example. The anonymous function is where we specify the fsm logic from the `(ingress payload, current state)` to the `(egress payload, next state)`.