Skip to content
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

lib.io: import CRG from Migen. #45

Closed
wants to merge 1 commit into from
Closed

lib.io: import CRG from Migen. #45

wants to merge 1 commit into from

Conversation

jfng
Copy link
Contributor

@jfng jfng commented Mar 19, 2019

Tests are missing.

@jfng jfng mentioned this pull request Mar 19, 2019
@codecov
Copy link

codecov bot commented Mar 19, 2019

Codecov Report

Merging #45 into master will increase coverage by 5.34%.
The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #45      +/-   ##
==========================================
+ Coverage   80.56%   85.91%   +5.34%     
==========================================
  Files          32       28       -4     
  Lines        5382     4075    -1307     
  Branches     1166      818     -348     
==========================================
- Hits         4336     3501     -835     
+ Misses        907      480     -427     
+ Partials      139       94      -45
Impacted Files Coverage Δ
nmigen/lib/io.py 85.71% <100%> (+3.36%) ⬆️
nmigen/compat/fhdl/verilog.py 69.23% <0%> (-1.36%) ⬇️
nmigen/compat/genlib/fsm.py 56.11% <0%> (-1.34%) ⬇️
nmigen/compat/fhdl/module.py 71.15% <0%> (-0.81%) ⬇️
nmigen/tracer.py 94.44% <0%> (-0.56%) ⬇️
nmigen/hdl/dsl.py 99.28% <0%> (-0.42%) ⬇️
nmigen/hdl/xfrm.py 96.14% <0%> (-0.35%) ⬇️
nmigen/compat/fhdl/specials.py 29.76% <0%> (-0.13%) ⬇️
nmigen/hdl/ast.py 86.19% <0%> (-0.11%) ⬇️
... and 16 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d0ac8bf...f08c20b. Read the comment docs.

@whitequark
Copy link
Contributor

I am wondering if the nMigen CRG implementation should take into account FPGAs like iCE40, where the BRAMs cannot be accessed for some time after startup. (This is very poorly documented but it's a hard requirement...)

So, my CRG for iCE40 uses a timer.

@jfng
Copy link
Contributor Author

jfng commented Mar 20, 2019

I am wondering if the nMigen CRG implementation should take into account FPGAs like iCE40, where the BRAMs cannot be accessed for some time after startup. (This is very poorly documented but it's a hard requirement...)

Is this what you meant ?

@whitequark
Copy link
Contributor

Yes. Isn't it sufficient to use ResetInserter here?

A timer has been added to support platforms where some resources cannot
be accessed for some time after startup.
@whitequark
Copy link
Contributor

I think there is no particular need for a generic CRG in nMigen because various vendor.* packages use highly platform-specific reset generation and clock gating gateware which is much better at this job.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants