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

Board file for Lattice's ICE40UP5K-B-EVN breakout board #60

merged 10 commits into from Apr 24, 2020


Copy link

I tried to make the connectors match the schematic, but I haven't verified their layout and I'm not sure about how to name "Header A" (J52) and the PMOD socket (U6 on the board and U11 on the schematic)?

Besides the standard 'Blinky' test, I checked the switch and LED behavior with this minimal design, so I'm pretty sure those are described correctly:

from nmigen import *
from nmigen_boards.ice40_up5k_b_evn import *

class EVNTest( Elaboratable ):
  def elaborate( self, platform ):
    m = Module()
    leds     = [ platform.request( 'led', i ) for i in range( 3 ) ]
    switches = [ platform.request( 'switch', i ) for i in range( 4 ) ]
    m.d.comb += [
      leds[ 0 ].o.eq( switches[ 0 ].i ),
      leds[ 1 ].o.eq( ~switches[ 1 ].i ),
      leds[ 2 ].o.eq( switches[ 2 ].i ^ switches[ 3 ].i )
    return m

if __name__ == "__main__":
  ICE40UP5KBEVNPlatform().build(EVNTest(), do_program=True)

Sorry about the messy commit log; I'm not sure how to cleanly merge upstream changes into a fork on GitHub. Thanks!

@whitequark whitequark merged commit f6b28ce into amaranth-lang:master Apr 24, 2020
Copy link

Thanks for your contribution! The messy commit log in this case is not a problem since I squash all PRs to this repo anyways.

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

Successfully merging this pull request may close these issues.

None yet

2 participants