-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
refactor SimpleHellaCacheIF to chisel3. #3054
refactor SimpleHellaCacheIF to chisel3. #3054
Conversation
eaa6860
to
1d9c2f7
Compare
@@ -131,6 +132,7 @@ class SimpleHellaCacheIF(implicit p: Parameters) extends Module | |||
replayq.io.nack.bits := s2_req_tag | |||
replayq.io.resp := io.cache.resp | |||
io.requestor.resp := io.cache.resp | |||
io <> DontCare |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still have no idea why porting to chisel3 has different connection semantic.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are some IOs that are not connected which is found in CI test 7 (log is shown below). In Chisel 2, the compile options is chisel3.core.ExplicitCompileOptions.NotStrict
and whether it means the IO initialization is not checked before?
Exception in thread "main" firrtl.passes.PassExceptions:
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.perf.canAcceptStoreThenRMW <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.perf.tlbMiss <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.s2_xcpt.ae.ld <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.perf.blocked <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.s2_nack <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.s2_gpa <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.cache.keep_clock_enabled <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.clock_enabled <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.perf.release <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.perf.storeBufferEmptyAfterStore <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.s2_xcpt.gf.ld <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.s2_xcpt.ma.ld <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.s2_xcpt.ae.st <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.s2_xcpt.gf.st <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.s2_nack_cause_raw <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.s2_xcpt.ma.st <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.cache.s1_data.mask <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.s2_xcpt.pf.ld <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.perf.grant <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.perf.canAcceptStoreThenLoad <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.s2_uncached <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.s2_xcpt.pf.st <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.perf.storeBufferEmptyAfterLoad <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.ordered <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.perf.acquire <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.s2_gpa_is_pte <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.perf.canAcceptLoadThenLoad <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.replay_next <= VOID
firrtl.passes.CheckInitialization$RefNotInitializedException: : [module SimpleHellaCacheIF] Reference io is not fully initialized.
: io.requestor.s2_paddr <= VOID
firrtl.passes.PassException: 29 errors detected!
baec256
to
2c288ad
Compare
+ also remove "init = " and "next = " (with param name) as new chisel-plugin in 3.6 won't compile. + DontCare the IO as there are some unconnected IOs in some occasions.
2c288ad
to
dc0fd64
Compare
+ also remove "init = " and "next = " (with param name) as new chisel-plugin in 3.6 won't compile. + DontCare the IO as there are some unconnected IOs in some occasions.
Related issue:
Type of change: other enhancement
Impact: no functional change
Development Phase: implementation
Release Notes
Refactor SimpleHellaCacheIF.scala to chisel3 style.