phanrahan / loam Goto Github PK
View Code? Open in Web Editor NEWLoam system models
License: Other
Loam system models
License: Other
The package name loam
is currently in use on PYPI, so we won't be able to register the package https://pypi.org/project/loam/ for pip
. We could explore a couple options here, such as appending a .py
or distributing the package with magma/mantle (i.e. pip install magma
installs mantle and loam). Or we look for an alternative name
Not sure if this is a bug or by design, but the following code doesn't work.
icestick = IceStick()
icestick.Clock.on()
for i in range(0, 4):
icestick.J1[i].input().on()
for i in range(4, 8):
icestick.J1[i].output().on()
In this case it sets all the pins on J1 to be inputs, rather than having half of them acting as outputs. If this is a requirement based on how the hardware actually works, we should raise an Error that let's the user know that this isn't allowed. Otherwise, we should make this work.
@phanrahan can you give me any insight into whether this is a bug or by design? I can take a stab at adding the error message or fixing the bug (so I can learn a little more about loam).
James implemented a verilog module for using the icestick UART that is wrapped by magma's verilog frontend.
https://github.com/jameshegarty/rigel/tree/master/platform/ice
Would be nice to integrate this into loam so we could provide a basic harness for doing IO with the UART
6.27s$ ./bake
echo \$DYLD_LIBRARY_PATH
strace: test_ptrace_setoptions_followfork: PTRACE_TRACEME doesn't work: Operation not permitted
strace: test_ptrace_setoptions_followfork: unexpected exit status 1
fabricate: 'strace' exited with status 1
magma -b icestick lut4
strace: test_ptrace_setoptions_followfork: PTRACE_TRACEME doesn't work: Operation not permitted
strace: test_ptrace_setoptions_followfork: unexpected exit status 1
fabricate: 'strace' exited with status 1
magma -b icestick pll100
strace: test_ptrace_setoptions_followfork: PTRACE_TRACEME doesn't work: Operation not permitted
strace: test_ptrace_setoptions_followfork: unexpected exit status 1
fabricate: 'strace' exited with status 1
magma -b icestick ramb16
strace: test_ptrace_setoptions_followfork: PTRACE_TRACEME doesn't work: Operation not permitted
strace: test_ptrace_setoptions_followfork: unexpected exit status 1
fabricate: 'strace' exited with status 1
magma -b icestick adc1
strace: test_ptrace_setoptions_followfork: PTRACE_TRACEME doesn't work: Operation not permitted
strace: test_ptrace_setoptions_followfork: unexpected exit status 1
fabricate: 'strace' exited with status 1
magma -b icestick eq4
strace: test_ptrace_setoptions_followfork: PTRACE_TRACEME doesn't work: Operation not permitted
strace: test_ptrace_setoptions_followfork: unexpected exit status 1
fabricate: 'strace' exited with status 1
magma -b icestick counter4
strace: test_ptrace_setoptions_followfork: PTRACE_TRACEME doesn't work: Operation not permitted
strace: test_ptrace_setoptions_followfork: unexpected exit status 1
fabricate: 'strace' exited with status 1
magma -b icestick arbiter4
strace: test_ptrace_setoptions_followfork: PTRACE_TRACEME doesn't work: Operation not permitted
strace: test_ptrace_setoptions_followfork: unexpected exit status 1
fabricate: 'strace' exited with status 1
magma -b icestick dff
strace: test_ptrace_setoptions_followfork: PTRACE_TRACEME doesn't work: Operation not permitted
strace: test_ptrace_setoptions_followfork: unexpected exit status 1
fabricate: 'strace' exited with status 1
magma -b icestick lfsr8
strace: test_ptrace_setoptions_followfork: PTRACE_TRACEME doesn't work: Operation not permitted
strace: test_ptrace_setoptions_followfork: unexpected exit status 1
fabricate: 'strace' exited with status 1
magma -b icestick lhca8
strace: test_ptrace_setoptions_followfork: PTRACE_TRACEME doesn't work: Operation not permitted
strace: test_ptrace_setoptions_followfork: unexpected exit status 1
fabricate: 'strace' exited with status 1
magma -b icestick abuf
strace: test_ptrace_setoptions_followfork: PTRACE_TRACEME doesn't work: Operation not permitted
strace: test_ptrace_setoptions_followfork: unexpected exit status 1
fabricate: 'strace' exited with status 1
magma -b icestick lut1
strace: test_ptrace_setoptions_followfork: PTRACE_TRACEME doesn't work: Operation not permitted
strace: test_ptrace_setoptions_followfork: unexpected exit status 1
fabricate: 'strace' exited with status 1
magma -b icestick mux2
strace: test_ptrace_setoptions_followfork: PTRACE_TRACEME doesn't work: Operation not permitted
strace: test_ptrace_setoptions_followfork: unexpected exit status 1
fabricate: 'strace' exited with status 1
magma -b icestick gatedreg4
strace: test_ptrace_setoptions_followfork: PTRACE_TRACEME doesn't work: Operation not permitted
strace: test_ptrace_setoptions_followfork: unexpected exit status 1
fabricate: 'strace' exited with status 1
magma -b icestick rom1
strace: test_ptrace_setoptions_followfork: PTRACE_TRACEME doesn't work: Operation not permitted
strace: test_ptrace_setoptions_followfork: unexpected exit status 1
fabricate: 'strace' exited with status 1
magma -b icestick cascadedring
strace: test_ptrace_setoptions_followfork: PTRACE_TRACEME doesn't work: Operation not permitted
strace: test_ptrace_setoptions_followfork: unexpected exit status 1
fabricate: 'strace' exited with status 1
magma -b goboard blink
strace: test_ptrace_setoptions_followfork: PTRACE_TRACEME doesn't work: Operation not permitted
strace: test_ptrace_setoptions_followfork: unexpected exit status 1
fabricate: 'strace' exited with status 1
magma -b hx8kboard blink
strace: test_ptrace_setoptions_followfork: PTRACE_TRACEME doesn't work: Operation not permitted
strace: test_ptrace_setoptions_followfork: unexpected exit status 1
fabricate: 'strace' exited with status 1
On the physical Lattice ice40-HX8K board, the LEDs are numbered on the silkscreen D9 to D2 from left to right. In loam, these LEDs correspond to D1 thru D8. Not sure if we want to change around the numbering in loam to match the numbering the board.
There is no "requirements.txt" in the loam directory.
pytest tests
also fails.
I notice that travis script is just calling './scripts/run_tests.sh'. What is the preferred testing mechanism for Loam?
Currently, you can't get the string representation of some instances of loam boards. The magma repr function calls IO of the metaclass, and the loam board doesn't have an IO property.
>>> from loam.boards.icestick import IceStick
import lattice ice40
>>> icestick = IceStick()
>>> type(icestick)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/durst/dev/W17-8/magma/magma/circuit.py", line 108, in __repr__
args = str(cls.IO)
AttributeError: type object 'IceStick' has no attribute 'IO'
>>>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.