Florent Kermarrec [Sat, 21 Mar 2015 17:22:26 +0000 (18:22 +0100)]
mibuild/platforms: add minispartan6 (from Matt O'Gorman)
Robert Jordens [Fri, 20 Mar 2015 21:10:41 +0000 (15:10 -0600)]
test_actor: add unittests for SimActor
* also implicitly tests for the access of signals during simulation that are
not referenced in any statements
* before, if the busy signal is never used, it is stripped
and could not be accessed in simulation
Robert Jordens [Fri, 20 Mar 2015 21:10:40 +0000 (15:10 -0600)]
sim: keep track of unreferenced items
* items that are never referenced in any statements do not end up in the
namespace or in the verilog
* this memorizes items if they can not be found in the namespace and keeps
track of their values
Robert Jordens [Thu, 19 Mar 2015 17:27:05 +0000 (11:27 -0600)]
pipistrello: switch is a button
Robert Jordens [Thu, 19 Mar 2015 17:48:43 +0000 (18:48 +0100)]
pipistrello: compress and load bitstream at 6MHz
Robert Jordens [Thu, 19 Mar 2015 17:47:54 +0000 (18:47 +0100)]
pipistrello: rename sdram->ddram
Sebastien Bourdeauducq [Wed, 18 Mar 2015 23:24:30 +0000 (00:24 +0100)]
fhdl/verilog: fix dummy signal initial event
Florent Kermarrec [Wed, 18 Mar 2015 17:54:22 +0000 (18:54 +0100)]
mibuild/lattice/diamond: add verilog include path (thanks Lattice's FAE since it's not documented)
Florent Kermarrec [Wed, 18 Mar 2015 14:16:11 +0000 (15:16 +0100)]
fhdl/specials/memory: use $readmemh to initialize memories
Florent Kermarrec [Wed, 18 Mar 2015 14:04:58 +0000 (15:04 +0100)]
fhdl/verilog: change the way we initialize reg: reg name = init_value;
This allows simplifications (init in _printsync and _printinit no longer needed)
Florent Kermarrec [Wed, 18 Mar 2015 13:58:40 +0000 (14:58 +0100)]
fhdl/verilog: revert "fhdl/verilog: add simulation parameter to avoid simulation tricks in synthetizable code"
This probably breaks simulation with Icarus Verilog (and others simulators?)
Florent Kermarrec [Wed, 18 Mar 2015 13:41:43 +0000 (14:41 +0100)]
migen/genlib/io: use 0 instead of Signal() for default rst value (immutable thanks sb)
Sebastien Bourdeauducq [Wed, 18 Mar 2015 11:08:25 +0000 (12:08 +0100)]
Revert "fhdl/verilog: do not use initial begin in _printinit (not accepted by all synthesis tools ex: Synplify Pro does not accept it)"
This breaks simulations, and we will try to use the "reg name = value" syntax instead.
This reverts commit
e946f6e4538277308e374cd1f0b1b9a31f66dc5a.
Florent Kermarrec [Tue, 17 Mar 2015 15:22:22 +0000 (16:22 +0100)]
genlib/io: add optional external rst to CRG
Florent Kermarrec [Tue, 17 Mar 2015 14:25:10 +0000 (15:25 +0100)]
mibuild/platform/versa: fix clock_constraints
Florent Kermarrec [Tue, 17 Mar 2015 13:59:36 +0000 (14:59 +0100)]
mibuild/lattice: use ODDRXD1 and new synthesis directive
Florent Kermarrec [Tue, 17 Mar 2015 13:59:05 +0000 (14:59 +0100)]
fhdl/special: add optional synthesis directive (needed by Synplify Pro)
Florent Kermarrec [Tue, 17 Mar 2015 11:42:36 +0000 (12:42 +0100)]
mibuild/lattice: add LatticeAsyncResetSynchronizer
Florent Kermarrec [Tue, 17 Mar 2015 11:04:00 +0000 (12:04 +0100)]
mibuild/platforms/versa: add ethernet clock constraints
Florent Kermarrec [Tue, 17 Mar 2015 10:51:34 +0000 (11:51 +0100)]
mibuild/platforms/versa: add rst_n
Florent Kermarrec [Tue, 17 Mar 2015 08:40:25 +0000 (09:40 +0100)]
mibuild/lattice: fix LatticeDDROutput
Florent Kermarrec [Mon, 16 Mar 2015 23:25:19 +0000 (00:25 +0100)]
fhdl/verilog: add simulation parameter to avoid simulation tricks in synthetizable code
it's generally better to have identical code between simulations and synthesis, but here tricks inserted for simulation are clearly expected to be simplified by synthesis tools, so it's better not inserting them.
Florent Kermarrec [Mon, 16 Mar 2015 22:39:32 +0000 (23:39 +0100)]
fhdl/verilog: do not use initial begin in _printinit (not accepted by all synthesis tools ex: Synplify Pro does not accept it)
Florent Kermarrec [Mon, 16 Mar 2015 21:57:18 +0000 (22:57 +0100)]
mibuild/xilinx/common: add LatticeDDROutput
Florent Kermarrec [Mon, 16 Mar 2015 21:53:05 +0000 (22:53 +0100)]
mibuild/xilinx/common: add XilinxDDROutput
Florent Kermarrec [Mon, 16 Mar 2015 21:47:13 +0000 (22:47 +0100)]
migen/genlib/io: add DDRInput and DDROutput
Florent Kermarrec [Mon, 16 Mar 2015 21:23:20 +0000 (22:23 +0100)]
mibuild/platforms: add ethernet to versa
Florent Kermarrec [Mon, 16 Mar 2015 21:11:15 +0000 (22:11 +0100)]
mibuild/platforms: add user_dip_btn to versa
Florent Kermarrec [Mon, 16 Mar 2015 20:13:54 +0000 (21:13 +0100)]
mibuild/lattice: use new Toolchain/Platform architecture
Florent Kermarrec [Mon, 16 Mar 2015 19:44:29 +0000 (20:44 +0100)]
mibuild/altera: use new Toolchain/Platform architecture
Florent Kermarrec [Mon, 16 Mar 2015 11:01:27 +0000 (12:01 +0100)]
mibuild: add initial Lattice Diamond support (with ECP3 Versa board platform skeleton)
Sebastien Bourdeauducq [Sat, 14 Mar 2015 21:48:03 +0000 (22:48 +0100)]
move pytholite to separate repos
Sebastien Bourdeauducq [Sat, 14 Mar 2015 16:45:11 +0000 (17:45 +0100)]
fhdl/visit: fix TransformModule
Sebastien Bourdeauducq [Sat, 14 Mar 2015 09:45:11 +0000 (10:45 +0100)]
mibuild/xilinx: export special_overrides dictionary
Sebastien Bourdeauducq [Fri, 13 Mar 2015 23:27:24 +0000 (00:27 +0100)]
mibuild/xilinx: remove obsolete CRG_DS
Sebastien Bourdeauducq [Fri, 13 Mar 2015 23:10:08 +0000 (00:10 +0100)]
mibuild: sanitize default clock management
Sebastien Bourdeauducq [Fri, 13 Mar 2015 22:17:45 +0000 (23:17 +0100)]
mibuild: get rid of Platform factory function, cleanup
Florent Kermarrec [Thu, 12 Mar 2015 18:30:57 +0000 (19:30 +0100)]
migen/genlib/io: add DifferentialOutput and Xilinx implementation
Florent Kermarrec [Thu, 12 Mar 2015 17:49:49 +0000 (18:49 +0100)]
genlib/io.py: fix copy/paste error (thanks rjo)
Florent Kermarrec [Thu, 12 Mar 2015 17:32:49 +0000 (18:32 +0100)]
migen/genlib: add io.py to define generic I/O specials to be lowered by mibuild
Florent Kermarrec [Tue, 10 Mar 2015 15:41:52 +0000 (16:41 +0100)]
mibuild/sim: clean up (thanks sb)
Sebastien Bourdeauducq [Tue, 10 Mar 2015 10:06:55 +0000 (11:06 +0100)]
mibuild/sim/dut_tb: fix permissions
Florent Kermarrec [Mon, 9 Mar 2015 23:42:54 +0000 (00:42 +0100)]
mibuild/sim: get serial dev from /tmp/simserial
Florent Kermarrec [Mon, 9 Mar 2015 22:31:11 +0000 (23:31 +0100)]
mibuild/sim: add support for pty
Florent Kermarrec [Mon, 9 Mar 2015 19:57:20 +0000 (20:57 +0100)]
mibuild/sim: remove hack, the issue was in gateware (padding)
Florent Kermarrec [Mon, 9 Mar 2015 19:20:25 +0000 (20:20 +0100)]
genlib/misc: add increment parameter to Counter
Florent Kermarrec [Mon, 9 Mar 2015 18:45:02 +0000 (19:45 +0100)]
fhdl/module: use r.append() in _collect_submodules
Florent Kermarrec [Mon, 9 Mar 2015 16:17:21 +0000 (17:17 +0100)]
fhdl/module: avoid flushing self._submodules and create do_exit.
Florent Kermarrec [Mon, 9 Mar 2015 13:37:04 +0000 (14:37 +0100)]
mibuild/sim: clean up and move eth struct to sim
Florent Kermarrec [Mon, 9 Mar 2015 13:03:26 +0000 (14:03 +0100)]
mibuild/sim: regroup console_tb/ethernet_tb in dut_tb
Florent Kermarrec [Mon, 9 Mar 2015 12:17:21 +0000 (13:17 +0100)]
mibuild/sim: remove server and interact with tap directly in cpp tb. for now: - need to create tap manually: create tap: openvpn --mktun --dev tap0 ifconfig tap0 192.168.0.14 up mknod /dev/net/tap0 c 10 200 delete tap: openvpn --rmtun --dev tap0 - ARP request/reply OK - TFTP request OK - need to be tested with TFTP server. - need clean up
Robert Jordens [Fri, 6 Mar 2015 21:56:27 +0000 (14:56 -0700)]
vivado: permit resources without pins
This is required if the LOC is done by another, external constraints set,
as in the case of the Zynq Processing System Instance.
Florent Kermarrec [Fri, 6 Mar 2015 19:16:30 +0000 (20:16 +0100)]
mibuild/sim: able to visualize arp requests with wireshark
now need to find why that is not responding...
Florent Kermarrec [Fri, 6 Mar 2015 11:49:56 +0000 (12:49 +0100)]
mibuild/sim: able to send ethernet frame from sim to server.py
Florent Kermarrec [Fri, 6 Mar 2015 11:20:17 +0000 (12:20 +0100)]
mibuild/sim: add ethernet pins to verilor.py
Florent Kermarrec [Fri, 6 Mar 2015 09:20:26 +0000 (10:20 +0100)]
platforms/sim: add ethernet pins
Sebastien Bourdeauducq [Thu, 5 Mar 2015 23:47:23 +0000 (00:47 +0100)]
genlib/cordic: fix typos
Florent Kermarrec [Wed, 4 Mar 2015 22:49:15 +0000 (23:49 +0100)]
genlib/misc: fix missing *args in Counter
Florent Kermarrec [Tue, 3 Mar 2015 23:55:35 +0000 (00:55 +0100)]
mibuild/sim/server_tb: use SERIAL_SINK_ACK
Florent Kermarrec [Tue, 3 Mar 2015 21:52:28 +0000 (22:52 +0100)]
mibuild/sim: use /tmp/simsocket sockaddr for server
Florent Kermarrec [Tue, 3 Mar 2015 17:01:14 +0000 (18:01 +0100)]
mibuild/sim: avoid updating end at each cycle (simulation speedup)
Florent Kermarrec [Tue, 3 Mar 2015 16:57:58 +0000 (17:57 +0100)]
mibuild/sim: simplify console_tb with sim struct
Florent Kermarrec [Tue, 3 Mar 2015 16:35:52 +0000 (17:35 +0100)]
mibuild/sim: create server.py and server_tb (Proof of concept OK with flterm)
Using a server allow us to create a virtual UART (and ethernet TAP in the future).
1) start the server
2) start flterm on the virtual serial port created by the server
3) run the simulation
This will enable us to do serialboot and netboot in simulation.
This will also enable prototyping ethernet for ARTIQ in simulation.
Sebastien Bourdeauducq [Tue, 3 Mar 2015 02:06:39 +0000 (02:06 +0000)]
xilinx/programmer/vivado: fix Linux support
Sebastien Bourdeauducq [Tue, 3 Mar 2015 02:03:14 +0000 (02:03 +0000)]
platforms/kc705: fix imports
Florent Kermarrec [Mon, 2 Mar 2015 22:24:48 +0000 (23:24 +0100)]
Merge branch 'master' of github.com/m-labs/migen
Florent Kermarrec [Mon, 2 Mar 2015 22:23:23 +0000 (23:23 +0100)]
mibuild/sim/verilator: remove verilator_root, use -Wno-fatal and add verbose option (verbose disabled by default)
Sebastien Bourdeauducq [Mon, 2 Mar 2015 21:56:20 +0000 (21:56 +0000)]
mibuild/sim: style fixes
Florent Kermarrec [Mon, 2 Mar 2015 07:23:02 +0000 (08:23 +0100)]
move dma_lasmi to MiSoC
Florent Kermarrec [Sun, 1 Mar 2015 21:02:11 +0000 (22:02 +0100)]
lasmi: simplify usage for the user (it's the job of the controller to manage write/read latencies on acks)
Florent Kermarrec [Sun, 1 Mar 2015 17:27:46 +0000 (18:27 +0100)]
mibuild: initial Verilator support
Florent Kermarrec [Sun, 1 Mar 2015 15:33:46 +0000 (16:33 +0100)]
genlib/misc: add FlipFlop, Counter, Timeout
Sebastien Bourdeauducq [Sat, 28 Feb 2015 23:20:44 +0000 (16:20 -0700)]
platforms/pipistrello: remove unconnected SDRAM pins
Robert Jordens [Sat, 28 Feb 2015 22:55:51 +0000 (15:55 -0700)]
pipistrello: fix ddram dqs, cleanup constraints, add pullup/downs
Robert Jordens [Sat, 28 Feb 2015 22:55:50 +0000 (15:55 -0700)]
pipistrello: switch back to xc3sprog and fast (papilio) speed
Florent Kermarrec [Sat, 28 Feb 2015 22:34:57 +0000 (23:34 +0100)]
kx705: add programmer parameter
Florent Kermarrec [Sat, 28 Feb 2015 18:33:20 +0000 (19:33 +0100)]
fix xilinx/programmer with Vivado
Florent Kermarrec [Sat, 28 Feb 2015 02:38:47 +0000 (03:38 +0100)]
xilinx/programmer: add source of vivado's settings (need to be tested on a linux machine)
Florent Kermarrec [Fri, 27 Feb 2015 15:54:22 +0000 (16:54 +0100)]
move dfi/lasmibus/wishbone2lasmi to MiSoC sdram
Florent Kermarrec [Fri, 27 Feb 2015 13:12:13 +0000 (14:12 +0100)]
report cachesize in wishbone2lasmi
Florent Kermarrec [Fri, 27 Feb 2015 08:02:21 +0000 (09:02 +0100)]
xilinx/programmer: add partial flash_bitstream for vivado (can flash full bitstream, need to be adapted to flash part of the flash (bios, ...))
Robert Jordens [Fri, 27 Feb 2015 03:27:21 +0000 (20:27 -0700)]
xilinx/programmer: fix xc3sprog (GenericProgrammer)
Robert Jordens [Fri, 27 Feb 2015 03:22:23 +0000 (20:22 -0700)]
pipistrello: use fpgaprog
Robert Jordens [Fri, 27 Feb 2015 03:22:22 +0000 (20:22 -0700)]
add fpgaprog programmer
Robert Jordens [Fri, 27 Feb 2015 03:22:21 +0000 (20:22 -0700)]
add pipistrello platform
Sebastien Bourdeauducq [Fri, 27 Feb 2015 04:32:39 +0000 (21:32 -0700)]
Merge branch 'master' of https://github.com/m-labs/migen
Sebastien Bourdeauducq [Thu, 26 Feb 2015 23:22:22 +0000 (16:22 -0700)]
platforms/kc705: add user SMA clock
Yann Sionneau [Wed, 25 Feb 2015 10:27:09 +0000 (11:27 +0100)]
mibuild/kc705: add missing pins on FMC LPC
Florent Kermarrec [Thu, 26 Feb 2015 18:00:43 +0000 (19:00 +0100)]
mibuild: move identifier to platforms
Florent Kermarrec [Thu, 26 Feb 2015 13:04:36 +0000 (14:04 +0100)]
mibuild: fix missing xilinx_common -->xilinx.common change
Florent Kermarrec [Thu, 26 Feb 2015 11:51:43 +0000 (12:51 +0100)]
platforms: add default_clk_freq/default_clk_name (to use it on simple designs to test MiSOC on various platforms)
Florent Kermarrec [Thu, 26 Feb 2015 11:31:19 +0000 (12:31 +0100)]
mibuild: add VivadoProgrammer (only load_bitstream)
Florent Kermarrec [Thu, 26 Feb 2015 11:10:41 +0000 (12:10 +0100)]
mibuild: better file organization (create directory for each vendor and move programmers in it)
Yann Sionneau [Wed, 18 Feb 2015 15:32:43 +0000 (08:32 -0700)]
mibuild/kc705: add FMC connectors
Yann Sionneau [Wed, 18 Feb 2015 15:32:15 +0000 (08:32 -0700)]
mibuild: support pin names in IO extensions
Florent Kermarrec [Thu, 12 Feb 2015 22:36:57 +0000 (23:36 +0100)]
endpoints: add param_layout parameter (required to pass parameter data with converters and will allow logic optimizations)
Florent Kermarrec [Thu, 12 Feb 2015 22:29:53 +0000 (23:29 +0100)]
actorlib/structuring: fix eop generation in Pack
Sebastien Bourdeauducq [Sat, 14 Feb 2015 11:05:07 +0000 (03:05 -0800)]
mibuild: make resolve_signals public
Florent Kermarrec [Thu, 12 Feb 2015 22:28:41 +0000 (23:28 +0100)]
mibuild: return verilog namespace with build
Florent Kermarrec [Thu, 12 Feb 2015 22:23:28 +0000 (23:23 +0100)]
remove crc since each crc is specific. It's probably better to adapt code for each case.