kmehall has quit [Quit: No Ping reply in 180 seconds.]
kmehall has joined #yosys
MoeIcenowy has quit [Ping timeout: 268 seconds]
MoeIcenowy has joined #yosys
PyroPeter has quit [Ping timeout: 250 seconds]
PyroPeter has joined #yosys
_whitelogger has joined #yosys
chipb_ is now known as chipb
AlexDaniel has joined #yosys
citypw has joined #yosys
rohitksingh_work has joined #yosys
emeb has quit [Quit: Leaving.]
dys has joined #yosys
Jybz has joined #yosys
proteusguy has joined #yosys
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
m4ssi has joined #yosys
emeb_mac has quit [Ping timeout: 268 seconds]
citypw has quit [Ping timeout: 268 seconds]
citypw has joined #yosys
AlexDaniel has quit [Remote host closed the connection]
futarisIRCcloud has joined #yosys
Jybz has quit [Quit: Konversation terminated!]
jryans has quit [Ping timeout: 250 seconds]
nrossi has quit [Ping timeout: 276 seconds]
Wolf480pl has quit [Ping timeout: 248 seconds]
Wolf480pl has joined #yosys
somlo has quit [Ping timeout: 258 seconds]
pepijndevos_ has quit [Quit: ZNC 1.6.6+deb1ubuntu0.1 - http://znc.in]
jryans has joined #yosys
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
pepijndevos has joined #yosys
nrossi has joined #yosys
cr1901_modern has quit [Ping timeout: 248 seconds]
proteusguy has quit [Ping timeout: 244 seconds]
rrika has quit [Ping timeout: 258 seconds]
rrika has joined #yosys
<pepijndevos>
How does the extract pass work with parameters?
<pepijndevos>
-ignore_parameters Do not use parameters when matching cells.
<pepijndevos>
So what does it do to "use parameters"?
<pepijndevos>
It seems extract is also extremely picky about using for example 1 or 8'b1
rohitksingh_work has quit [Read error: Connection reset by peer]
proteusguy has joined #yosys
maikmerten has joined #yosys
rohitksingh has joined #yosys
<pepijndevos>
Does a techmap "inherit" the parameters of the thing it replaces?
cr1901_modern has joined #yosys
emeb has joined #yosys
<pepijndevos>
Are there any magic rules for when a techmap matches or not? Mine does not, for some reason.
rohitksingh has quit [Ping timeout: 246 seconds]
<pepijndevos>
ERROR: (ASSERT MODE) No matching template cell for type \$counter16 found.
rohitksingh has joined #yosys
<ZirconiumX>
[16:07:31] pepijndevos: Does a techmap "inherit" the parameters of the thing it replaces?
<ZirconiumX>
If you use a _TECHMAP_REPLACE_ I think so
<ZirconiumX>
[16:48:29] pepijndevos: Are there any magic rules for when a techmap matches or not? Mine does not, for some reason.
<ZirconiumX>
Either the module is named the same as the cell you're trying to replace, or you have (* techmap_replace = "target_cell" *) above it, and _TECHMAP_FAIL_ is zero
<ZirconiumX>
That's when it matches
<pepijndevos>
ZirconiumX, it's the dollar signs... If I'm trying to act cool and put dollar signs in my counter like a real techmap it fails
<pepijndevos>
If I just extract and techmap without the dollars it breaks. I think I'm not escaping stuff enough/too much
<ZirconiumX>
The documentation says techmap -assert errors out if a cell name doesn't end with an underscore
<ZirconiumX>
If you called your cell $counter16, that'll error because it does not end with an underscore
<ZirconiumX>
Conversely since your cell does not end in an underscore, it's an error
<pepijndevos>
Yea, but if I just put an underscore it'll not error and still not replace, I think it's purely that it never asserts on underscored things.
<pepijndevos>
So if I call my extracted cell counter16 and the techmap on counter16 all is good, but if I call my extraction $counter16 or \$counter16 or whatever, nothing works.
<pepijndevos>
Or even $_COUNTER16_ or anything else that I've tried.
<pepijndevos>
So I'm not understanding anything about the naming convention and escaping. Like, I've seen \$thing and \\$thing and $thing in various places
<pepijndevos>
I guess I don't really care about the dollar thing, except counter8 seems so common it might come up in normal code, so I thought I'd stick with what seems to be a convention for dollar signs for cells.
<pepijndevos>
Should I just call it 74xx_counter and be done with it?
m4ssi has quit [Remote host closed the connection]
citypw has quit [Ping timeout: 245 seconds]
<pepijndevos>
Cool, techmap kinda works, simulation super broken.
<ZirconiumX>
pepijndevos: so when are you shipping a PicoSoC to me?
<ZirconiumX>
:^)
AlexDaniel has joined #yosys
Jybz has joined #yosys
<pepijndevos>
ZirconiumX, hopefully near the end of the holiday :^)
<ZirconiumX>
I think the multiplier would be painful
<pepijndevos>
The pwmled is now 7 chips
<ZirconiumX>
Because of counter recognition?
<pepijndevos>
Yes
<pepijndevos>
But it's extremely picky, so you pretty much have to want to use it.
<pepijndevos>
Originally I wanted to use an up/down counter, but it seems 74161 is pretty much the only thing that's still on sale.
rohitksingh has quit [Ping timeout: 245 seconds]
<ZirconiumX>
I don't think you can meaningfully reduce that benchmark any further
<pepijndevos>
With an up/down counter you could make a sweeeet stack pointer, but at least maybe this is somewhat useful as an instruction pointer.
<pepijndevos>
There is a sexy sexy 8-bit up/down counter IC, but I don't think it's sold anywhere.
<ZirconiumX>
Which model?
<pepijndevos>
74x867
<ZirconiumX>
pepijndevos: have you seen the 74x4040?
<pepijndevos>
eh, yea... can't remember the details
<pepijndevos>
12 bits is a bit... odd, no preset, no up/down. So it could be a lot more efficient in some cases, and less useful in others.
<pepijndevos>
Right now I have to specifically extract counter8, counter16 etc. and counter12 seems... not very common.
<ZirconiumX>
Mmm
<pepijndevos>
So for example, if I want to use it as an instruction counter, I need preset for jumps
rohitksingh has joined #yosys
<pepijndevos>
Although I'm not even convinced what I'm doing now will work for that...
<pepijndevos>
Well, lemme push and you can have a look at it.
<GenTooMan>
the 74hc191 still is produced?
<ZirconiumX>
True, and Farnell sell it
<ZirconiumX>
GenTooMan: though we prefer DIP over SOIC for this
<GenTooMan>
ZirconiumX Nexperia and TI still make the DIP version as far as I know.
<sorear>
kinda surprised you’re not just using quad nands etc
<ZirconiumX>
TI are the one who sell DIPs for Farnell, and it's on back-order
<ZirconiumX>
sorear: We're crazy not stupid
<GenTooMan>
at least you are not making it with transistors.
<pepijndevos>
74x191 is actually a nice one maybe? Not really in AC or DIP but... it counts down.
<GenTooMan>
the reason I bothered pointing it out.
Thorn has joined #yosys
<pepijndevos>
change.org petition: TI makes the whole 74xx series
<pepijndevos>
sorear, part of me wants to do NOR and recreate the Apollo Guidance Computer
<daveshah>
Why need a change.org petition when you have MPWs?
<pepijndevos>
daveshah, what's MPW?
<daveshah>
Multi project wafer
<daveshah>
Relatively cheap way of making custom silicon
<pepijndevos>
Are you suggesting I make an ASIC instead (boring), or produce my own 74xx chips (omg)?
<pepijndevos>
Any idea what it costs to do that kind of stuff?
<daveshah>
Latter
<daveshah>
Probably a few thousand euros minimum
<pepijndevos>
Okay, scrap the change.org, on to kickstarter hehe
<GenTooMan>
then your biggest issue would become buffering and someone to package the chips. a single 8 inch wafer can get you quite a few parts I suspect.
<daveshah>
Europractice 700nm, probably fine for any 7400, 300€/mm2, 5mm2 min
<daveshah>
For 30 samples, excluding packaging
<ZirconiumX>
That's a bit pricey, but would be funny
<ZirconiumX>
On the other hand, why not just fabricate a PicoSoC directly?
<pepijndevos>
That's what these Raven people did, no?
<pepijndevos>
Or why not both?
<daveshah>
That's already been done
<daveshah>
Indeed
<ZirconiumX>
pepijndevos: I'm going to disappoint you greatly
<ZirconiumX>
"In my experience writing counter + 1 and counter + 1'b1 already causes a mismatch"
<ZirconiumX>
Because 1'b1 is 1-bit, and 1 is 32-bit
<pepijndevos>
I know, but yosys optimizes the useless bits away
<ZirconiumX>
Sure, but they're semantically different and the compiler obviously has to keep semantics
<pepijndevos>
I guess...
<daveshah>
opt and wreduce should deal with the difference though
<pepijndevos>
It just makes the counter extraction not very flexible.
<pepijndevos>
does opt do clean or are these different things?
<daveshah>
opt does clean too (I didn't use opt for this test as it would actually merge all three adders)
<pepijndevos>
yay that works
<pepijndevos>
Now I wonder if it gets used in *any* of the other benchmarks...
<pepijndevos>
The answer is no
qu1j0t3 has joined #yosys
rohitksingh has quit [Ping timeout: 245 seconds]
maikmerten has quit [Remote host closed the connection]
matt` has joined #yosys
Jybz has quit [Quit: Konversation terminated!]
<matt`>
hello! i'm having some trouble understanding a yosys error message: "found error in internal cell" where it's complaining about cell $_DFF_PP1. I'm experiencing this when running `synth_xilinx`; `read_verilog` works fine (although I do get a warning about tri-state logic from the same file triggering the error message). Is there a possibility this error means I'm using a tristate representation not supported by yosys? What does that
<matt`>
error mean generally? That yosys isn't able to map the RTL to the available Xilinx cells?
<matt`>
i'm running the current git master version btw
qu1j0t3 has left #yosys ["WeeChat 0.4.3"]
<daveshah>
matt`: I don't think this would be related to a tristate issue
<daveshah>
A "found error in internal cell" is a Yosys bug
<daveshah>
If your design isn't confidential, creating a Yosys issue would be helpful
<matt`>
daveshah: i'll try to get this down to a minimal example and raise the issue. Thanks for the help! By the way, what does it mean that tri-state has limited support? is there somewhere in the documentation that says what is and isn't supported in that regard?
<daveshah>
If it helps pinpoint the issue, a `$_DFF_PP1_` is the Yosys internal type for a single-bit D flipflop with an asynchronous set and rising edge clock
<daveshah>
In practice I don't think it's so much that only a subset of tristate functionality is supported, as that tristate has a lot of different possibilities and not everything has been tested
<daveshah>
This is particularly the case for the Xilinx flow which isn't so well used for designs with this kind of stuff