02:04
meawoppl has joined #yosys
02:04
<
meawoppl >
greeting humans
02:04
<
meawoppl >
anyone around in here?
02:15
citypw has joined #yosys
02:39
<
meawoppl >
anyone alive?
02:40
<
meawoppl >
I am looking for some help with nextpnr, does this channel do that?
02:45
mangelis has quit [Ping timeout: 240 seconds]
02:56
meawoppl has quit [Remote host closed the connection]
03:18
meawoppl has joined #yosys
03:19
<
meawoppl >
When I get assertion failures in nextpnr, is this the place to talk about them?
03:45
<
sorear >
either here or ##openfpga
03:46
<
sorear >
but if you can’t stay online for more than 50 minutes you may have better luck with email or github issues
03:46
<
sorear >
idk who else is awake at this hour
03:52
<
ZipCPU >
At least the channel is recorded, so there is a chance he might see that someone responded to him
03:53
<
meawoppl >
I'll give it a go tomorrow AM when i reboot into linux again, until then i am stuck with the windows toolchain :/
04:27
<
sorear >
Nearly certain nextpnr supports Windows
05:02
Jybz has joined #yosys
05:28
meawoppl has quit [Remote host closed the connection]
07:28
FabM has joined #yosys
07:29
FabM is now known as FabM_cave
08:01
dys has joined #yosys
08:01
m4ssi has joined #yosys
09:03
fsasm has joined #yosys
13:08
d0nker5 has quit [Ping timeout: 250 seconds]
13:22
d0nker5 has joined #yosys
13:33
develonepi3 has joined #yosys
14:25
meawoppl has joined #yosys
14:26
<
meawoppl >
so, if I am having an assertion fault in nextpnr, what do I share to reproduce it? a .json and the flags I used?
14:27
<
meawoppl >
I basically seem to seg-fault nextpnr anytime I use a module with parameters
14:28
<
ZirconiumX >
What are you using to synthesise for nextpnr? Yosys, right?
14:28
<
meawoppl >
yosys, yes
14:29
<
ZirconiumX >
Given that using a module with parameters is amongst the most common Verilog operation, I suspect it's not the problem here
14:30
<
ZirconiumX >
The JSON, the assertion error, that command lines of both Yosys and Nextpnr and possibly the input HDL
14:31
<
meawoppl >
gotcha, I will reboot into linux land in a bit post those here
14:32
<
meawoppl >
they are specifically related to the ice40 builtin modules (tristate buffers and led driver) if that helps any
14:32
<
ZirconiumX >
Not as such
14:33
<
whitequark >
are your nextpnr and yosys up-to-date?
14:33
<
meawoppl >
yeah, I built both from source this week
14:34
<
meawoppl >
I also made a .deb for nextpnr, and I am tempted to roll a ppa for all these tools to make them apt friendy
14:37
<
meawoppl >
aiit, power-cycling to linux, brb
14:39
meawoppl has quit [Remote host closed the connection]
14:47
pie_ has quit [Ping timeout: 265 seconds]
14:51
meawoppl has joined #yosys
14:51
<
meawoppl >
heyo, I got caught in windows update land :/
14:52
<
meawoppl >
aiiit, so I am invoking yosys as the following:
14:52
<
meawoppl >
`yosys -s integrate.ys`
14:52
<
meawoppl >
the script has only a few lines:
14:53
<
meawoppl >
`read_verilog source/impl_1/*.vsynth_ice40 -top top -blif magicschoolbus.blifwrite_json magicschoolbus.json`
14:53
<
meawoppl >
bah, that is getting munged:
14:53
<
meawoppl >
`read_verilog source/impl_1/*.v`
14:53
<
meawoppl >
`synth_ice40 -top top -blif magicschoolbus.blif`
14:54
<
meawoppl >
`write_json magicschoolbus.json`
14:54
<
meawoppl >
that is all ^^
14:54
<
meawoppl >
when I run nextpnr I call the following:
14:55
<
meawoppl >
`nextpnr-ice40 --up5k --package sg48 --json magicschoolbus.json --pcf pins.pcf --asc output.asc`
14:56
<
meawoppl >
the output looks like this:
14:56
<
ZirconiumX >
meawoppl: Why not just `yosys -p "synth_ice40 -top top -json magicschoolbus.json" source/impl_1/*.v`?
14:56
<
tpb >
Title: nextpnr bug? · GitHub (at gist.github.com)
14:56
<
ZirconiumX >
That seems a bit simpler :P
14:57
<
meawoppl >
yeah that is better
14:57
<
ZirconiumX >
daveshah: ^
14:57
<
whitequark >
can you show the code?
14:57
<
daveshah >
Yeah this is obviously a bug
15:00
<
meawoppl >
whitequark I don't think I can share it without stripping a bunch of material
15:00
<
meawoppl >
the observation I wanted to put forward is that if I take the parameters out of the ice40 modules the pnr call succeeds, which I find interesting
15:01
<
daveshah >
No one will fix it without the code
15:01
<
meawoppl >
kk, let me try to make a minimal repro
15:04
<
meawoppl >
eta ... 5 or so?
15:04
<
meawoppl >
also, thanks!
15:09
<
meawoppl >
alright, that was much easier than I thought to strip down
15:09
<
meawoppl >
making it 1-command reproduction
15:16
<
tpb >
Title: GitHub - meawoppl/nextpnr-bug-repro: Not much to this all (at github.com)
15:17
m4ssi has quit [Remote host closed the connection]
15:17
<
meawoppl >
daveshah, if you clone the above and run `reproduce.sh` it should show the problem I am having
15:18
<
daveshah >
Having a look now
15:19
<
tpb >
Title: nextpnr-bug-repro/LedController.v at master · meawoppl/nextpnr-bug-repro · GitHub (at github.com)
15:19
<
daveshah >
this is silly but it is for compatibility with the Lattice tools
15:19
<
daveshah >
let me add a better error though
15:22
<
meawoppl >
oh, are parameter literals treated strangely somehow?
15:22
<
daveshah >
this is very specific to the UltraPlus primitives
15:23
<
daveshah >
the SiliconBlue era primitives (LUTs, RAMs, SB_IO, PLLs) don't do this - only the LED driver and UltraPlus hard IPs do
15:23
<
meawoppl >
gotcha, howabout the high-freq osc?
15:23
dys has quit [Ping timeout: 276 seconds]
15:25
<
daveshah >
that's string style too
15:30
<
meawoppl >
woah, I think it all just worked.....
15:30
<
meawoppl >
thanks so much daveshah
15:30
<
meawoppl >
how can I contribute to this project? It is going to save me a ton of time I can already tell
15:31
<
daveshah >
meawoppl: first step is to keep the issue reports coming :) (I've just improved the error message in this case)
15:31
<
daveshah >
also have a look at open Yosys/nextpnr issues
15:31
<
daveshah >
hi corecode!
15:31
<
corecode >
you coming to congress this year?
15:31
<
daveshah >
no, I won't be
15:32
<
corecode >
last year there were a lot of people doing icebreaker tutorials
15:32
<
meawoppl >
is that the one in Munich?
15:33
<
corecode >
are there any ultra bugs that need attention?
15:33
<
daveshah >
Not sure, I have not tried the ultra support myself
15:33
<
corecode >
i am using it
15:37
pie_ has joined #yosys
15:40
<
meawoppl >
daveshah, one other question if you have some bandwidth
15:42
<
meawoppl >
what is the right way to do a bidirectional pin (read and write) where the "high" needs to be high-impedance? (already has external pullup)
15:43
<
corecode >
instantiate a pin gpio instance and change OE
15:44
<
daveshah >
What you have looks alright to me
15:44
<
daveshah >
oh yeah, you can just have the output data set to 1'b0 as corecode
15:45
<
daveshah >
I did this for I2C a while ago
15:45
<
tpb >
Title: MARLANN/cameraif.v at master · SymbioticEDA/MARLANN · GitHub (at github.com)
15:47
<
corecode >
yep looks like what i suggested
15:47
<
corecode >
would be nice if you could express this in verilog and reliably get the right IO instantiated
15:55
<
meawoppl >
corecode and daveshah thanks for the leads
15:55
<
meawoppl >
can I keep pestering this channel with veriolog questions?
15:57
<
corecode >
there is also ##verilog and ##fpga
16:06
<
ZirconiumX >
Also ##openfpga
16:26
citypw has quit [Ping timeout: 240 seconds]
16:29
m4ssi has joined #yosys
16:45
d0nker5 has quit [Ping timeout: 268 seconds]
16:47
d0nker5 has joined #yosys
16:52
d0nker5 has quit [Ping timeout: 268 seconds]
16:52
d0nker5 has joined #yosys
16:56
m4ssi has quit [Remote host closed the connection]
16:58
mmicko has joined #yosys
17:23
fsasm has quit [Ping timeout: 252 seconds]
17:26
steeeels has joined #yosys
17:30
<
steeeels >
Hi all, I have rather silly question and tbh it's more verilator related one, but still. Could anyone tell me if there's something wrong with this piece of code:
https://pastebin.com/w6fWKUfa The reason I'm asking is that it works 100% fine if I pass --public option to verilator and doesn't work w/o it.
17:30
<
tpb >
Title: [VeriLog] module lfsr_rnd #( parameter POLY = 32'h80200003 ) ( input wire - Pastebin.com (at pastebin.com)
17:31
<
whitequark >
seems fine to me. how does it break?
17:34
<
steeeels >
In case I run verilator w/o --public option, every signal is zero, except POLY of course, please check these screenshots:
https://imgur.com/a/A3hZtJo
17:34
<
tpb >
Title: Imgur: The magic of the Internet (at imgur.com)
17:38
<
steeeels >
The generated c++ code by verilator looks more or less similar, at least for those signals. It's hard to tell for sure for 10k lines of code
17:41
<
whitequark >
it generates 10kloc for that one module?
17:43
<
steeeels >
Nope. The SoC generates 10k LOC, but the issue is with lfsr module.
17:44
<
whitequark >
are you sure there is a problem in lfsr module and not something else?
17:44
<
whitequark >
it might be visible in the lfsr module but have its cause elsewhere
17:47
<
steeeels >
I believe so, yes. At least the code executes unless it tries to read something non-zero from random generator, which in this case is impossible. I'll try to minimize the reproduction and create a topic on veripool
18:02
pie_ has quit [Ping timeout: 276 seconds]
18:04
steeeels has quit [Remote host closed the connection]
18:14
fsasm has joined #yosys
18:20
indy has quit [Ping timeout: 240 seconds]
18:35
indy has joined #yosys
19:03
ZipCPU has quit [Excess Flood]
19:04
ZipCPU has joined #yosys
19:16
pie_ has joined #yosys
19:44
FabM_cave has quit [Ping timeout: 268 seconds]
20:24
pie__ has joined #yosys
20:25
russell-- has quit [Ping timeout: 268 seconds]
20:28
pie_ has quit [Ping timeout: 268 seconds]
20:59
Jybz has quit [Quit: Konversation terminated!]
21:19
fsasm has quit [Ping timeout: 265 seconds]
21:55
X-Scale` has joined #yosys
21:55
X-Scale has quit [Ping timeout: 240 seconds]
21:56
X-Scale` is now known as X-Scale
22:22
X-Scale` has joined #yosys
22:23
X-Scale has quit [Ping timeout: 276 seconds]
22:23
X-Scale` is now known as X-Scale
22:32
gorbak25 has joined #yosys
22:48
gorbak25 has quit [Quit: gorbak25]
23:59
tpb has quit [Remote host closed the connection]
23:59
tpb has joined #yosys