00:39
fengling has joined #m-labs
01:12
kuldeep has joined #m-labs
01:54
<
sb0 >
altker128, not in any active project, but it worked fine for usb on the milkymist
01:55
<
sb0 >
altker128, what are you doing?
01:55
<
altker128 >
sb0: Just exploring uCs in FPGAs
01:59
sandeepkr_ has joined #m-labs
01:59
<
altker128 >
Mico8 looks interesting because there's a C compiler for it too
02:02
kuldeep has quit [Ping timeout: 246 seconds]
02:03
<
sb0 >
is mico8 free?
02:03
sandeepkr has quit [Ping timeout: 272 seconds]
02:09
<
altker128 >
sb0: Yes, just like mico32, they both came from Lattice
02:18
kuldeep has joined #m-labs
02:30
<
sb0 >
but mico8 had a different license
02:32
<
altker128 >
Claims to be open
02:34
<
altker128 >
Well, there's no debugger support for mico8 . So, that's sucks. It does have a C-compiler though
02:34
<
sb0 >
why do you need a debugger that much?
02:34
<
altker128 >
In my experience they're invaluable.
02:35
<
altker128 >
You don't need it all the time, but when you need it, you really need it.
02:35
<
altker128 >
There's an openMSP430 core that has debug support but its logic / resource usage is pretty high
02:59
<
sb0 >
most open source cores are slow, buggy and bloated, yes
03:01
<
altker128 >
I think in this case an FPGA implementation of MSP430 will just be big due to the complexity of the architecture
03:01
<
altker128 >
Same with most softcore processors
03:03
<
altker128 >
Let me re-phrase. Most softcore processors which emulate an existing ISA
03:03
<
sb0 >
the usual reasons are sloppiness, laziness and incompetence
03:04
<
altker128 >
Have you come across any softcore processors that are well designed and low in resources?
03:05
<
sb0 >
yes, lm32 and mor1kx
03:05
<
sb0 >
lm32 has cleaner isa
03:06
<
sb0 >
they have debuggers too, it's just that no one has bothered to expose them in misoc
03:06
<
altker128 >
Have you personally tried the debugging?
03:07
<
sb0 >
just the lm32 one a bit, over serial gdb
03:07
<
altker128 >
What was your experience?
03:07
<
sb0 >
works alright afaict. but i don't use debuggers.
03:08
<
altker128 >
Good to know! Serial debugging (with a sufficiently high baudrate) is very reasonable
03:09
<
sb0 >
milkymist soc has support for it, and it should be straightforward to port to misoc
03:29
<
GitHub87 >
artiq/release-1 972a742 Sebastien Bourdeauducq: monkey-patch Python 3.5.2 to disable broken asyncio.base_events._ipaddr_info optimization (#506)
03:29
<
sb0 >
bb-m-labs, force build --branch=release-1 artiq
03:29
<
bb-m-labs >
build forced [ETA 20m20s]
03:29
<
bb-m-labs >
I'll give a shout when the build finishes
03:30
<
sb0 >
bb-m-labs, stop build artiq xxxx
03:30
<
bb-m-labs >
build 811 interrupted
03:31
<
GitHub5 >
artiq/release-1 c27f157 Sebastien Bourdeauducq: make sure monkey patches are applied when asyncio.open_connection() is used
03:31
<
sb0 >
bb-m-labs, force build --branch=release-1 artiq
03:31
<
bb-m-labs >
build forced [ETA 20m20s]
03:31
<
bb-m-labs >
I'll give a shout when the build finishes
03:37
<
GitHub105 >
artiq/master 1c32d4f Sebastien Bourdeauducq: monkey-patch Python 3.5.2 to disable broken asyncio.base_events._ipaddr_info optimization (#506)
03:39
<
sb0 >
bb-m-labs, force build --branch=release-1 artiq-pipistrello-nist_qc1
03:39
<
bb-m-labs >
The build has been queued, I'll give a shout when it starts
03:39
<
sb0 >
bb-m-labs, force build --branch=release-1 artiq-kc705-nist_qc2
03:39
<
sb0 >
bb-m-labs, force build --branch=release-1 artiq-kc705-nist_qc1
03:39
<
bb-m-labs >
The build has been queued, I'll give a shout when it starts
03:39
<
bb-m-labs >
The build has been queued, I'll give a shout when it starts
03:49
<
bb-m-labs >
build forced [ETA 27m34s]
03:49
<
bb-m-labs >
I'll give a shout when the build finishes
04:23
<
sb0 >
rjo, seems your spi change broke timing on pipistrello, in addition to tickling vivado bugs on kc705
04:28
<
sb0 >
do we need spi on pipistrello?
04:43
rohitksingh_work has joined #m-labs
05:35
<
bb-m-labs >
build forced [ETA 23m43s]
05:35
<
bb-m-labs >
I'll give a shout when the build finishes
05:49
fengling_ has joined #m-labs
05:50
fengling has quit [Ping timeout: 240 seconds]
06:01
mumptai has joined #m-labs
06:02
<
bb-m-labs >
build #182 forced
06:02
<
bb-m-labs >
I'll give a shout when the build finishes
06:22
sandeepkr_ has quit [Ping timeout: 244 seconds]
06:28
<
rjo >
sb0: seems hasty.
06:29
<
rjo >
sb0: the master builds work fine.
06:30
sandeepkr has joined #m-labs
06:32
<
rjo >
sb0: could be your change just as well.
06:36
<
sb0 >
bb-m-labs, force build artiq-pipistrello-nist_qc1
06:37
<
bb-m-labs >
The build has been queued, I'll give a shout when it starts
06:37
<
sb0 >
the reset clock domain?
06:46
<
rjo >
sb0: i already have two builds queued.
07:01
FabM has joined #m-labs
07:44
cr1901_modern has quit [Read error: Connection reset by peer]
08:02
cr1901_modern has joined #m-labs
08:03
<
sb0 >
"12. Shall have FPGA logic cells of 325,000 or greater" (NIST solicitation)
08:03
<
sb0 >
I wonder how they define "logic cell" ....
08:04
<
cr1901_modern >
Maybe the classic 4-LUT + flip-flop?
08:07
<
sb0 >
modern FPGAs don't have 4-LUTs
08:07
<
sb0 >
and that would be a huge FPGA for what the rest of the solicitation asks for
08:09
<
cr1901_modern >
Lattice ICE40 has 4-LUTs... so maybe they don't know exactly what size FPGA they're asking for :P? Logic gates maybe?
08:16
<
sb0 >
can the ice40 do better than arduino-level stuff?
08:17
<
whitequark >
have you seen arduinos running at 150MHz?
08:18
<
cr1901_modern >
sb0: It has LVDS transceivers, so it can do HDMI under its own power. Not very high res HDMI, but something!
08:20
<
whitequark >
well, I guess you actually have, with the cortex-m ones
08:20
<
whitequark >
in that case the answer is no, not really, it cannot
08:21
mumptai has quit [Remote host closed the connection]
08:24
sb0 has quit [Quit: Leaving]
08:24
<
cr1901_modern >
I doubt a random microcontroller can spit out pixel data fast enough for HDMI with the correct timing requirements. But I'm sure someone has done it...
08:44
altker128 has quit [Read error: Connection reset by peer]
08:44
altker128 has joined #m-labs
08:48
<
GitHub69 >
artiq/master c50d436 whitequark: ir: `invoke` is a valid `delay` decomposition....
09:01
<
bb-m-labs >
build forced [ETA 27m34s]
09:01
<
bb-m-labs >
I'll give a shout when the build finishes
09:55
fengling_ has quit [Ping timeout: 240 seconds]
10:21
<
GitHub37 >
llvm-or1k/artiq 1f6ef11 whitequark: [OR1K] Override TargetLowering::useSoftFloat().
10:21
<
GitHub37 >
llvm-or1k/artiq 86b70e9 whitequark: [OR1K] Cleanup formatting (NFC).
10:21
<
GitHub37 >
llvm-or1k/artiq 22c3ccb whitequark: [OR1K] Model flag, overflow flag and carry flag separately.
10:41
fengling_ has joined #m-labs
10:45
fengling_ has quit [Ping timeout: 240 seconds]
10:47
attie has quit [Ping timeout: 260 seconds]
10:47
attie has joined #m-labs
10:54
<
key2 >
if I do this " self.sync += [x.eq(1), x.eq(0)]" in a module, x would be equal to what at each sys_clk ?
11:02
<
cr1901_modern >
x would always equal 0 I believe
11:06
<
cr1901_modern >
Your Migen code will generate something similar
11:10
<
key2 >
but what i am interested is the behavour in the fpga, and if it is deterministic
11:10
<
key2 >
what is the difference between "self.sync += [x.eq(1), x.eq(0)]" and "self.sync += [x.eq(0), x.eq(1)]"
11:12
<
rjo >
an fpga doesn't work like that. the assignments get flattened way before it hits the fpga.
11:14
<
key2 >
yes but into what
11:14
<
key2 >
into a 0 or a 1 ?
11:15
<
rjo >
as cr1901_modern said
11:15
<
rjo >
except the first cycle
11:24
<
cr1901_modern >
It's "except the first cycle" because FPGAs have hardware provisions to set a power-on value for wires and registers (I'm not sure how it's implemented)
11:26
<
larsc >
both assignments execute at the same time, but in the order specified, if that makes any sense
11:42
fengling_ has joined #m-labs
11:47
fengling_ has quit [Ping timeout: 240 seconds]
12:15
<
key2 >
larsc: if I had flipflops or registers, I would say that it makes no sens to put on the same input pin a 1 and a 0 without any logic gate in front
12:30
<
larsc >
key2: yeah, this is just a construct that exists in the HDL language, the synthesizer will transform this into something that will only have a single driver.
12:32
<
key2 >
but for example, here:
12:32
<
larsc >
the reason why you can assign a register multiple times in the same block is so you can do stuff like this: 'x <= 1; if (y) x <= 0;'
12:32
<
larsc >
yep, exactly the same as my example
12:32
<
key2 >
so what is the rule here ?
12:33
<
larsc >
the synthezier will turn this into if (y) x <= 0; else x <= 1
12:33
<
larsc >
it's just semantic sugar
12:33
<
larsc >
so you don't have to provide a else statement on each path
12:33
<
key2 >
so basically, this way, it helps not havint to define the else at the proper place which makes a lot of if/else inside eachother ?
12:33
<
key2 >
I could define the general behavour on a always@ block
12:34
<
key2 >
have the case somewhere else
12:34
<
key2 >
and the synth would do the job
12:34
<
key2 >
but in this case for example
12:34
<
key2 >
would the simulation do the same as what the synth would do ?
12:43
fengling_ has joined #m-labs
12:48
fengling_ has quit [Ping timeout: 240 seconds]
13:02
<
key2 >
when simulating a module, how do you trigger a sys_rst ?
13:03
<
key2 >
dut.sys_rst.eq(1) seams to be incorrect
13:13
rohitksingh_work has quit [Read error: Connection reset by peer]
13:45
fengling_ has joined #m-labs
13:50
fengling_ has quit [Ping timeout: 240 seconds]
13:55
rohitksingh has joined #m-labs
14:12
<
key2 >
is there a way to reduce with "add" for a signal ?
14:46
fengling_ has joined #m-labs
14:51
fengling_ has quit [Ping timeout: 240 seconds]
14:52
ylamarre has joined #m-labs
15:33
rohitksingh has quit [Ping timeout: 244 seconds]
15:43
rohitksingh has joined #m-labs
15:48
fengling_ has joined #m-labs
15:51
FabM has quit [Quit: ChatZilla 0.9.92 [Firefox 47.0/20160604131506]]
15:53
fengling_ has quit [Ping timeout: 240 seconds]
16:10
rohitksingh has quit [Ping timeout: 240 seconds]
16:11
rohitksingh has joined #m-labs
16:35
rohitksingh has quit [Ping timeout: 258 seconds]
16:49
<
GitHub70 >
artiq/master c0d5914 Robert Jordens: pc_rpc: increase firstcon_timeout to 1 s...
16:56
rohitksingh has joined #m-labs
17:13
sb0 has joined #m-labs
17:13
<
GitHub110 >
artiq/release-1 1d58e3c whitequark: ir: `invoke` is a valid `delay` decomposition....
17:25
<
sb0 >
bb-m-labs, force build --revision=eceafad7e30ac4c0cfd47db08c9f086ede5f6dba artiq-pipistrello-nist_qc1
17:25
<
bb-m-labs >
build forced [ETA 35m40s]
17:25
<
bb-m-labs >
I'll give a shout when the build finishes
17:25
<
whitequark >
rjo: that test is really fragile.
17:25
<
whitequark >
we're running it with exclusive access to the buildserver and it fails all the time
17:48
rohitksingh has quit [Ping timeout: 240 seconds]
17:53
<
sb0 >
bb-m-labs, force build --revision=078a9abeb95e32de949d225b7f9680b817992ba0 artiq-pipistrello-nist_qc1
17:53
<
bb-m-labs >
build forced [ETA 30m55s]
17:53
<
bb-m-labs >
I'll give a shout when the build finishes
18:53
fengling_ has joined #m-labs
18:58
fengling_ has quit [Ping timeout: 240 seconds]
19:37
mumptai has joined #m-labs
19:54
fengling_ has joined #m-labs
19:59
fengling_ has quit [Ping timeout: 240 seconds]
20:18
ylamarre has quit [Ping timeout: 244 seconds]
20:55
fengling_ has joined #m-labs
21:00
fengling_ has quit [Ping timeout: 240 seconds]
21:31
mumptai has quit [Quit: Verlassend]
21:57
fengling_ has joined #m-labs
22:02
fengling_ has quit [Ping timeout: 240 seconds]
22:58
fengling_ has joined #m-labs
23:03
fengling_ has quit [Ping timeout: 240 seconds]