-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Squash: move into Gateway, get Scope from initial #222
Conversation
c837fa9
to
f9a8f1f
Compare
* To simplify squash logic and support replay,we move Squash into Gateway. * Redundant fly-lines and wb_int fix has been implemented in Gateway, so we remove it from Squash. * We get svScope from initial rather than name string for better portability
f9a8f1f
to
94d5f8b
Compare
Why do we need this? Different functionalities are intentionally implemented in different classes and files. |
There are two main reasons:
|
If they are moved to Gateway, why do we need squash.scala? We should think of how the code is organized and why we need the classes. Some simple questions to get started:
I'm just trying to make sure you have good understanding of the code structure. If you have clear answers for questions like those, I think it's OK to merge this PR. I'm not opposed to putting squash in gateway if the replay does need it. |
Perhaps the code structure can be described as follows:
Then the code flow will act as follows:
Now we expose code of 1 and 3 directly in GatewayEndpoint because it seems more flexible when code is frequently changed. I will make the code structure more clearly when relevant functions are accomplished~~ |
You can add the above explanation in code comments. In the future, you and others could understand it more clearly. Make it a common practice as you develop the code. Will benefit your engineering much. |
* To simplify squash logic and support replay, we move Squash into Gateway. * Redundant fly-lines and wb_int fix has been implemented in Gateway, so we remove it from Squash. * We get svScope from initial rather than name string for better portability. For the future implementation of Squash Replay, move Squash into Gateway will help simplify the data path and control logic with other parts. For the future code structure, we want to regard Difftest Signals as trace, and Gateway will act as a microprocessor of the trace. The flow will be gather -> preprocess -> squash -> other process -> gen control signal -> transfer by DPIC.
No description provided.