litex.git
9 years agosim: keep track of unreferenced items
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

9 years agopipistrello: switch is a button
Robert Jordens [Thu, 19 Mar 2015 17:27:05 +0000 (11:27 -0600)]
pipistrello: switch is a button

9 years agopipistrello: compress and load bitstream at 6MHz
Robert Jordens [Thu, 19 Mar 2015 17:48:43 +0000 (18:48 +0100)]
pipistrello: compress and load bitstream at 6MHz

9 years agopipistrello: rename sdram->ddram
Robert Jordens [Thu, 19 Mar 2015 17:47:54 +0000 (18:47 +0100)]
pipistrello: rename sdram->ddram

9 years agofhdl/verilog: fix dummy signal initial event
Sebastien Bourdeauducq [Wed, 18 Mar 2015 23:24:30 +0000 (00:24 +0100)]
fhdl/verilog: fix dummy signal initial event

9 years agomibuild/lattice/diamond: add verilog include path (thanks Lattice's FAE since it...
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)

9 years agofhdl/specials/memory: use $readmemh to initialize memories
Florent Kermarrec [Wed, 18 Mar 2015 14:16:11 +0000 (15:16 +0100)]
fhdl/specials/memory: use $readmemh to initialize memories

9 years agofhdl/verilog: change the way we initialize reg: reg name = init_value;
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)

9 years agofhdl/verilog: revert "fhdl/verilog: add simulation parameter to avoid simulation...
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?)

9 years agomigen/genlib/io: use 0 instead of Signal() for default rst value (immutable thanks sb)
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)

9 years agoRevert "fhdl/verilog: do not use initial begin in _printinit (not accepted by all...
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.

9 years agogenlib/io: add optional external rst to CRG
Florent Kermarrec [Tue, 17 Mar 2015 15:22:22 +0000 (16:22 +0100)]
genlib/io: add optional external rst to CRG

9 years agomibuild/platform/versa: fix clock_constraints
Florent Kermarrec [Tue, 17 Mar 2015 14:25:10 +0000 (15:25 +0100)]
mibuild/platform/versa: fix clock_constraints

9 years agomibuild/lattice: use ODDRXD1 and new synthesis directive
Florent Kermarrec [Tue, 17 Mar 2015 13:59:36 +0000 (14:59 +0100)]
mibuild/lattice: use ODDRXD1 and new synthesis directive

9 years agofhdl/special: add optional synthesis directive (needed by Synplify Pro)
Florent Kermarrec [Tue, 17 Mar 2015 13:59:05 +0000 (14:59 +0100)]
fhdl/special: add optional synthesis directive (needed by Synplify Pro)

9 years agomibuild/lattice: add LatticeAsyncResetSynchronizer
Florent Kermarrec [Tue, 17 Mar 2015 11:42:36 +0000 (12:42 +0100)]
mibuild/lattice: add LatticeAsyncResetSynchronizer

9 years agomibuild/platforms/versa: add ethernet clock constraints
Florent Kermarrec [Tue, 17 Mar 2015 11:04:00 +0000 (12:04 +0100)]
mibuild/platforms/versa: add ethernet clock constraints

9 years agomibuild/platforms/versa: add rst_n
Florent Kermarrec [Tue, 17 Mar 2015 10:51:34 +0000 (11:51 +0100)]
mibuild/platforms/versa: add rst_n

9 years agomibuild/lattice: fix LatticeDDROutput
Florent Kermarrec [Tue, 17 Mar 2015 08:40:25 +0000 (09:40 +0100)]
mibuild/lattice: fix LatticeDDROutput

9 years agofhdl/verilog: add simulation parameter to avoid simulation tricks in synthetizable...
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.

9 years agofhdl/verilog: do not use initial begin in _printinit (not accepted by all synthesis...
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)

9 years agomibuild/xilinx/common: add LatticeDDROutput
Florent Kermarrec [Mon, 16 Mar 2015 21:57:18 +0000 (22:57 +0100)]
mibuild/xilinx/common: add LatticeDDROutput

9 years agomibuild/xilinx/common: add XilinxDDROutput
Florent Kermarrec [Mon, 16 Mar 2015 21:53:05 +0000 (22:53 +0100)]
mibuild/xilinx/common: add XilinxDDROutput

9 years agomigen/genlib/io: add DDRInput and DDROutput
Florent Kermarrec [Mon, 16 Mar 2015 21:47:13 +0000 (22:47 +0100)]
migen/genlib/io: add DDRInput and DDROutput

9 years agomibuild/platforms: add ethernet to versa
Florent Kermarrec [Mon, 16 Mar 2015 21:23:20 +0000 (22:23 +0100)]
mibuild/platforms: add ethernet to versa

9 years agomibuild/platforms: add user_dip_btn to versa
Florent Kermarrec [Mon, 16 Mar 2015 21:11:15 +0000 (22:11 +0100)]
mibuild/platforms: add user_dip_btn to versa

9 years agomibuild/lattice: use new Toolchain/Platform architecture
Florent Kermarrec [Mon, 16 Mar 2015 20:13:54 +0000 (21:13 +0100)]
mibuild/lattice: use new Toolchain/Platform architecture

9 years agomibuild/altera: 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

9 years agomibuild: add initial Lattice Diamond support (with ECP3 Versa board platform skeleton)
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)

9 years agomove pytholite to separate repos
Sebastien Bourdeauducq [Sat, 14 Mar 2015 21:48:03 +0000 (22:48 +0100)]
move pytholite to separate repos

9 years agofhdl/visit: fix TransformModule
Sebastien Bourdeauducq [Sat, 14 Mar 2015 16:45:11 +0000 (17:45 +0100)]
fhdl/visit: fix TransformModule

9 years agomibuild/xilinx: export special_overrides dictionary
Sebastien Bourdeauducq [Sat, 14 Mar 2015 09:45:11 +0000 (10:45 +0100)]
mibuild/xilinx: export special_overrides dictionary

9 years agomibuild/xilinx: remove obsolete CRG_DS
Sebastien Bourdeauducq [Fri, 13 Mar 2015 23:27:24 +0000 (00:27 +0100)]
mibuild/xilinx: remove obsolete CRG_DS

9 years agomibuild: sanitize default clock management
Sebastien Bourdeauducq [Fri, 13 Mar 2015 23:10:08 +0000 (00:10 +0100)]
mibuild: sanitize default clock management

9 years agomibuild: get rid of Platform factory function, cleanup
Sebastien Bourdeauducq [Fri, 13 Mar 2015 22:17:45 +0000 (23:17 +0100)]
mibuild: get rid of Platform factory function, cleanup

9 years agomigen/genlib/io: add DifferentialOutput and Xilinx implementation
Florent Kermarrec [Thu, 12 Mar 2015 18:30:57 +0000 (19:30 +0100)]
migen/genlib/io: add DifferentialOutput and Xilinx implementation

9 years agogenlib/io.py: fix copy/paste error (thanks rjo)
Florent Kermarrec [Thu, 12 Mar 2015 17:49:49 +0000 (18:49 +0100)]
genlib/io.py: fix copy/paste error (thanks rjo)

9 years agomigen/genlib: add io.py to define generic I/O specials to be lowered by mibuild
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

9 years agomibuild/sim: clean up (thanks sb)
Florent Kermarrec [Tue, 10 Mar 2015 15:41:52 +0000 (16:41 +0100)]
mibuild/sim: clean up (thanks sb)

9 years agomibuild/sim/dut_tb: fix permissions
Sebastien Bourdeauducq [Tue, 10 Mar 2015 10:06:55 +0000 (11:06 +0100)]
mibuild/sim/dut_tb: fix permissions

9 years agomibuild/sim: get serial dev from /tmp/simserial
Florent Kermarrec [Mon, 9 Mar 2015 23:42:54 +0000 (00:42 +0100)]
mibuild/sim: get serial dev from /tmp/simserial

9 years agomibuild/sim: add support for pty
Florent Kermarrec [Mon, 9 Mar 2015 22:31:11 +0000 (23:31 +0100)]
mibuild/sim: add support for pty

9 years agomibuild/sim: remove hack, the issue was in gateware (padding)
Florent Kermarrec [Mon, 9 Mar 2015 19:57:20 +0000 (20:57 +0100)]
mibuild/sim: remove hack, the issue was in gateware (padding)

9 years agogenlib/misc: add increment parameter to Counter
Florent Kermarrec [Mon, 9 Mar 2015 19:20:25 +0000 (20:20 +0100)]
genlib/misc: add increment parameter to Counter

9 years agofhdl/module: use r.append() in _collect_submodules
Florent Kermarrec [Mon, 9 Mar 2015 18:45:02 +0000 (19:45 +0100)]
fhdl/module: use r.append() in _collect_submodules

9 years agofhdl/module: avoid flushing self._submodules and create do_exit.
Florent Kermarrec [Mon, 9 Mar 2015 16:17:21 +0000 (17:17 +0100)]
fhdl/module: avoid flushing self._submodules and create do_exit.

9 years agomibuild/sim: clean up and move eth struct to sim
Florent Kermarrec [Mon, 9 Mar 2015 13:37:04 +0000 (14:37 +0100)]
mibuild/sim: clean up and move eth struct to sim

9 years agomibuild/sim: regroup console_tb/ethernet_tb in dut_tb
Florent Kermarrec [Mon, 9 Mar 2015 13:03:26 +0000 (14:03 +0100)]
mibuild/sim: regroup console_tb/ethernet_tb in dut_tb

9 years agomibuild/sim: remove server and interact with tap directly in cpp tb. for now: - need...
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

9 years agovivado: permit resources without pins
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.

9 years agomibuild/sim: able to visualize arp requests with wireshark
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...

9 years agomibuild/sim: able to send ethernet frame from sim to server.py
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

9 years agomibuild/sim: add ethernet pins to verilor.py
Florent Kermarrec [Fri, 6 Mar 2015 11:20:17 +0000 (12:20 +0100)]
mibuild/sim: add ethernet pins to verilor.py

9 years agoplatforms/sim: add ethernet pins
Florent Kermarrec [Fri, 6 Mar 2015 09:20:26 +0000 (10:20 +0100)]
platforms/sim: add ethernet pins

9 years agogenlib/cordic: fix typos
Sebastien Bourdeauducq [Thu, 5 Mar 2015 23:47:23 +0000 (00:47 +0100)]
genlib/cordic: fix typos

9 years agogenlib/misc: fix missing *args in Counter
Florent Kermarrec [Wed, 4 Mar 2015 22:49:15 +0000 (23:49 +0100)]
genlib/misc: fix missing *args in Counter

9 years agomibuild/sim/server_tb: use SERIAL_SINK_ACK
Florent Kermarrec [Tue, 3 Mar 2015 23:55:35 +0000 (00:55 +0100)]
mibuild/sim/server_tb: use SERIAL_SINK_ACK

9 years agomibuild/sim: use /tmp/simsocket sockaddr for server
Florent Kermarrec [Tue, 3 Mar 2015 21:52:28 +0000 (22:52 +0100)]
mibuild/sim: use /tmp/simsocket sockaddr for server

9 years agomibuild/sim: avoid updating end at each cycle (simulation speedup)
Florent Kermarrec [Tue, 3 Mar 2015 17:01:14 +0000 (18:01 +0100)]
mibuild/sim: avoid updating end at each cycle (simulation speedup)

9 years agomibuild/sim: simplify console_tb with sim struct
Florent Kermarrec [Tue, 3 Mar 2015 16:57:58 +0000 (17:57 +0100)]
mibuild/sim: simplify console_tb with sim struct

9 years agomibuild/sim: create server.py and server_tb (Proof of concept OK with flterm)
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.

9 years agoxilinx/programmer/vivado: fix Linux support
Sebastien Bourdeauducq [Tue, 3 Mar 2015 02:06:39 +0000 (02:06 +0000)]
xilinx/programmer/vivado: fix Linux support

9 years agoplatforms/kc705: fix imports
Sebastien Bourdeauducq [Tue, 3 Mar 2015 02:03:14 +0000 (02:03 +0000)]
platforms/kc705: fix imports

9 years agoMerge branch 'master' of http://github.com/m-labs/migen
Florent Kermarrec [Mon, 2 Mar 2015 22:24:48 +0000 (23:24 +0100)]
Merge branch 'master' of github.com/m-labs/migen

9 years agomibuild/sim/verilator: remove verilator_root, use -Wno-fatal and add verbose option...
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)

9 years agomibuild/sim: style fixes
Sebastien Bourdeauducq [Mon, 2 Mar 2015 21:56:20 +0000 (21:56 +0000)]
mibuild/sim: style fixes

9 years agomove dma_lasmi to MiSoC
Florent Kermarrec [Mon, 2 Mar 2015 07:23:02 +0000 (08:23 +0100)]
move dma_lasmi to MiSoC

9 years agolasmi: simplify usage for the user (it's the job of the controller to manage write...
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)

9 years agomibuild: initial Verilator support
Florent Kermarrec [Sun, 1 Mar 2015 17:27:46 +0000 (18:27 +0100)]
mibuild: initial Verilator support

9 years agogenlib/misc: add FlipFlop, Counter, Timeout
Florent Kermarrec [Sun, 1 Mar 2015 15:33:46 +0000 (16:33 +0100)]
genlib/misc: add FlipFlop, Counter, Timeout

9 years agoplatforms/pipistrello: remove unconnected SDRAM pins
Sebastien Bourdeauducq [Sat, 28 Feb 2015 23:20:44 +0000 (16:20 -0700)]
platforms/pipistrello: remove unconnected SDRAM pins

9 years agopipistrello: fix ddram dqs, cleanup constraints, add pullup/downs
Robert Jordens [Sat, 28 Feb 2015 22:55:51 +0000 (15:55 -0700)]
pipistrello: fix ddram dqs, cleanup constraints, add pullup/downs

9 years agopipistrello: switch back to xc3sprog and fast (papilio) speed
Robert Jordens [Sat, 28 Feb 2015 22:55:50 +0000 (15:55 -0700)]
pipistrello: switch back to xc3sprog and fast (papilio) speed

9 years agokx705: add programmer parameter
Florent Kermarrec [Sat, 28 Feb 2015 22:34:57 +0000 (23:34 +0100)]
kx705: add programmer parameter

9 years agofix xilinx/programmer with Vivado
Florent Kermarrec [Sat, 28 Feb 2015 18:33:20 +0000 (19:33 +0100)]
fix xilinx/programmer with Vivado

9 years agoxilinx/programmer: add source of vivado's settings (need to be tested on a linux...
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)

9 years agomove dfi/lasmibus/wishbone2lasmi to MiSoC sdram
Florent Kermarrec [Fri, 27 Feb 2015 15:54:22 +0000 (16:54 +0100)]
move dfi/lasmibus/wishbone2lasmi to MiSoC sdram

9 years agoreport cachesize in wishbone2lasmi
Florent Kermarrec [Fri, 27 Feb 2015 13:12:13 +0000 (14:12 +0100)]
report cachesize in wishbone2lasmi

9 years agoxilinx/programmer: add partial flash_bitstream for vivado (can flash full bitstream...
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, ...))

9 years agoxilinx/programmer: fix xc3sprog (GenericProgrammer)
Robert Jordens [Fri, 27 Feb 2015 03:27:21 +0000 (20:27 -0700)]
xilinx/programmer: fix xc3sprog (GenericProgrammer)

9 years agopipistrello: use fpgaprog
Robert Jordens [Fri, 27 Feb 2015 03:22:23 +0000 (20:22 -0700)]
pipistrello: use fpgaprog

9 years agoadd fpgaprog programmer
Robert Jordens [Fri, 27 Feb 2015 03:22:22 +0000 (20:22 -0700)]
add fpgaprog programmer

9 years agoadd pipistrello platform
Robert Jordens [Fri, 27 Feb 2015 03:22:21 +0000 (20:22 -0700)]
add pipistrello platform

9 years agoMerge branch 'master' of https://github.com/m-labs/migen
Sebastien Bourdeauducq [Fri, 27 Feb 2015 04:32:39 +0000 (21:32 -0700)]
Merge branch 'master' of https://github.com/m-labs/migen

9 years agoplatforms/kc705: add user SMA clock
Sebastien Bourdeauducq [Thu, 26 Feb 2015 23:22:22 +0000 (16:22 -0700)]
platforms/kc705: add user SMA clock

9 years agomibuild/kc705: add missing pins on FMC LPC
Yann Sionneau [Wed, 25 Feb 2015 10:27:09 +0000 (11:27 +0100)]
mibuild/kc705: add missing pins on FMC LPC

9 years agomibuild: move identifier to platforms
Florent Kermarrec [Thu, 26 Feb 2015 18:00:43 +0000 (19:00 +0100)]
mibuild: move identifier to platforms

9 years agomibuild: fix missing xilinx_common -->xilinx.common change
Florent Kermarrec [Thu, 26 Feb 2015 13:04:36 +0000 (14:04 +0100)]
mibuild: fix missing xilinx_common -->xilinx.common change

9 years agoplatforms: add default_clk_freq/default_clk_name (to use it on simple designs to...
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)

9 years agomibuild: add VivadoProgrammer (only load_bitstream)
Florent Kermarrec [Thu, 26 Feb 2015 11:31:19 +0000 (12:31 +0100)]
mibuild: add VivadoProgrammer (only load_bitstream)

9 years agomibuild: better file organization (create directory for each vendor and move programm...
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)

9 years agomibuild/kc705: add FMC connectors
Yann Sionneau [Wed, 18 Feb 2015 15:32:43 +0000 (08:32 -0700)]
mibuild/kc705: add FMC connectors

9 years agomibuild: support pin names in IO extensions
Yann Sionneau [Wed, 18 Feb 2015 15:32:15 +0000 (08:32 -0700)]
mibuild: support pin names in IO extensions

9 years agoendpoints: add param_layout parameter (required to pass parameter data with converter...
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)

9 years agoactorlib/structuring: fix eop generation in Pack
Florent Kermarrec [Thu, 12 Feb 2015 22:29:53 +0000 (23:29 +0100)]
actorlib/structuring: fix eop generation in Pack

9 years agomibuild: make resolve_signals public
Sebastien Bourdeauducq [Sat, 14 Feb 2015 11:05:07 +0000 (03:05 -0800)]
mibuild: make resolve_signals public

9 years agomibuild: return verilog namespace with build
Florent Kermarrec [Thu, 12 Feb 2015 22:28:41 +0000 (23:28 +0100)]
mibuild: return verilog namespace with build

9 years agoremove crc since each crc is specific. It's probably better to adapt code for each...
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.

9 years agogenlib/crc: use OrderedDict
Florent Kermarrec [Thu, 22 Jan 2015 15:37:18 +0000 (16:37 +0100)]
genlib/crc: use OrderedDict

9 years agofhdl/std: add FinalizeError import
Florent Kermarrec [Thu, 22 Jan 2015 15:35:42 +0000 (16:35 +0100)]
fhdl/std: add FinalizeError import