litex.git
9 years agomove gpio from cpu.peripherals to com
Sebastien Bourdeauducq [Thu, 2 Apr 2015 09:17:33 +0000 (17:17 +0800)]
move gpio from cpu.peripherals to com

9 years agolibbase: implement flush_l2_cache for or1k
Sebastien Bourdeauducq [Thu, 2 Apr 2015 08:47:03 +0000 (16:47 +0800)]
libbase: implement flush_l2_cache for or1k

9 years agominor cleanups
Sebastien Bourdeauducq [Thu, 2 Apr 2015 06:40:29 +0000 (14:40 +0800)]
minor cleanups

9 years agoMerge branch 'master' of github.com:m-labs/misoc
Sebastien Bourdeauducq [Thu, 2 Apr 2015 02:14:24 +0000 (10:14 +0800)]
Merge branch 'master' of github.com:m-labs/misoc

9 years agoadapt LiteSATA to new SoC
Florent Kermarrec [Wed, 1 Apr 2015 20:52:19 +0000 (22:52 +0200)]
adapt LiteSATA to new SoC

9 years agoadapt LiteEth to new SoC
Florent Kermarrec [Wed, 1 Apr 2015 20:50:29 +0000 (22:50 +0200)]
adapt LiteEth to new SoC

9 years agoadapt LiteScope to new SoC
Florent Kermarrec [Wed, 1 Apr 2015 20:45:57 +0000 (22:45 +0200)]
adapt LiteScope to new SoC

9 years agosoc/sdram: fix do_finalize
Florent Kermarrec [Wed, 1 Apr 2015 20:38:04 +0000 (22:38 +0200)]
soc/sdram: fix do_finalize

9 years agosoc: use set
Sebastien Bourdeauducq [Wed, 1 Apr 2015 16:14:56 +0000 (00:14 +0800)]
soc: use set

9 years agosoc: simplify integrated memory parameters
Sebastien Bourdeauducq [Wed, 1 Apr 2015 16:09:38 +0000 (00:09 +0800)]
soc: simplify integrated memory parameters

9 years agosoc/sdram: minor cleanup
Sebastien Bourdeauducq [Wed, 1 Apr 2015 15:41:55 +0000 (23:41 +0800)]
soc/sdram: minor cleanup

9 years agolitesata: adapt to new SoC API
Sebastien Bourdeauducq [Wed, 1 Apr 2015 09:37:53 +0000 (17:37 +0800)]
litesata: adapt to new SoC API

9 years agosoc: remove cpu_boot_file argument
Sebastien Bourdeauducq [Wed, 1 Apr 2015 09:32:45 +0000 (17:32 +0800)]
soc: remove cpu_boot_file argument

9 years agosoc: remove cpu_or_bridge and with_cpu arguments
Sebastien Bourdeauducq [Wed, 1 Apr 2015 09:29:51 +0000 (17:29 +0800)]
soc: remove cpu_or_bridge and with_cpu arguments

9 years agosoc: retrieve csr and memory regions using methods
Sebastien Bourdeauducq [Wed, 1 Apr 2015 08:49:32 +0000 (16:49 +0800)]
soc: retrieve csr and memory regions using methods

9 years agosoc: use add_wb_master function
Sebastien Bourdeauducq [Wed, 1 Apr 2015 07:56:51 +0000 (15:56 +0800)]
soc: use add_wb_master function

9 years agosoc: simplify/fix csr busword
Sebastien Bourdeauducq [Wed, 1 Apr 2015 07:48:56 +0000 (15:48 +0800)]
soc: simplify/fix csr busword

9 years agosoc: remove unnecessary imports
Sebastien Bourdeauducq [Wed, 1 Apr 2015 07:15:09 +0000 (15:15 +0800)]
soc: remove unnecessary imports

9 years agosoc: improve memory region conflict check
Sebastien Bourdeauducq [Wed, 1 Apr 2015 07:14:02 +0000 (15:14 +0800)]
soc: improve memory region conflict check

9 years agosoc: remove ns function
Sebastien Bourdeauducq [Wed, 1 Apr 2015 06:33:12 +0000 (14:33 +0800)]
soc: remove ns function

9 years agosdram: remove redundant with_l2 parameter (equivalent to l2_size != 0)
Florent Kermarrec [Sun, 29 Mar 2015 10:34:40 +0000 (12:34 +0200)]
sdram: remove redundant with_l2 parameter (equivalent to l2_size != 0)

9 years agosoc: limit main_ram_size to 256MB (we should modify mem_map to allow larger memories...
Florent Kermarrec [Sat, 28 Mar 2015 22:18:08 +0000 (23:18 +0100)]
soc: limit main_ram_size to 256MB (we should modify mem_map to allow larger memories, this was the probably ARTIQ runtime issue....!!)

9 years agosoc: simplify main_ram_size computation and share it between LASMIcon and Minicon
Florent Kermarrec [Sat, 28 Mar 2015 22:10:33 +0000 (23:10 +0100)]
soc: simplify main_ram_size computation and share it between LASMIcon and Minicon

9 years agosdram/module: fix MT8JTF12864, rowbits is 14 and not 16.... (16 was used from the...
Florent Kermarrec [Sat, 28 Mar 2015 15:35:15 +0000 (16:35 +0100)]
sdram/module: fix MT8JTF12864, rowbits is 14 and not 16.... (16 was used from the beginning, but it does not fix the runtime issue)

9 years agosdram/phy/simphy: OK with DDR3
Florent Kermarrec [Sat, 28 Mar 2015 00:59:55 +0000 (01:59 +0100)]
sdram/phy/simphy: OK with DDR3

9 years agosdram/phy/simphy: expose settings to user and test with DDR/LPDDR/DDR2
Florent Kermarrec [Sat, 28 Mar 2015 00:18:35 +0000 (01:18 +0100)]
sdram/phy/simphy: expose settings to user and test with DDR/LPDDR/DDR2

9 years agosdram/core/lasmicon: add enabled parameter to refresher (for some simulations we...
Florent Kermarrec [Sat, 28 Mar 2015 00:17:50 +0000 (01:17 +0100)]
sdram/core/lasmicon: add enabled parameter to refresher (for some simulations we need to disable it)

9 years agosdram/module: clean up tREFI. (use 64ms/8k or 4k)
Florent Kermarrec [Sat, 28 Mar 2015 00:09:21 +0000 (01:09 +0100)]
sdram/module: clean up tREFI. (use 64ms/8k or 4k)

9 years agoMerge branch 'master' of https://github.com/m-labs/misoc
Sebastien Bourdeauducq [Fri, 27 Mar 2015 18:22:29 +0000 (19:22 +0100)]
Merge branch 'master' of https://github.com/m-labs/misoc

9 years agopipistrello: add por reset counter
Robert Jordens [Thu, 26 Mar 2015 20:12:35 +0000 (14:12 -0600)]
pipistrello: add por reset counter

* this is a temporary fix that should be removed once the
combination of bitstream-in-flash, mor1kx, bios-in-flash works

9 years agosoftware/bios/sdram: small clean up
Florent Kermarrec [Fri, 27 Mar 2015 17:24:19 +0000 (18:24 +0100)]
software/bios/sdram: small clean up

9 years agosoftware/bios/sdram: for now desactivate random on address test since it seems to...
Florent Kermarrec [Fri, 27 Mar 2015 15:43:22 +0000 (16:43 +0100)]
software/bios/sdram: for now desactivate random on address test since it seems to trigger a L2 cache or LASMIcon bug on at least de0nano/minispartan6

Memtest sometimes reports 1 or 2 errors with de0nano/minispartan6 on this new test when used with LASMICON. Minicon seems fine. We will have to investigate on this issue.

9 years agosoftware/bios/sdram: add random addressing to memtest
Florent Kermarrec [Fri, 27 Mar 2015 14:49:16 +0000 (15:49 +0100)]
software/bios/sdram: add random addressing to memtest

testing memories with linear access is not good enough. Adding random addressing allow us to detect more eventual issues on our L2 cache or SDRAM controller.

9 years agotargets: revert use of integers in clocks/timings
Florent Kermarrec [Thu, 26 Mar 2015 22:45:35 +0000 (23:45 +0100)]
targets: revert use of integers in clocks/timings

9 years agosdram: remove nbits from modules and databits from GeomSettings
Florent Kermarrec [Thu, 26 Mar 2015 22:27:37 +0000 (23:27 +0100)]
sdram: remove nbits from modules and databits from GeomSettings

9 years agosoftware/bios/sdram: make seed_to_data static
Florent Kermarrec [Thu, 26 Mar 2015 22:05:20 +0000 (23:05 +0100)]
software/bios/sdram: make seed_to_data static

9 years agosdram/phy/simphy: remove use of iter
Florent Kermarrec [Thu, 26 Mar 2015 22:02:23 +0000 (23:02 +0100)]
sdram/phy/simphy: remove use of iter

9 years agosdram/phy: add simphy (software memtest OK in simulation with MT48LC4M16)
Florent Kermarrec [Thu, 26 Mar 2015 21:24:47 +0000 (22:24 +0100)]
sdram/phy: add simphy (software memtest OK in simulation with MT48LC4M16)

9 years agosoftware/bios/sdram: select the type of data we want to generate for memtest with...
Florent Kermarrec [Thu, 26 Mar 2015 21:16:31 +0000 (22:16 +0100)]
software/bios/sdram: select the type of data we want to generate for memtest with TEST_RANDOM_DATA (debugging hardware is easier with a simple counter)

9 years agosoftware/memtest: remove Mixxeo/M1 hardcoded values in bandwidth computation
Florent Kermarrec [Wed, 25 Mar 2015 22:59:29 +0000 (23:59 +0100)]
software/memtest: remove Mixxeo/M1 hardcoded values in bandwidth computation

9 years agosofware/memtest: use MAIN_RAM_SIZE from mem.h
Florent Kermarrec [Wed, 25 Mar 2015 18:00:07 +0000 (19:00 +0100)]
sofware/memtest: use MAIN_RAM_SIZE from mem.h

9 years agotools/flterm.py: small clean up
Florent Kermarrec [Wed, 25 Mar 2015 17:44:08 +0000 (18:44 +0100)]
tools/flterm.py: small clean up

9 years agolibcompiler-rt: add ucmpdi2.o
Florent Kermarrec [Wed, 25 Mar 2015 16:57:42 +0000 (17:57 +0100)]
libcompiler-rt: add ucmpdi2.o

9 years agosofware/memtest: update bandwidth registers
Florent Kermarrec [Wed, 25 Mar 2015 16:25:20 +0000 (17:25 +0100)]
sofware/memtest: update bandwidth registers

9 years agosdram/core/lasmicon: automatically insert bandwidth module when with_memtest is True
Florent Kermarrec [Wed, 25 Mar 2015 16:22:26 +0000 (17:22 +0100)]
sdram/core/lasmicon: automatically insert bandwidth module when with_memtest is True

9 years agosdram: pass module as phy parameter, define memtype in modules and only keep phy...
Florent Kermarrec [Tue, 24 Mar 2015 17:26:18 +0000 (18:26 +0100)]
sdram: pass module as phy parameter, define memtype in modules and only keep phy parameter in register_sdram_phy

9 years agosdram: use names that are more explicit for bank_a, row_a,...: bankbits, rowbits...
Florent Kermarrec [Tue, 24 Mar 2015 16:25:59 +0000 (17:25 +0100)]
sdram: use names that are more explicit for bank_a, row_a,...: bankbits, rowbits, .... Add databits to GeomSettings.

9 years agotools: add minimal flterm.py (basic flterm.c clone with kernel loading for now)
Florent Kermarrec [Wed, 25 Mar 2015 09:59:31 +0000 (10:59 +0100)]
tools: add minimal flterm.py (basic flterm.c clone with kernel loading for now)
flterm.c is not portable, we need a portable alternative. Once flterm.py will support all flterm features, it will be possible to remove flterm.c.

9 years agolinker-sdram.ld: sdram mem region is now called main_ram
Florent Kermarrec [Wed, 25 Mar 2015 15:39:30 +0000 (16:39 +0100)]
linker-sdram.ld: sdram mem region is now called main_ram

9 years agoliteusb: give more generic names to modules: FtdiXXX becomes LiteUSBXXX, move PHY...
Florent Kermarrec [Sun, 22 Mar 2015 10:08:47 +0000 (11:08 +0100)]
liteusb: give more generic names to modules: FtdiXXX becomes LiteUSBXXX, move PHY outside of core (builds on minispartan6)

9 years agoliteusb: make oe_n optional on ft2232h phy
Florent Kermarrec [Sun, 22 Mar 2015 09:56:56 +0000 (10:56 +0100)]
liteusb: make oe_n optional on ft2232h phy

9 years agoliteusb: fix imports
Florent Kermarrec [Sun, 22 Mar 2015 09:56:29 +0000 (10:56 +0100)]
liteusb: fix imports

9 years agotargets: add minispartan6 (SDRAM working)
Florent Kermarrec [Sun, 22 Mar 2015 02:29:11 +0000 (03:29 +0100)]
targets: add minispartan6 (SDRAM working)

9 years agosdram/module: fix tREFI on AS4C16M16
Florent Kermarrec [Sun, 22 Mar 2015 02:20:02 +0000 (03:20 +0100)]
sdram/module: fix tREFI on AS4C16M16

9 years agotargets: pipistrello/ppro, fix stupid mistake 10ex --> 1ex...
Florent Kermarrec [Sun, 22 Mar 2015 07:32:38 +0000 (08:32 +0100)]
targets: pipistrello/ppro, fix stupid mistake 10ex --> 1ex...

9 years agotargets: fix CLKIN1_PERIOD on ppro and pipistrello
Florent Kermarrec [Sat, 21 Mar 2015 23:30:21 +0000 (00:30 +0100)]
targets: fix CLKIN1_PERIOD on ppro and pipistrello

9 years agosdram: pass sdram_controller_settings to SDRAMSoC
Florent Kermarrec [Sat, 21 Mar 2015 21:51:24 +0000 (22:51 +0100)]
sdram: pass sdram_controller_settings to SDRAMSoC

9 years agosdram: simplify the way we pass settings to controller and rename ramcon_type to...
Florent Kermarrec [Sat, 21 Mar 2015 20:32:39 +0000 (21:32 +0100)]
sdram: simplify the way we pass settings to controller and rename ramcon_type to sdram_controller_type (more explicit)

9 years agorename sdram mapping to main_ram
Florent Kermarrec [Sat, 21 Mar 2015 20:00:12 +0000 (21:00 +0100)]
rename sdram mapping to main_ram

9 years agomisoclib/soc: add _integrated_ to cpu options to avoid confusion
Florent Kermarrec [Sat, 21 Mar 2015 19:51:26 +0000 (20:51 +0100)]
misoclib/soc: add _integrated_ to cpu options to avoid confusion

9 years agosoftware/bios/memtest: add data bus test (0xAAAAAAAA, 0x55555555) on a small portion...
Florent Kermarrec [Sat, 21 Mar 2015 18:26:10 +0000 (19:26 +0100)]
software/bios/memtest: add data bus test (0xAAAAAAAA, 0x55555555) on a small portion of the test zone.
we now need to add another random addressing test to avoid linear access on L2 cache

9 years agosdram/module: add tREFI uniformization to TODO
Florent Kermarrec [Sat, 21 Mar 2015 17:59:16 +0000 (18:59 +0100)]
sdram/module: add tREFI uniformization to TODO

9 years agosdram/module: add MT47H128M8 DDR2 (used for a customer)
Florent Kermarrec [Sat, 21 Mar 2015 17:52:10 +0000 (18:52 +0100)]
sdram/module: add MT47H128M8 DDR2 (used for a customer)

9 years agosdram/module: add speedgrate note for IS42S16160 and AS4C16M16
Florent Kermarrec [Sat, 21 Mar 2015 17:41:59 +0000 (18:41 +0100)]
sdram/module: add speedgrate note for IS42S16160 and AS4C16M16

9 years agosdram/module: add AS4C16M16 for minispartan6
Florent Kermarrec [Sat, 21 Mar 2015 17:38:53 +0000 (18:38 +0100)]
sdram/module: add AS4C16M16 for minispartan6

9 years agotargets/mlabs_video: rename sdram_module to sdram_modules to reflect that we have...
Florent Kermarrec [Sat, 21 Mar 2015 17:10:56 +0000 (18:10 +0100)]
targets/mlabs_video: rename sdram_module to sdram_modules to reflect that we have 2 modules sharing the same characteristics

9 years agotargets/kc705: rename sdram_module to sdram_modules to reflect that we have 8 modules...
Florent Kermarrec [Sat, 21 Mar 2015 17:07:10 +0000 (18:07 +0100)]
targets/kc705: rename sdram_module to sdram_modules to reflect that we have 8 modules sharing the same characteristics

9 years agosdram/module: add description and TODO list
Florent Kermarrec [Sat, 21 Mar 2015 16:44:04 +0000 (17:44 +0100)]
sdram/module: add description and TODO list

9 years agosdram: define MT46V32M16/MT8JTF12864 and use it on pipistrello/kc705
Florent Kermarrec [Sat, 21 Mar 2015 16:25:36 +0000 (17:25 +0100)]
sdram: define MT46V32M16/MT8JTF12864 and use it on pipistrello/kc705

9 years agosdram: define MT46V32M16 and use it on m1/mixxeo
Florent Kermarrec [Sat, 21 Mar 2015 16:04:58 +0000 (17:04 +0100)]
sdram: define MT46V32M16 and use it on m1/mixxeo

9 years agosdram: create module.py to define SDRAM modules and use it on de0nano/ppro targets
Florent Kermarrec [Sat, 21 Mar 2015 15:56:53 +0000 (16:56 +0100)]
sdram: create module.py to define SDRAM modules and use it on de0nano/ppro targets

9 years agosdram: split sdram_timing in sdram_timing_settings/sdram_controller_settings
Florent Kermarrec [Sat, 21 Mar 2015 11:55:39 +0000 (12:55 +0100)]
sdram: split sdram_timing in sdram_timing_settings/sdram_controller_settings

req_queue_size, read_time, write_time settings are not sdram_timing settings but sdram controller settings

9 years agolitexxx cores: use default baudrate of 115200 for all tests
Florent Kermarrec [Fri, 20 Mar 2015 11:21:29 +0000 (12:21 +0100)]
litexxx cores: use default baudrate of 115200 for all tests

9 years agopipistrello: add user reset
Robert Jordens [Thu, 19 Mar 2015 17:36:34 +0000 (11:36 -0600)]
pipistrello: add user reset

apparently needed for flashed bitstream, xiped bios, mor1kx

9 years agopipistrello: fix flash, ddram pin naming
Robert Jordens [Thu, 19 Mar 2015 17:36:33 +0000 (11:36 -0600)]
pipistrello: fix flash, ddram pin naming

9 years agosdram: raise NotImplementedError if Minicon is used others memories than SDR (not...
Florent Kermarrec [Thu, 19 Mar 2015 15:08:03 +0000 (16:08 +0100)]
sdram: raise NotImplementedError if Minicon is used others memories than SDR (not functional for now)

9 years agotargets/kc705: add external reset
Florent Kermarrec [Thu, 19 Mar 2015 14:58:04 +0000 (15:58 +0100)]
targets/kc705: add external reset

9 years agoliteeth/mac/core: add with_padding option (enabled by default) and change with_hw_pre...
Florent Kermarrec [Thu, 19 Mar 2015 13:50:53 +0000 (14:50 +0100)]
liteeth/mac/core: add with_padding option (enabled by default) and change with_hw_preamble_crc option to with_preamble_crc

9 years agoliteeth/mac/core: fix hw_preamble_crc register generation
Florent Kermarrec [Thu, 19 Mar 2015 12:03:27 +0000 (13:03 +0100)]
liteeth/mac/core: fix hw_preamble_crc register generation

9 years agoliteeth: use bios ip_address in example designs
Florent Kermarrec [Wed, 18 Mar 2015 17:18:43 +0000 (18:18 +0100)]
liteeth: use bios ip_address in example designs

9 years agotargets: add Lattice ECP3 versa
Florent Kermarrec [Tue, 17 Mar 2015 18:08:31 +0000 (19:08 +0100)]
targets: add Lattice ECP3 versa

9 years agolitescope/drivers: do not build regs when addrmap is None
Florent Kermarrec [Tue, 17 Mar 2015 15:04:07 +0000 (16:04 +0100)]
litescope/drivers: do not build regs when addrmap is None

9 years agoLiteXXX cores: fix frequency print in test/test_regs.py
Florent Kermarrec [Tue, 17 Mar 2015 15:01:12 +0000 (16:01 +0100)]
LiteXXX cores: fix frequency print in test/test_regs.py

9 years agoLiteXXX cores: convert port parameter to int if is digit in test/make.py
Florent Kermarrec [Tue, 17 Mar 2015 14:58:21 +0000 (15:58 +0100)]
LiteXXX cores: convert port parameter to int if is digit in test/make.py

9 years agoliteeth/phy/gmii : set tx_er to 0 only if it exits
Florent Kermarrec [Tue, 17 Mar 2015 11:24:06 +0000 (12:24 +0100)]
liteeth/phy/gmii : set tx_er to 0 only if it exits

9 years agoliteeth: use default programmer in make.py
Florent Kermarrec [Tue, 17 Mar 2015 11:12:21 +0000 (12:12 +0100)]
liteeth: use default programmer in make.py

9 years agoliteeth: use CRG from Migen in base example
Florent Kermarrec [Tue, 17 Mar 2015 11:11:51 +0000 (12:11 +0100)]
liteeth: use CRG from Migen in base example

9 years agolitescope: use CRG from Migen
Florent Kermarrec [Tue, 17 Mar 2015 10:52:54 +0000 (11:52 +0100)]
litescope: use CRG from Migen

9 years agotargets/simple: manual instantiation of CRG (automatic insertion works for BaseSoC...
Florent Kermarrec [Tue, 17 Mar 2015 00:07:44 +0000 (01:07 +0100)]
targets/simple: manual instantiation of CRG (automatic insertion works for BaseSoC but not for MiniSoC since this one define clock_domains)

9 years agoliteeth: make gmii phy generic
Florent Kermarrec [Mon, 16 Mar 2015 22:04:37 +0000 (23:04 +0100)]
liteeth: make gmii phy generic

9 years agolitesata: avoid hack on kc705 platform with new mibuild toolchain management
Florent Kermarrec [Sat, 14 Mar 2015 00:08:36 +0000 (01:08 +0100)]
litesata: avoid hack on kc705 platform with new mibuild toolchain management

9 years agosoc: rename with_sdram option to with_main_ram (with_sdram was confusing)
Florent Kermarrec [Fri, 13 Mar 2015 23:46:52 +0000 (00:46 +0100)]
soc: rename with_sdram option to with_main_ram (with_sdram was confusing)

9 years agotargets/simple: use mibuild default clock
Sebastien Bourdeauducq [Fri, 13 Mar 2015 23:11:59 +0000 (00:11 +0100)]
targets/simple: use mibuild default clock

9 years agosoc/sdram: sync with new mibuild toolchain management
Sebastien Bourdeauducq [Fri, 13 Mar 2015 22:19:08 +0000 (23:19 +0100)]
soc/sdram: sync with new mibuild toolchain management

9 years agoliteeth/phy: typo (thanks sb)
Florent Kermarrec [Thu, 12 Mar 2015 20:54:10 +0000 (21:54 +0100)]
liteeth/phy: typo (thanks sb)

9 years agotargets/simple: use new generic DifferentialInput
Florent Kermarrec [Thu, 12 Mar 2015 17:36:04 +0000 (18:36 +0100)]
targets/simple: use new generic DifferentialInput

9 years agotargets/simple: insert IBUFDS for Xilinx devices (not implemented for others vendors)
Florent Kermarrec [Thu, 12 Mar 2015 16:25:01 +0000 (17:25 +0100)]
targets/simple: insert IBUFDS for Xilinx devices (not implemented for others vendors)

9 years agosoc/sdram: add workaround for Vivado issue with our L2 cache, reported to Xilinx...
Florent Kermarrec [Thu, 12 Mar 2015 16:12:35 +0000 (17:12 +0100)]
soc/sdram: add workaround for Vivado issue with our L2 cache, reported to Xilinx in november 2014, remove it when fixed by Xilinx

9 years agouart/liteeth: only import the phy we are going to use (UARTPHYSim cannot be imported...
Florent Kermarrec [Thu, 12 Mar 2015 15:57:38 +0000 (16:57 +0100)]
uart/liteeth: only import the phy we are going to use (UARTPHYSim cannot be imported on Windows since based on pty).

9 years agouart/sim: add pty (optional, to use flterm)
Florent Kermarrec [Mon, 9 Mar 2015 22:29:06 +0000 (23:29 +0100)]
uart/sim: add pty (optional, to use flterm)