00:06
<
mithro >
Does anyone know how to write a sync write, async read DP ram that yosys will understand?
00:12
<
mithro >
I'm going via the " Number of memories: 0" output that I'm not ending up with memories?
00:15
<
tpb >
Title: dpram32.sim.v · GitHub (at gist.github.com)
01:06
<
ZipCPU >
mithro: Are you trying to build a new architecture? I know how to get Yosys to synthesize a current architecture
01:14
<
mithro >
ZipCPU: Maybe if I had an example I could understand how to do what I'm after?
01:16
<
tpb >
Title: Formally Verifying Memory and Cache Components (at zipcpu.com)
01:16
<
ZipCPU >
I also have "rules of memory usage" in my tutorial
01:17
<
ZipCPU >
If you are trying to expand Yosys to support new chips or new hardware, then you'd have to ask daveshah, since I don't have that background
01:24
<
mithro >
ZipCPU: I'm not really understanding how to read that post you linked?
01:25
<
ZipCPU >
No? What are you missing?
01:25
<
ZipCPU >
It describes how to describe a memory in Verilog, which Yosys will then infer within hardware
01:41
<
mithro >
ZipCPU: The first heading on that page is "Formal Verifying Memory-like Components", then it moves onto talking about caches....
01:41
<
ZipCPU >
... and then it goes through the design of a memory, that it then formally verifies
01:42
<
tpb >
Title: zbasic/memdev.v at master · ZipCPU/zbasic · GitHub (at github.com)
01:43
<
mithro >
ZipCPU: It is also missing a lot of information about things that I would assume need to be explained, IE I assume AW == Address Width? and DW == Data Width? It never seems to describe how and where `mem` object is defined?
01:43
<
ZipCPU >
AW = address width, DW = data width
01:44
<
ZipCPU >
Let me get a link for the memory definition ...
01:44
<
tpb >
Title: zbasic/memdev.v at master · ZipCPU/zbasic · GitHub (at github.com)
01:45
gsi__ has joined #yosys
01:48
gsi_ has quit [Ping timeout: 244 seconds]
01:53
<
mithro >
ZipCPU: Yeap! That tutorial has the info I need
01:54
<
ZipCPU >
Ahh ... okay
02:01
cr1901_modern has quit [Quit: Leaving.]
02:04
cr1901_modern has joined #yosys
02:06
Cerpin has joined #yosys
02:06
lutsabound has joined #yosys
02:07
<
tpb >
Title: dpram32.sim.v · GitHub (at gist.github.com)
02:11
<
mithro >
ZipCPU: I assume the "32 -> BUF -> i" is the initialization data for the memory?
02:11
<
tpb >
Title: dpram32.sim.v · GitHub (at gist.github.com)
02:17
<
ZipCPU >
32 -> BUF -> i .... which reference was that in?
02:18
<
mithro >
ZipCPU: See the image attached to that gist...
02:18
<
ZipCPU >
Ahh ... .okay
02:19
<
ZipCPU >
What's going on with the $mux on the WR_EN line?
02:19
<
ZipCPU >
That looks a bit superfluous
02:20
<
ZipCPU >
Oh, I think I see what's going on with I
02:20
<
mithro >
ZipCPU: Oh?
02:20
<
ZipCPU >
The 32->BUF->i is the value "i" has at the end of the for loop, right? Where ADDR_LENGTH = 32
02:20
<
mithro >
ZipCPU: Oh... yes...
02:21
<
ZipCPU >
So, ever after, if "i" is referenced it will have the value of 32
02:21
<
mithro >
How do I make it "go away" :-P
02:21
<
ZipCPU >
We recently had some ugly bugs we needed to deal with dealing with loop variables, and I think that was part of the solution
02:21
<
ZipCPU >
Perhaps opt_clean ?
02:22
<
ZipCPU >
I think there's an opt_muxtree pass that might even remove the $mux on WR_EN too
02:22
<
mithro >
2.11.4. Executing OPT_CLEAN pass (remove unused cells and wires).
02:22
<
mithro >
Finding unused cells or wires in module \DPRAM32..
02:23
<
mithro >
I did a `prep -top DPRAM32 ; show -format svg -prefix dpram32.bb.yosys DPRAM32`
02:24
<
ZipCPU >
There's also a "synth" command, which might've made more sense
02:30
<
mithro >
ZipCPU: It seems like synth flattens that mem into DFF and a bunch of other cells...
02:30
<
ZipCPU >
... which could be quite appropriate, depending upon the actual memory in your device
02:35
PyroPeter has quit [Ping timeout: 252 seconds]
02:39
<
mithro >
ZipCPU: I can't see anything in the Yosys manual which would remove that `integer i`?
02:42
<
ZipCPU >
The "integer i" probably wasn't there when the yosys manual was written. I think it was a rather recent addition.
02:48
PyroPeter has joined #yosys
02:54
<
mithro >
ZipCPU: Is this the same?
02:55
<
ZipCPU >
That's the integer i, if that's your question
02:56
<
ZipCPU >
I know I found some problems with it while building the crossbar I've been working on, which led to this more complete definition
02:56
<
ZipCPU >
If my case, I had loops upon loops upon loops that all used the same loop variables. That required that the loop variables be kept
02:56
<
ZipCPU >
We also had a user complaint about a reference to the loop variable after the loop ended that was ... eye opening.
02:57
<
ZipCPU >
It was one of those, well, gee, I never thought anyone would do that moments
02:57
<
ZipCPU >
That's part of the reason why "i" isn't limited to just the loop alone
02:57
<
ZipCPU >
... and why it continues to have a definition now that the loop is complete
02:58
<
mithro >
Well, when using genvar it doesn't end up in the output verse the "integer i"?
02:58
<
mithro >
ZipCPU: Interestingly, when I changed it to a generate statement, the linter warned me I had gotten the parameter size wrong...
04:26
lutsabound has quit [Quit: Connection closed for inactivity]
05:05
vonnieda has joined #yosys
05:17
gsi__ is now known as gsi_
06:28
rohitksingh has joined #yosys
07:02
rohitksingh_ has joined #yosys
07:02
rohitksingh_ has quit [Client Quit]
07:20
MoeIcenowy has joined #yosys
08:13
vonnieda has quit [Read error: Connection reset by peer]
10:26
_whitelogger has joined #yosys
10:57
maikmerten has joined #yosys
11:12
MoeIcenowy has joined #yosys
11:23
_whitelogger has joined #yosys
12:34
maikmerten has quit [Remote host closed the connection]
12:39
MoeIcenowy has joined #yosys
12:44
MoeIcenowy has quit [Client Quit]
12:44
MoeIcenowy has joined #yosys
14:05
_whitelogger has joined #yosys
14:48
emeb has joined #yosys
16:11
vonnieda has joined #yosys
16:14
Laksen has joined #yosys
19:59
vonnieda has quit [Ping timeout: 252 seconds]
20:04
vonnieda has joined #yosys
20:18
Laksen has quit [Quit: Leaving]
22:37
vonnieda has quit [Ping timeout: 250 seconds]
23:14
emeb has quit [Quit: Leaving.]
23:51
tpb has quit [Remote host closed the connection]
23:51
tpb has joined #yosys