Werner Almesberger [Fri, 12 Apr 2013 20:38:31 +0000 (17:38 -0300)]
edid.py: sample SCL only every 64 clock cycles, to avoid bouncing
Possibly due to SCL rising fairly slowly (in the 0.5-1 us range),
bouncing has been observed while crossing the "forbidden" region
between Vil(max) and Vih(min).
By lowering the sample rate from once per system clock to once
every 64 clock cycles, we make sure we sample at most once during
the bounce interval and thus never see a false edge. (Although we
may see a rising edge one sample time late, which is perfectly
harmless.)
Sebastien Bourdeauducq [Wed, 10 Apr 2013 19:34:15 +0000 (21:34 +0200)]
framebuffer: use new flow API
Sebastien Bourdeauducq [Mon, 1 Apr 2013 22:15:42 +0000 (00:15 +0200)]
dfii: adapt to new Record API
Sebastien Bourdeauducq [Sat, 30 Mar 2013 16:28:15 +0000 (17:28 +0100)]
Convert to new CSR API
Sebastien Bourdeauducq [Fri, 29 Mar 2013 16:15:11 +0000 (17:15 +0100)]
framebuffer: larger counters
Sebastien Bourdeauducq [Fri, 29 Mar 2013 16:14:48 +0000 (17:14 +0100)]
m1crg: reset VGA clock generator
Sebastien Bourdeauducq [Thu, 28 Mar 2013 19:46:16 +0000 (20:46 +0100)]
framebuffer: process two pixels per system clock cycle
Sebastien Bourdeauducq [Thu, 28 Mar 2013 19:46:00 +0000 (20:46 +0100)]
top: allocate one more ASMI port to framebuffer
Sebastien Bourdeauducq [Thu, 28 Mar 2013 19:45:42 +0000 (20:45 +0100)]
m1crg: allow up to 150MHz pixel clock
Sebastien Bourdeauducq [Thu, 28 Mar 2013 18:07:17 +0000 (19:07 +0100)]
crg: support VGA pixel clock reprogramming
Sebastien Bourdeauducq [Tue, 26 Mar 2013 16:57:17 +0000 (17:57 +0100)]
Use new Mibuild generic_platform API
Sebastien Bourdeauducq [Mon, 25 Mar 2013 17:32:25 +0000 (18:32 +0100)]
framebuffer: RGBA -> ARGB
Sebastien Bourdeauducq [Mon, 25 Mar 2013 14:56:54 +0000 (15:56 +0100)]
fb: better ordering of pixels within ASMI words
Sebastien Bourdeauducq [Mon, 25 Mar 2013 13:42:48 +0000 (14:42 +0100)]
Automatically build CSR access functions
Sebastien Bourdeauducq [Mon, 25 Mar 2013 13:38:58 +0000 (14:38 +0100)]
software/include/base: C++ compatibility
Sebastien Bourdeauducq [Sun, 24 Mar 2013 15:11:53 +0000 (16:11 +0100)]
software/common.mak: add C++ definitions
Sebastien Bourdeauducq [Sat, 23 Mar 2013 23:46:23 +0000 (00:46 +0100)]
software/videomixer: report char position + detected resolution, detect phase at beginning
Sebastien Bourdeauducq [Sat, 23 Mar 2013 23:45:29 +0000 (00:45 +0100)]
dvisampler: add resolution detection
Sebastien Bourdeauducq [Sat, 23 Mar 2013 23:44:50 +0000 (00:44 +0100)]
dvisampler/charsync: report position
Sebastien Bourdeauducq [Sat, 23 Mar 2013 23:44:19 +0000 (00:44 +0100)]
dvisampler/decoding: set C to 0 during data
Sebastien Bourdeauducq [Sat, 23 Mar 2013 23:43:22 +0000 (00:43 +0100)]
dvisampler/charsync: fix found_control signal
Sebastien Bourdeauducq [Sat, 23 Mar 2013 23:17:42 +0000 (00:17 +0100)]
software/stddef.h: c++ compat for NULL
Sebastien Bourdeauducq [Sat, 23 Mar 2013 12:48:40 +0000 (13:48 +0100)]
dvisampler: clean up EDID data
Sebastien Bourdeauducq [Fri, 22 Mar 2013 22:49:25 +0000 (23:49 +0100)]
dvisampler: decode before channel sync
Sebastien Bourdeauducq [Fri, 22 Mar 2013 20:28:17 +0000 (21:28 +0100)]
dvisampler: decoding
Sebastien Bourdeauducq [Fri, 22 Mar 2013 17:37:10 +0000 (18:37 +0100)]
dvisampler: channel synchronization
Sebastien Bourdeauducq [Thu, 21 Mar 2013 21:56:13 +0000 (22:56 +0100)]
dvisampler: character synchronization
Sebastien Bourdeauducq [Thu, 21 Mar 2013 18:06:15 +0000 (19:06 +0100)]
dvisampler/datacapture: deserialize to 10 bits
Sebastien Bourdeauducq [Thu, 21 Mar 2013 18:02:04 +0000 (19:02 +0100)]
dvisampler/clocking: generate pix reset
Sebastien Bourdeauducq [Thu, 21 Mar 2013 14:32:26 +0000 (15:32 +0100)]
software/videomixer: quick hack for phase detection
Sebastien Bourdeauducq [Thu, 21 Mar 2013 09:42:31 +0000 (10:42 +0100)]
software: add videomixer base files
Sebastien Bourdeauducq [Thu, 21 Mar 2013 09:41:56 +0000 (10:41 +0100)]
software/bios: change boot order
Sebastien Bourdeauducq [Wed, 20 Mar 2013 23:46:29 +0000 (00:46 +0100)]
dvisampler: software controlled phase detector
Sebastien Bourdeauducq [Mon, 18 Mar 2013 19:31:59 +0000 (20:31 +0100)]
dvisampler/clocking: proper pix5x reset synchronization
Sebastien Bourdeauducq [Mon, 18 Mar 2013 18:03:17 +0000 (19:03 +0100)]
dvisampler: use pix5x as IODELAY clock
Sebastien Bourdeauducq [Mon, 18 Mar 2013 16:44:01 +0000 (17:44 +0100)]
Use Instance.Input(..., ClockSignal/ResetSignal) instead of Instance.ClockPort/ResetPort
Sebastien Bourdeauducq [Sun, 17 Mar 2013 19:16:58 +0000 (20:16 +0100)]
m1crg: set CLKIN_PERIOD for vga_clock_gen
Sebastien Bourdeauducq [Sun, 17 Mar 2013 16:42:22 +0000 (17:42 +0100)]
dvisampler/datacapture: connect IODELAY IOCLK0
Sebastien Bourdeauducq [Sun, 17 Mar 2013 16:36:49 +0000 (17:36 +0100)]
dvisampler/datacapture: fix tap counter reg
Sebastien Bourdeauducq [Sun, 17 Mar 2013 14:41:50 +0000 (15:41 +0100)]
dvisampler: fixes
Sebastien Bourdeauducq [Sun, 17 Mar 2013 13:43:10 +0000 (14:43 +0100)]
dvisampler: add clocking and phase detector
Sebastien Bourdeauducq [Fri, 15 Mar 2013 18:51:29 +0000 (19:51 +0100)]
MultiReg: remove idomain
Sebastien Bourdeauducq [Fri, 15 Mar 2013 18:17:05 +0000 (19:17 +0100)]
Use new ClockDomain API
Sebastien Bourdeauducq [Wed, 13 Mar 2013 18:59:39 +0000 (19:59 +0100)]
software/bios: default length 4 for mr command
Sebastien Bourdeauducq [Wed, 13 Mar 2013 18:56:56 +0000 (19:56 +0100)]
Instantiate DVI sampler core for both ports
Sebastien Bourdeauducq [Wed, 13 Mar 2013 18:56:26 +0000 (19:56 +0100)]
dvisampler: add core, EDID support
Sebastien Bourdeauducq [Tue, 12 Mar 2013 15:13:20 +0000 (16:13 +0100)]
build.py: use implicit get_fragment
Sebastien Bourdeauducq [Tue, 12 Mar 2013 14:47:54 +0000 (15:47 +0100)]
Use automatic register naming
Sebastien Bourdeauducq [Sun, 10 Mar 2013 18:32:38 +0000 (19:32 +0100)]
Use new module, autoreg and eventmanager Migen APIs
Sebastien Bourdeauducq [Wed, 6 Mar 2013 10:10:16 +0000 (11:10 +0100)]
software/libcompiler-rt: add ctzsi2
Sebastien Bourdeauducq [Sun, 24 Feb 2013 16:42:28 +0000 (17:42 +0100)]
lm32: update
Sebastien Bourdeauducq [Sun, 24 Feb 2013 16:41:56 +0000 (17:41 +0100)]
m1crg: advance off-chip DDR clock phase
Sebastien Bourdeauducq [Sun, 24 Feb 2013 15:51:03 +0000 (16:51 +0100)]
bios: print number of memory errors
Sebastien Bourdeauducq [Sun, 24 Feb 2013 15:28:59 +0000 (16:28 +0100)]
build: support optional MMU
Sebastien Bourdeauducq [Sun, 24 Feb 2013 14:57:19 +0000 (15:57 +0100)]
lm32: use submodule
Sebastien Bourdeauducq [Sun, 24 Feb 2013 12:07:25 +0000 (13:07 +0100)]
Use new 'specials' API
Sebastien Bourdeauducq [Sun, 24 Feb 2013 11:31:00 +0000 (12:31 +0100)]
corelogic -> genlib
Sebastien Bourdeauducq [Tue, 19 Feb 2013 12:27:43 +0000 (13:27 +0100)]
Build FPG file
Sebastien Bourdeauducq [Tue, 19 Feb 2013 12:22:35 +0000 (13:22 +0100)]
tools: add byteswap
Sebastien Bourdeauducq [Sun, 17 Feb 2013 15:21:25 +0000 (16:21 +0100)]
bios: use puts for long string
Sebastien Bourdeauducq [Sun, 17 Feb 2013 13:29:11 +0000 (14:29 +0100)]
bios: add build date to banner
Sebastien Bourdeauducq [Sat, 16 Feb 2013 23:12:15 +0000 (00:12 +0100)]
Makefile: correct bitstream filename
Sebastien Bourdeauducq [Sat, 16 Feb 2013 22:41:42 +0000 (23:41 +0100)]
software: go back to GCC
Sebastien Bourdeauducq [Fri, 15 Feb 2013 18:39:54 +0000 (19:39 +0100)]
load.jtag: remove CFG_OUT/CFG_IN instructions
Sebastien Bourdeauducq [Wed, 13 Feb 2013 22:59:35 +0000 (23:59 +0100)]
m1crg: fix signal names
Sebastien Bourdeauducq [Mon, 11 Feb 2013 17:23:06 +0000 (18:23 +0100)]
Use Mibuild
Sebastien Bourdeauducq [Sat, 9 Feb 2013 16:09:29 +0000 (17:09 +0100)]
tb: use default runner
Sebastien Bourdeauducq [Sat, 12 Jan 2013 09:57:43 +0000 (10:57 +0100)]
software/include: add float.h
Sebastien Bourdeauducq [Sat, 12 Jan 2013 09:51:07 +0000 (10:51 +0100)]
software/include: add stdbool.h
Sebastien Bourdeauducq [Thu, 10 Jan 2013 17:01:42 +0000 (18:01 +0100)]
software: hide and delete .ts files
Sebastien Bourdeauducq [Thu, 10 Jan 2013 16:59:00 +0000 (17:59 +0100)]
software: compile compiler-rt ourselves
Sebastien Bourdeauducq [Thu, 10 Jan 2013 16:58:17 +0000 (17:58 +0100)]
software/include/base/stdint.h: add INT32_C
Sebastien Bourdeauducq [Thu, 10 Jan 2013 16:20:31 +0000 (17:20 +0100)]
software: run the assembler ourselves to prevent future time wastage due to breakage of our custom Clang toolchain
Sebastien Bourdeauducq [Thu, 10 Jan 2013 16:14:51 +0000 (17:14 +0100)]
software/common.mak: remove -fsigned-char from CFLAGS
Sebastien Bourdeauducq [Thu, 10 Jan 2013 16:13:33 +0000 (17:13 +0100)]
software/common.mak: use -target instead of deprecated -ccc-host-triple
Sebastien Bourdeauducq [Thu, 10 Jan 2013 16:10:29 +0000 (17:10 +0100)]
software/include/base/stdint.h: more definitions
Sebastien Bourdeauducq [Tue, 18 Dec 2012 13:55:58 +0000 (14:55 +0100)]
Do not use super()
Sebastien Bourdeauducq [Fri, 14 Dec 2012 14:54:16 +0000 (15:54 +0100)]
Move Token
Sebastien Bourdeauducq [Wed, 12 Dec 2012 21:52:55 +0000 (22:52 +0100)]
Remove ActorNode
Sebastien Bourdeauducq [Thu, 6 Dec 2012 19:57:00 +0000 (20:57 +0100)]
Fix instantiations
Sebastien Bourdeauducq [Thu, 6 Dec 2012 16:15:47 +0000 (17:15 +0100)]
bank/csrgen: interface -> bus
Sebastien Bourdeauducq [Sat, 1 Dec 2012 11:59:47 +0000 (12:59 +0100)]
Merge branch 'master' of github.com:milkymist/milkymist-ng
Sebastien Bourdeauducq [Sat, 1 Dec 2012 11:59:32 +0000 (12:59 +0100)]
Use Wishbone SRAM component from Migen
Michael Walle [Thu, 29 Nov 2012 23:19:44 +0000 (00:19 +0100)]
lm32: fix watchpoints
The wp_match_n vector is off by one. Which results in undefined states, at
least in simulation.
Signed-off-by: Michael Walle <michael@walle.cc>
Sebastien Bourdeauducq [Thu, 29 Nov 2012 22:41:51 +0000 (23:41 +0100)]
Replace Signal(bits_for(... with Signal(max=...
Sebastien Bourdeauducq [Thu, 29 Nov 2012 22:38:04 +0000 (23:38 +0100)]
Use new bitwidth/signedness system
Sebastien Bourdeauducq [Wed, 28 Nov 2012 22:18:53 +0000 (23:18 +0100)]
Remove Constant
Sebastien Bourdeauducq [Wed, 28 Nov 2012 21:49:22 +0000 (22:49 +0100)]
Workaround for zero-delay loop simulation problem with Icarus Verilog. TODO: clarify and revert this commit.
Sebastien Bourdeauducq [Mon, 26 Nov 2012 18:32:56 +0000 (19:32 +0100)]
sram: do not use MemoryPort
Sebastien Bourdeauducq [Mon, 26 Nov 2012 17:19:41 +0000 (18:19 +0100)]
tb/asmicon/asmicon_wb: more complete testing by default
Sebastien Bourdeauducq [Sat, 17 Nov 2012 18:43:30 +0000 (19:43 +0100)]
tb/asmicon: new initiator API
Michael Walle [Mon, 12 Nov 2012 18:36:22 +0000 (19:36 +0100)]
lm32: replace $clog2 with macro
Unfortunately, XST does not support $clog2 with the localparam keyword
(the parameter keyword works just fine). Define a macro which replaces the
call with a constant function.
This commit can be reverted if the bug in XST is fixed.
Signed-off-by: Michael Walle <michael@walle.cc>
Sebastien Bourdeauducq [Wed, 14 Nov 2012 13:25:15 +0000 (14:25 +0100)]
lm32: split lm32_include.v
Michael Walle [Mon, 12 Nov 2012 18:36:16 +0000 (19:36 +0100)]
lm32: fix documentation style
Signed-off-by: Michael Walle <michael@walle.cc>
Michael Walle [Mon, 12 Nov 2012 18:36:15 +0000 (19:36 +0100)]
lm32: remove unneeded parameter in lm32_dp_ram
addr_depth can be computed by addr_width.
Signed-off-by: Michael Walle <michael@walle.cc>
Michael Walle [Mon, 12 Nov 2012 18:36:14 +0000 (19:36 +0100)]
lm32: rename mem array in lm32_dp_ram
Be compatible with original proprietary DP RAM instantiation. This is
needed for simulation, where r0 is initialized to zero in lm32_cpu.v.
Signed-off-by: Michael Walle <michael@walle.cc>
Michael Walle [Mon, 12 Nov 2012 18:36:13 +0000 (19:36 +0100)]
lm32: replace clogb2 by builtin $clog2
This function is fixed in ISE since version 14.1 (see AR #44586). If the
builtin function is used, the design can be simulated with Icarus Verilog.
Signed-off-by: Michael Walle <michael@walle.cc>
Sebastien Bourdeauducq [Tue, 9 Oct 2012 19:11:26 +0000 (21:11 +0200)]
framebuffer: use new SingleGenerator
Sebastien Bourdeauducq [Tue, 9 Oct 2012 17:08:37 +0000 (19:08 +0200)]
Remove uses of the RE signal on field registers
Sebastien Bourdeauducq [Mon, 10 Sep 2012 22:21:07 +0000 (00:21 +0200)]
Define clock domains instead of passing extra clocks as regular signals