whitequark
|
c4ba5a3915
|
fhdl.ast: clean up stub error messages. NFC.
|
2018-12-14 23:07:16 +00:00 |
|
whitequark
|
2001359b66
|
fhdl.ir: automatically flatten hierarchy to resolve driver conflicts.
Fixes #5.
|
2018-12-14 22:48:17 +00:00 |
|
whitequark
|
579feaba4e
|
fhdl.ir: Fragment.{drive→add_driver}
|
2018-12-14 20:58:29 +00:00 |
|
whitequark
|
50ba443f92
|
fhdl.ast: fix Switch with constant test.
|
2018-12-14 16:09:51 +00:00 |
|
whitequark
|
474d46ced8
|
back.pysim: implement most operators and add tests.
|
2018-12-14 14:21:22 +00:00 |
|
whitequark
|
3ad79ec690
|
back.pysim: allow processes to evaluate expressions.
|
2018-12-14 13:32:30 +00:00 |
|
whitequark
|
151d079f01
|
fhdl.ir: oops, we defined DomainError twice.
|
2018-12-14 12:59:54 +00:00 |
|
whitequark
|
7d91dd56c8
|
fhdl.xfrm: implement DomainLowerer.
|
2018-12-14 10:56:53 +00:00 |
|
whitequark
|
b34c1a9ad0
|
back.pysim: undriven comb signals should return to reset value.
|
2018-12-14 09:12:38 +00:00 |
|
whitequark
|
b58715c5dc
|
ast, back.pysim: allow specifying user-defined decoders for signals.
|
2018-12-14 09:02:29 +00:00 |
|
whitequark
|
d791b77cc8
|
back.pysim: allow suspending processes until a tick in a domain.
|
2018-12-14 04:33:06 +00:00 |
|
whitequark
|
3e59d857e1
|
back.pysim: use bare ints for signal values (-5% runtime).
|
2018-12-14 03:05:57 +00:00 |
|
whitequark
|
fb27c2520b
|
back.pysim: new simulator backend (WIP).
|
2018-12-13 18:02:46 +00:00 |
|
whitequark
|
71f1f717c4
|
fhdl.cd: rename ClockDomain signals together with domain.
|
2018-12-13 15:24:55 +00:00 |
|
whitequark
|
07c818e077
|
fhdl.ir: move Fragment prepare logic from back.rtlil.
|
2018-12-13 14:34:07 +00:00 |
|
whitequark
|
90f1503c91
|
fhdl.ir: record port direction explicitly.
No point in recalculating this in the backend when writing RTLIL or
Verilog port directions.
|
2018-12-13 13:12:31 +00:00 |
|
whitequark
|
6251c95d4e
|
compat.genlib.fsm: import/wrap Migen code.
|
2018-12-13 12:41:19 +00:00 |
|
whitequark
|
9661e897e6
|
fhdl.ir: a subfragment's input that we don't drive is also our input.
|
2018-12-13 11:50:56 +00:00 |
|
whitequark
|
bb04c9e0da
|
fhdl, back: trace and emit source locations of values.
|
2018-12-13 11:44:06 +00:00 |
|
whitequark
|
b150f1915d
|
fhdl.ir: don't crash propagataing ports in empty fragments.
|
2018-12-13 11:25:49 +00:00 |
|
whitequark
|
72257b6935
|
fhdl.ir: implement clock domain propagation.
|
2018-12-13 11:01:03 +00:00 |
|
whitequark
|
fde2471963
|
fhdl.ir: remove iter_domains().
|
2018-12-13 10:18:57 +00:00 |
|
whitequark
|
f4340c19bb
|
fhdl: cd_name→domain.
|
2018-12-13 10:15:01 +00:00 |
|
whitequark
|
c5087edfa5
|
fhdl.cd: add tests.
|
2018-12-13 09:19:16 +00:00 |
|
whitequark
|
9bee90f1bd
|
fhdl.xfrm: implement DomainRenamer.
|
2018-12-13 08:57:14 +00:00 |
|
whitequark
|
19aa404628
|
fhdl.xfrm: add tests for ResetInserter, CEInserter.
|
2018-12-13 08:39:02 +00:00 |
|
whitequark
|
b1a89ef5fd
|
fhdl.ir: add tests for port propagation.
|
2018-12-13 08:09:39 +00:00 |
|
whitequark
|
d2e2d00e45
|
fhdl.cd: rename ClockDomain.{reset→rst}.
|
2018-12-13 07:27:27 +00:00 |
|
whitequark
|
e0a81edf4d
|
fhdl.dsl: add tests for submodules.
|
2018-12-13 07:24:28 +00:00 |
|
whitequark
|
932f1912a2
|
fhdl.dsl: use less error-prone Switch/Case two-level syntax.
|
2018-12-13 07:11:06 +00:00 |
|
whitequark
|
f70ae3bac5
|
fhdl.dsl: add tests for d.comb/d.sync, If/Elif/Else.
|
2018-12-13 06:06:51 +00:00 |
|
whitequark
|
5b8708017e
|
fhdl.ast: fix Switch._?hs_signals() for switch without statements.
|
2018-12-13 05:00:44 +00:00 |
|
whitequark
|
4df5c5de65
|
fhdl.ir: explain how port enumeration works.
|
2018-12-13 03:31:13 +00:00 |
|
whitequark
|
bfd0011aee
|
fhdl.ir: make sure clocks and resets of used CDs appear as inputs.
|
2018-12-13 02:43:22 +00:00 |
|
whitequark
|
22c76e5f90
|
compat.fhdl.module: implement finalization.
|
2018-12-13 02:36:15 +00:00 |
|
whitequark
|
f0f4c0ce61
|
fhdl.ast: bits_sign→shape.
|
2018-12-13 02:06:58 +00:00 |
|
whitequark
|
dc486ad8b9
|
fhdl.ast: add tests for most logic.
|
2018-12-13 02:06:55 +00:00 |
|
whitequark
|
b4dab74b2e
|
compat.fhdl.{module,structure}: import/wrap Migen code (WIP).
|
2018-12-12 15:47:34 +00:00 |
|
whitequark
|
1d4d00aac6
|
fhdl.ast.Signal: implement .like().
|
2018-12-12 14:43:19 +00:00 |
|
whitequark
|
ad9b45adcd
|
fhdl.ir: fix port threading code.
|
2018-12-12 13:00:50 +00:00 |
|
whitequark
|
0fac1f8d0f
|
fhdl.dsl: comb/sync/sync.pix→d.comb/d.sync/d.pix.
|
2018-12-12 12:38:24 +00:00 |
|
whitequark
|
00f0b950f6
|
fhdl.ast.Signal: fix typo.
|
2018-12-12 12:37:30 +00:00 |
|
whitequark
|
aab01d9e59
|
fhdl.ast.Signal: implement attrs field.
|
2018-12-12 11:30:40 +00:00 |
|
whitequark
|
4eadc1629a
|
fhdl.ast.Signal: implement width derivation from min/max.
|
2018-12-12 10:43:09 +00:00 |
|
whitequark
|
263d577323
|
fhdl.ast.Signal: implement reset_less signals.
|
2018-12-12 10:11:16 +00:00 |
|
whitequark
|
1d46ffb591
|
fhdl.ast.Signal: assign an internal name if tracer fails.
|
2018-12-12 10:08:56 +00:00 |
|
whitequark
|
6d5878a0ee
|
fhdl.dsl: allow f.sync["dom"] as a synonym of f.sync.dom.
|
2018-12-12 10:00:00 +00:00 |
|
whitequark
|
851ed06769
|
ClockDomain.{rst→reset}, for consistency with ResetInserter.
nmigen.compat.ClockDomain would alias this, for Migen compatibility.
|
2018-12-12 09:49:02 +00:00 |
|
whitequark
|
4d3258013d
|
Initial commit.
|
2018-12-12 03:18:44 +00:00 |
|