litex.git
10 years agobank: add re to CSRStorage
Florent Kermarrec [Fri, 10 Oct 2014 18:45:18 +0000 (20:45 +0200)]
bank: add re to CSRStorage

being able to know when a register is updated is useful in many cases and avoid having to handle another register for that.
re is asserted when the the last CSR of the Compound is written. Software must also write Compound in the right order.

10 years agoctrl: drive txcomwake and not gtx.txcomwake in K7SATAPHYDeviceCtrl
Florent Kermarrec [Thu, 16 Oct 2014 08:38:26 +0000 (10:38 +0200)]
ctrl: drive txcomwake and not gtx.txcomwake in K7SATAPHYDeviceCtrl

10 years agouart2wishbone: fix missing payload.d
Florent Kermarrec [Thu, 16 Oct 2014 07:37:43 +0000 (09:37 +0200)]
uart2wishbone: fix missing payload.d

10 years agouart2wishbone: always use payload.d and not .d
Florent Kermarrec [Wed, 15 Oct 2014 10:13:22 +0000 (12:13 +0200)]
uart2wishbone: always use payload.d and not .d

10 years agofill __init__.py to simplify imports
Florent Kermarrec [Fri, 10 Oct 2014 14:57:18 +0000 (16:57 +0200)]
fill __init__.py to simplify imports

10 years agomila: simplify usage
Florent Kermarrec [Fri, 10 Oct 2014 13:32:36 +0000 (15:32 +0200)]
mila: simplify usage

10 years agouart2wishbone: share UARTRX and UARTTX with MiSoC
Florent Kermarrec [Fri, 10 Oct 2014 13:15:58 +0000 (15:15 +0200)]
uart2wishbone: share UARTRX and UARTTX with MiSoC

10 years agomor1kx: sync
Sebastien Bourdeauducq [Fri, 10 Oct 2014 07:38:05 +0000 (15:38 +0800)]
mor1kx: sync

10 years agouart: minor cleanup and fix
Sebastien Bourdeauducq [Fri, 10 Oct 2014 07:33:27 +0000 (15:33 +0800)]
uart: minor cleanup and fix

10 years agouart: split it and use dataflow
Florent Kermarrec [Wed, 24 Sep 2014 19:30:25 +0000 (21:30 +0200)]
uart: split it and use dataflow

This make the code easier to understand and allow the reuse of UARTRX & UARTTX
on designs without CPU (e.g miscope).

10 years agomila: fixes when used without RLE
Florent Kermarrec [Mon, 6 Oct 2014 10:30:06 +0000 (12:30 +0200)]
mila: fixes when used without RLE

10 years agomila: add clk_domain support
Florent Kermarrec [Mon, 6 Oct 2014 08:24:21 +0000 (10:24 +0200)]
mila: add clk_domain support

an AsyncFIFO is inserted when clk_domain is not "sys" to enable capture from another clock domain.
sys_clk frequency need to be greater than clk_domain clock.

future possible improvement: automatic insertion of a converter when clk_domain frequency is
greater than sys_clk.

10 years agomila: simplify export
Florent Kermarrec [Wed, 1 Oct 2014 08:06:59 +0000 (10:06 +0200)]
mila: simplify export

10 years agorevert simulation design and add wave
Florent Kermarrec [Tue, 30 Sep 2014 09:04:36 +0000 (11:04 +0200)]
revert simulation design and add wave

10 years agoadd .payload. to Sink and Source to be compatible with upstream Migen
Florent Kermarrec [Tue, 30 Sep 2014 09:03:36 +0000 (11:03 +0200)]
add .payload. to Sink and Source to be compatible with upstream Migen

10 years agoinstanciate GTXE2_COMMON (seems recommended in AR43339)
Florent Kermarrec [Tue, 30 Sep 2014 08:55:21 +0000 (10:55 +0200)]
instanciate GTXE2_COMMON (seems recommended in AR43339)

10 years agotest to visualize OOB with Miscope
Florent Kermarrec [Tue, 30 Sep 2014 07:29:15 +0000 (09:29 +0200)]
test to visualize OOB with Miscope

10 years agouse SGMII clk (125MHz) and SFP for test on KC705
Florent Kermarrec [Tue, 30 Sep 2014 07:07:15 +0000 (09:07 +0200)]
use SGMII clk (125MHz) and SFP for test on KC705

10 years agosimplify and clean up
Florent Kermarrec [Mon, 29 Sep 2014 16:25:24 +0000 (18:25 +0200)]
simplify and clean up

10 years agosim working
Florent Kermarrec [Mon, 29 Sep 2014 15:12:02 +0000 (17:12 +0200)]
sim working

10 years agofix alignment (still some transmissions errors --> need to check clocks and resets)
Florent Kermarrec [Mon, 29 Sep 2014 11:02:11 +0000 (13:02 +0200)]
fix alignment (still some transmissions errors --> need to check clocks and resets)

10 years agogenlib/fsm: make first fsm.act() the reset state, even when using after_*/before_...
Sebastien Bourdeauducq [Mon, 29 Sep 2014 11:38:58 +0000 (19:38 +0800)]
genlib/fsm: make first fsm.act() the reset state, even when using after_*/before_* methods before fsm.act

10 years agofix and simplify ctrl fsms, OOB OK, align KO
Florent Kermarrec [Sat, 27 Sep 2014 15:26:52 +0000 (17:26 +0200)]
fix and simplify ctrl fsms, OOB OK, align KO

10 years agogtx: add resynchronization on control signals
Florent Kermarrec [Sat, 27 Sep 2014 15:25:49 +0000 (17:25 +0200)]
gtx: add resynchronization on control signals

10 years agommcm: configure default divider with default_speed
Florent Kermarrec [Sat, 27 Sep 2014 14:22:40 +0000 (16:22 +0200)]
mmcm: configure default divider with default_speed

10 years agoadd tx_reset_fsm and rx_reset_fsm
Florent Kermarrec [Sat, 27 Sep 2014 14:10:39 +0000 (16:10 +0200)]
add tx_reset_fsm and rx_reset_fsm

10 years agoreorganize code
Florent Kermarrec [Sat, 27 Sep 2014 13:34:28 +0000 (15:34 +0200)]
reorganize code
- use sys_clk of 166.66MHz and using it instead of sata clk.
- rename clocking to CRG since it also handles resets.
- create datapath and move code from gtx.

10 years agoclocking: clean up and add comments
Florent Kermarrec [Sat, 27 Sep 2014 11:33:43 +0000 (13:33 +0200)]
clocking: clean up and add comments

10 years agohost and device communicate with OOB, now need to fix ctrl
Florent Kermarrec [Fri, 26 Sep 2014 21:27:25 +0000 (23:27 +0200)]
host and device communicate with OOB, now need to fix ctrl

10 years agoreset and lock of PLL OK. We see OOB signals on the link but they are not decoded...
Florent Kermarrec [Fri, 26 Sep 2014 19:52:32 +0000 (21:52 +0200)]
reset and lock of PLL OK. We see OOB signals on the link but they are not decoded by the device.

10 years agoadd modelsim simulation and start fixing init
Florent Kermarrec [Fri, 26 Sep 2014 09:36:28 +0000 (11:36 +0200)]
add modelsim simulation and start fixing init

10 years agoadd generic CRCEngine, CRC32, CRCInserter and CRCChecker
Florent Kermarrec [Wed, 24 Sep 2014 20:48:36 +0000 (22:48 +0200)]
add generic CRCEngine, CRC32, CRCInserter and CRCChecker

CRCEngine implements a generic and optimized CRC LFSR. It will enable generation of CRC generators and checkers.
CRC32 is an implementation of IEEE 802.3 CRC using the CRCEngine.
CRC32Inserter and CRC32Checker have been tested on an ethernet MAC.

10 years agoupdate README with new Kintex-7 support
Florent Kermarrec [Sat, 20 Sep 2014 19:51:37 +0000 (21:51 +0200)]
update README with new Kintex-7 support

10 years agotargets: add simple design (vendor agnostic and usable on all platforms with UART...
Florent Kermarrec [Sat, 20 Sep 2014 20:48:53 +0000 (22:48 +0200)]
targets: add simple design (vendor agnostic and usable on all platforms with UART pins).

Designing a SoC with Migen is easy, but we have to provide a very simple design that can
be used on all boards with only 1 clock and 2 UARTs pins defined. This will encourage the
newcomer to invest time in Migen/MiSoC and see its real potential.

10 years agomodify TestDesign to be able to simulate phy with host <--> device loopback
Florent Kermarrec [Thu, 25 Sep 2014 13:37:49 +0000 (15:37 +0200)]
modify TestDesign to be able to simulate phy with host <--> device loopback

10 years agomove some logic outside of GTX
Florent Kermarrec [Thu, 25 Sep 2014 12:52:16 +0000 (14:52 +0200)]
move some logic outside of GTX

10 years agoclean up (thanks to Sebastien)
Florent Kermarrec [Thu, 25 Sep 2014 12:14:11 +0000 (14:14 +0200)]
clean up (thanks to Sebastien)

10 years agodo some clean up
Florent Kermarrec [Wed, 24 Sep 2014 20:09:11 +0000 (22:09 +0200)]
do some clean up

10 years agouse new MiSoC UART with phase accumulators
Florent Kermarrec [Wed, 24 Sep 2014 19:56:15 +0000 (21:56 +0200)]
use new MiSoC UART with phase accumulators

this will allow to speed up MiLa reads

10 years agointegrate phy in test design and start fix syntax errors
Florent Kermarrec [Wed, 24 Sep 2014 12:28:52 +0000 (14:28 +0200)]
integrate phy in test design and start fix syntax errors

10 years agoinstanciate device or host controller
Florent Kermarrec [Wed, 24 Sep 2014 11:56:32 +0000 (13:56 +0200)]
instanciate device or host controller

10 years agomanage clock domain crossing and data width conversion in gtx
Florent Kermarrec [Wed, 24 Sep 2014 11:56:12 +0000 (13:56 +0200)]
manage clock domain crossing and data width conversion in gtx

10 years agocreate sata clock (sata_tx/2 for a 32 bits data path)
Florent Kermarrec [Wed, 24 Sep 2014 11:55:06 +0000 (13:55 +0200)]
create sata clock (sata_tx/2 for a 32 bits data path)

10 years agorealign rxdata / rxcharisk directly in gtx
Florent Kermarrec [Wed, 24 Sep 2014 10:13:43 +0000 (12:13 +0200)]
realign rxdata / rxcharisk directly in gtx

10 years agoadd device ctrl skeleton (we will use it for simulation with the host)
Florent Kermarrec [Wed, 24 Sep 2014 09:37:28 +0000 (11:37 +0200)]
add device ctrl skeleton (we will use it for simulation with the host)

10 years agomore ctrl skeleton
Florent Kermarrec [Wed, 24 Sep 2014 09:07:36 +0000 (11:07 +0200)]
more ctrl skeleton

10 years agoadd ctrl skeleton
Florent Kermarrec [Tue, 23 Sep 2014 22:01:01 +0000 (00:01 +0200)]
add ctrl skeleton

10 years agorearrange code and remove datapath for now
Florent Kermarrec [Tue, 23 Sep 2014 21:03:32 +0000 (23:03 +0200)]
rearrange code and remove datapath for now

10 years agoclean up and add K7SATAGTXReconfig skeleton (empty but we don't need it for now)
Florent Kermarrec [Tue, 23 Sep 2014 20:40:01 +0000 (22:40 +0200)]
clean up and add K7SATAGTXReconfig skeleton (empty but we don't need it for now)

10 years agoremove GTXE2_COMMON (we use in fact CPLL and not QPLL, GTXE2_COMMON was here in desig...
Florent Kermarrec [Tue, 23 Sep 2014 20:17:08 +0000 (22:17 +0200)]
remove GTXE2_COMMON (we use in fact CPLL and not QPLL, GTXE2_COMMON was here in design just because of an old ISE bug)

(see http://www.xilinx.com/support/answers/45410.html for more information)

10 years agoadd data path from another design (need to be adapted to SATA specification)
Florent Kermarrec [Tue, 23 Sep 2014 15:36:11 +0000 (17:36 +0200)]
add data path from another design (need to be adapted to SATA specification)

10 years agoadd SATAGTX with RX/TX clocking and reset (no DRP for now)
Florent Kermarrec [Tue, 23 Sep 2014 13:58:34 +0000 (15:58 +0200)]
add SATAGTX with RX/TX clocking and reset (no DRP for now)

10 years agosoftware: remove setjmp
Sebastien Bourdeauducq [Tue, 23 Sep 2014 13:57:05 +0000 (21:57 +0800)]
software: remove setjmp

10 years agoadd dict for fbdiv computation on GTXE2_COMMON
Florent Kermarrec [Tue, 23 Sep 2014 12:11:14 +0000 (14:11 +0200)]
add dict for fbdiv computation on GTXE2_COMMON

10 years agocreate k7satagtx.py and move GTXE2 primitive inside
Florent Kermarrec [Tue, 23 Sep 2014 12:03:51 +0000 (14:03 +0200)]
create k7satagtx.py and move GTXE2 primitive inside

10 years agocreate GTXE2_CHANNEL & GTXE2_COMMON class / add IO signals and parameters
Florent Kermarrec [Tue, 23 Sep 2014 11:57:02 +0000 (13:57 +0200)]
create GTXE2_CHANNEL & GTXE2_COMMON class / add IO signals and parameters

10 years agofill GTXE2_COMMON constants parameters and signals for SATA / disconnect unused outpu...
Florent Kermarrec [Tue, 23 Sep 2014 10:01:57 +0000 (12:01 +0200)]
fill GTXE2_COMMON constants parameters and signals for SATA / disconnect unused output ports

10 years agofill GTXE2_CHANNEL constants parameters and signals for SATA / disconnect unused...
Florent Kermarrec [Tue, 23 Sep 2014 09:54:36 +0000 (11:54 +0200)]
fill GTXE2_CHANNEL constants parameters and signals for SATA / disconnect unused output ports

10 years agok7sataphy: add GTXE2_COMMON instance skeleton
Florent Kermarrec [Tue, 23 Sep 2014 08:21:10 +0000 (10:21 +0200)]
k7sataphy: add GTXE2_COMMON instance skeleton

10 years agok7sataphy: add GTXE2_CHANNEL instance skeleton
Florent Kermarrec [Mon, 22 Sep 2014 13:55:21 +0000 (15:55 +0200)]
k7sataphy: add GTXE2_CHANNEL instance skeleton

10 years agoflow/actor: fix eop direction
Florent Kermarrec [Mon, 22 Sep 2014 16:09:30 +0000 (18:09 +0200)]
flow/actor: fix eop direction

10 years agoflow/actor: add packetized parameter for Sink and Source
Florent Kermarrec [Wed, 17 Sep 2014 15:23:27 +0000 (17:23 +0200)]
flow/actor: add packetized parameter for Sink and Source

10 years agoactorlib/structuring: add reverse parameter to Unpack and Pack
Florent Kermarrec [Wed, 17 Sep 2014 14:53:20 +0000 (16:53 +0200)]
actorlib/structuring: add reverse parameter to Unpack and Pack

10 years agoinit with repo with simple TestDesign
Florent Kermarrec [Mon, 22 Sep 2014 10:33:23 +0000 (12:33 +0200)]
init with repo with simple TestDesign

10 years agolibbase: use __builtin_setjmp and __builtin_longjmp
Sebastien Bourdeauducq [Sun, 21 Sep 2014 09:43:17 +0000 (17:43 +0800)]
libbase: use __builtin_setjmp and __builtin_longjmp

10 years agogenlib/fifo/SyncFIFOBuffered: replace not supported
Sebastien Bourdeauducq [Wed, 17 Sep 2014 11:59:13 +0000 (19:59 +0800)]
genlib/fifo/SyncFIFOBuffered: replace not supported

10 years agogenlib/fifo: same 'level' semantics between SyncFIFOBuffered and FWFT SyncFIFO
Sebastien Bourdeauducq [Wed, 17 Sep 2014 11:58:43 +0000 (19:58 +0800)]
genlib/fifo: same 'level' semantics between SyncFIFOBuffered and FWFT SyncFIFO

10 years agomor1kx: sync
Sebastien Bourdeauducq [Fri, 12 Sep 2014 08:00:32 +0000 (16:00 +0800)]
mor1kx: sync

10 years agosetup.py: fix README filename
Florent Kermarrec [Thu, 11 Sep 2014 20:22:49 +0000 (22:22 +0200)]
setup.py: fix README filename

10 years agogenlib/fifo: add replace command to sync FIFO
Sebastien Bourdeauducq [Wed, 10 Sep 2014 13:19:15 +0000 (21:19 +0800)]
genlib/fifo: add replace command to sync FIFO

10 years agoREADME: more markdown fixes
Sebastien Bourdeauducq [Wed, 10 Sep 2014 12:52:19 +0000 (20:52 +0800)]
README: more markdown fixes

10 years agoREADME: markdown fixes
Sebastien Bourdeauducq [Wed, 10 Sep 2014 12:51:17 +0000 (20:51 +0800)]
README: markdown fixes

10 years agoREADME: use markdown
Sebastien Bourdeauducq [Wed, 10 Sep 2014 12:49:49 +0000 (20:49 +0800)]
README: use markdown

10 years agoactorlib/spi: remove unneeded import
Sebastien Bourdeauducq [Mon, 8 Sep 2014 10:48:54 +0000 (18:48 +0800)]
actorlib/spi: remove unneeded import

10 years agoactorlib/spi: remove EventManager from DMAController
Florent Kermarrec [Sat, 6 Sep 2014 07:06:24 +0000 (09:06 +0200)]
actorlib/spi: remove EventManager from DMAController

10 years agosim/icarus: add vpi directory to module search path
Robert Jordens [Sun, 7 Sep 2014 06:23:57 +0000 (00:23 -0600)]
sim/icarus: add vpi directory to module search path

This allows running the iverilog simulations from the migen top directory
without having to install the .vpi anywhere.

10 years agocordic: round() constants if not power of two bitwidth, cleanup, simplify some logic
Robert Jordens [Sun, 7 Sep 2014 06:18:04 +0000 (00:18 -0600)]
cordic: round() constants if not power of two bitwidth, cleanup, simplify some logic

10 years agotest_cordic: stop spewing out numbers
Robert Jordens [Sun, 7 Sep 2014 06:18:03 +0000 (00:18 -0600)]
test_cordic: stop spewing out numbers

10 years agodoc: update for NetworkX refactoring
Robert Jordens [Sun, 7 Sep 2014 06:09:54 +0000 (00:09 -0600)]
doc: update for NetworkX refactoring

10 years agoexamples/dataflow: adapt to new simple MultiDiGraph implementation
Robert Jordens [Sun, 7 Sep 2014 06:09:53 +0000 (00:09 -0600)]
examples/dataflow: adapt to new simple MultiDiGraph implementation

10 years agoflow/network: replace NetworkX MultiDiGraph with simple implementation
Robert Jordens [Sun, 7 Sep 2014 06:09:52 +0000 (00:09 -0600)]
flow/network: replace NetworkX MultiDiGraph with simple implementation

10 years agoexamples/dataflow/dma: fix simulation, run it for 100 cycles
Robert Jordens [Sun, 7 Sep 2014 06:09:51 +0000 (00:09 -0600)]
examples/dataflow/dma: fix simulation, run it for 100 cycles

10 years agocordic: vivado is bad at inferring compact adder/subtractor logic
Robert Jordens [Thu, 4 Sep 2014 00:27:13 +0000 (18:27 -0600)]
cordic: vivado is bad at inferring compact adder/subtractor logic

10 years agovivado: add more reporting
Robert Jordens [Thu, 4 Sep 2014 00:27:12 +0000 (18:27 -0600)]
vivado: add more reporting

10 years agovivado: mode batch to prevent vivado from opening tcl shell on error
Robert Jordens [Thu, 4 Sep 2014 00:27:11 +0000 (18:27 -0600)]
vivado: mode batch to prevent vivado from opening tcl shell on error

10 years agospi_flash: simplify usage by removing cmd, cmd_width, addr_width parameters
Florent Kermarrec [Wed, 3 Sep 2014 16:37:04 +0000 (18:37 +0200)]
spi_flash: simplify usage by removing cmd, cmd_width, addr_width parameters

10 years agoplatforms/kc705: use jtaghs1_fast cable
Sebastien Bourdeauducq [Wed, 3 Sep 2014 09:29:26 +0000 (17:29 +0800)]
platforms/kc705: use jtaghs1_fast cable

10 years agosdram: merge DFII_PIX_RDDATA_SIZE and DFII_PIX_WRDATA_SIZE
Sebastien Bourdeauducq [Wed, 3 Sep 2014 07:02:38 +0000 (15:02 +0800)]
sdram: merge DFII_PIX_RDDATA_SIZE and DFII_PIX_WRDATA_SIZE

10 years agobios: support DDR3 write leveling and read calibration. This makes the full DDR3...
Sebastien Bourdeauducq [Wed, 3 Sep 2014 06:25:26 +0000 (14:25 +0800)]
bios: support DDR3 write leveling and read calibration. This makes the full DDR3 SODIMM work on the KC705.

10 years agosdramphy/initsequence: cleanup and expose DDR3 MR1 value
Sebastien Bourdeauducq [Wed, 3 Sep 2014 06:21:30 +0000 (14:21 +0800)]
sdramphy/initsequence: cleanup and expose DDR3 MR1 value

10 years agokc705: enable DCI termination on DDR3
Florent Kermarrec [Mon, 1 Sep 2014 21:11:40 +0000 (23:11 +0200)]
kc705: enable DCI termination on DDR3

10 years agosdramphy/initsequence: clean up mr1/mr2 computation on DDR3 and enable Dynamic ODT
Florent Kermarrec [Mon, 1 Sep 2014 21:11:15 +0000 (23:11 +0200)]
sdramphy/initsequence: clean up mr1/mr2 computation on DDR3 and enable Dynamic ODT

10 years agok7ddrphy: add bitslip control for incoming DQ
Sebastien Bourdeauducq [Mon, 1 Sep 2014 11:54:39 +0000 (19:54 +0800)]
k7ddrphy: add bitslip control for incoming DQ

10 years agotargets/kc705: add ddrphy to CSR map
Sebastien Bourdeauducq [Mon, 1 Sep 2014 08:40:10 +0000 (16:40 +0800)]
targets/kc705: add ddrphy to CSR map

10 years agobios: add sdrrderr
Sebastien Bourdeauducq [Mon, 1 Sep 2014 07:23:37 +0000 (15:23 +0800)]
bios: add sdrrderr

10 years agobios: add DQ filtering to sdrrd, add sdrrdbuf command
Sebastien Bourdeauducq [Mon, 1 Sep 2014 06:58:58 +0000 (14:58 +0800)]
bios: add DQ filtering to sdrrd, add sdrrdbuf command

10 years agok7ddrphy: write leveling and read calibration support
Sebastien Bourdeauducq [Sun, 31 Aug 2014 13:54:28 +0000 (21:54 +0800)]
k7ddrphy: write leveling and read calibration support

10 years agok7ddrphy: do not register T at SERDES (fixes timing problem)
Sebastien Bourdeauducq [Sun, 31 Aug 2014 13:53:35 +0000 (21:53 +0800)]
k7ddrphy: do not register T at SERDES (fixes timing problem)

10 years agolibcompiler-rt: add moddi3
Sebastien Bourdeauducq [Thu, 28 Aug 2014 08:54:12 +0000 (16:54 +0800)]
libcompiler-rt: add moddi3

10 years agok7ddrphy: update comment
Sebastien Bourdeauducq [Fri, 22 Aug 2014 11:02:57 +0000 (19:02 +0800)]
k7ddrphy: update comment