clifford changed the topic of #yosys to: Yosys Open SYnthesis Suite: http://www.clifford.at/yosys/ -- Channel Logs: https://irclog.whitequark.org/yosys
wavedrom has quit [Ping timeout: 250 seconds]
pie__ has quit [Ping timeout: 244 seconds]
wavedrom has joined #yosys
seldridge0 has quit [Ping timeout: 250 seconds]
rohitksingh has joined #yosys
dys has joined #yosys
_whitelogger has joined #yosys
_whitelogger has joined #yosys
_whitelogger has joined #yosys
AlexDaniel has joined #yosys
_whitelogger has joined #yosys
jcreus has joined #yosys
_whitelogger has joined #yosys
kraiskil has joined #yosys
wavedrom has quit [Ping timeout: 246 seconds]
kraiskil_ has joined #yosys
kraiskil has quit [Ping timeout: 250 seconds]
rohitksingh_ has quit [Ping timeout: 245 seconds]
rohitksingh has joined #yosys
<janrinze> ZipCPU: have you been able to infer the hardware multiplier of up5k with yosys?
<ZipCPU> janrinze: I just tried, and it didn't infer ... let me update my version and see if this was fixed recently at all
<ZipCPU> With the updated version it still doesn't infer
<ZipCPU> I'm not sure if this capability has been built into yosys yet. I know I've heard daveshah and clifford discussing how they might add it, but not the results of those conversations
<janrinze> with BRAM it had a special way of inferring. might there be a thingy for the multiplier too?
<daveshah> We'll be working on that next year
<janrinze> daveshah: the BRAM had a special way of explicitly inferring. is there a similar library for the multiplier?
<ZipCPU> I'm pretty sure you can instantiate the underlying DSP element directly, just never tried doing it.
<janrinze> ZipCPU: only if i know what the module is called :D
<daveshah> SB_MAC16
* ZipCPU is checking the yosys/techlibsecp5 directory to see if its there
<ZipCPU> SB_MAC16? Is it a 16x16 MAC as opposed to the 18x18 I've gotten used to from Xilinx?
<janrinze> ZipCPU: yes, all documentation refers to 16x16
<ZipCPU> Here it is: techlibs/ice40/cells_sim
<janrinze> daveshah: I wish there was a way to change only the pll setting after running yosys and nextpnr
<daveshah> hmm, that shouldn't be too hard a tool to make
<daveshah> or you could use the PLL SPI to configure it at runtime
<janrinze> daveshah: would it be okay to set the required bits from say a register and allow it to be rewritten during runtime?
<janrinze> the SB_PLL40_CORE parameters, can they be registers?
<daveshah> no, they are bits in the bitstream - the only way to change them at runtime is using the SPI interface (but that isn't really documented)
<janrinze> the thing is that when i run yosys and nextpnr the end result varies in speed. changing the pll requires another round of yosys and nextpnr and then the speed is not matching anymore.
<janrinze> okay, the bits in the bitstream should be easy to modify if we know which bits they are :D
<sorear> i'm going to keep pitching my "bitstreams with undefined symbols and relocations" idea as long as people keep asking for this
<janrinze> sorear: would that be similar to having ip-blocks that don't need rebuilding?
<sorear> there could be some overlap, but I can't comment more until I understand hierarchical PnR / floorplanning
<janrinze> daveshah: is the floorplan a quad-tree?
vidbina has joined #yosys
<daveshah> the quadtree is used for handling mouse coordinates in the GUI
<janrinze> daveshah: using a quadtree allows symmetric operations on cells like mirroring, rotation etc. to reduce wire length
markus-k has joined #yosys
vidbina has quit [Read error: Connection reset by peer]
vidbina has joined #yosys
vidbina has quit [Read error: Connection reset by peer]
vidbina has joined #yosys
vidbina has quit [Ping timeout: 250 seconds]
vidbina has joined #yosys
vidbina has quit [Ping timeout: 240 seconds]
kraiskil_ has quit [Ping timeout: 245 seconds]
kraiskil_ has joined #yosys
m_t has joined #yosys
vidbina has joined #yosys
rohitksingh has quit [Ping timeout: 250 seconds]
m_t has quit [Read error: Connection reset by peer]
tmeissner has joined #yosys
seldridge0 has joined #yosys
vidbina has quit [Ping timeout: 244 seconds]
vidbina has joined #yosys
tmeissner has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
rohitksingh has joined #yosys
tmeissner has joined #yosys
kraiskil_ has quit [Read error: Connection reset by peer]
vidbina has quit [Ping timeout: 250 seconds]
vidbina has joined #yosys
vidbina has quit [Ping timeout: 252 seconds]
vidbina has joined #yosys
pie__ has joined #yosys
pie__ has quit [Remote host closed the connection]
pie__ has joined #yosys
pie__ has quit [Ping timeout: 245 seconds]
m4ssi has quit [Remote host closed the connection]
kraiskil has joined #yosys
vidbina has quit [Ping timeout: 250 seconds]
vidbina has joined #yosys
tmeissner has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
wavedrom has joined #yosys
tmeissner has joined #yosys
pie__ has joined #yosys
rohitksingh has quit [Ping timeout: 245 seconds]
vidbina has quit [Ping timeout: 268 seconds]
kraiskil has quit [Read error: Connection reset by peer]
kraiskil has joined #yosys
tmeissner has quit [Quit: Textual IRC Client: www.textualapp.com]
rohitksingh has joined #yosys
kraiskil has quit [Read error: Connection reset by peer]
kraiskil has joined #yosys
pie__ is now known as [redacted]
[redacted] is now known as pie__
<swetland> can't one invoke nextpnr and specify the random seed? presumably there should be some way to get identical outputs given suitably identical inputs -- since the PLL parameters don't affect placement, if everything else (including constraints, random seed, etc) is the same, shouldn't one be able to get the same layout?
kraiskil has quit [Read error: No route to host]
pie__ has quit [Ping timeout: 252 seconds]
kraiskil has joined #yosys
pie_ has joined #yosys
<daveshah> Yes, you can specify the seed with --seed, it defaults to 1
<daveshah> It could be that your C++ library is randomising unordered_map ordering and we rely on that somewhere
kraiskil has quit [Read error: Connection reset by peer]
pie__ has joined #yosys
pie_ has quit [Ping timeout: 252 seconds]
vidbina has joined #yosys
vidbina has quit [Ping timeout: 252 seconds]
<janrinze> daveshah: does up5k work okay with icepll generated pll?
<janrinze> i get an error:ERROR: PLL 'mypll.uut' couldn't be placed anywhere, no suitable BEL found. Did you mean to use a PAD PLL ?
<daveshah> You probably need to use a PAD PLL variant for your board
<daveshah> This is dependent on which pin is used for clock output
<janrinze> LOL.. yes that's what the error says
<janrinze> but the 12 MHz is on a pad, right?
kraiskil has joined #yosys
<janrinze> board is the up5k eval board
<janrinze> lattice one, simple board.
<janrinze> does the output have to be a pin too?
<daveshah> No, the output can go to fabric or a global network
<janrinze> okay, according to the docs pin 35 has 12MHz clock
<janrinze> so i was assuming that can be used for pll input
<daveshah> Yes, that is the dedicated PLL input pin so you have to use the _PAD not _CORE PLL variant
<janrinze> aha! thanks!
<janrinze> icepll by default generates a _CORE
<janrinze> daveshah: i'll take a good look at your nes example to find out more things specific for the up5k. Already saw the spram there too.
rohitksingh has quit [Ping timeout: 245 seconds]
<swetland> also, if you want to be able to use that 12M clock as well as the PLL generated clock you need to use SB_PLL40_2_PAD which provides the original clock as well as the generated clock
<swetland> icepll probably should have options as to if the input is an IO or internal, what you're doing with the output, etc. the lattice clock wizard thing does, though their descriptions are a bit confusing. The docs for the SB_* blocks in http://www.latticesemi.com/~/media/LatticeSemi/Documents/TechnicalBriefs/SBTICETechnologyLibrary201708.pdf are useful
vidbina has joined #yosys
kraiskil has quit [Read error: No route to host]
kraiskil has joined #yosys
m_w has joined #yosys
kraiskil has quit [Ping timeout: 268 seconds]
tpb has quit [Remote host closed the connection]
tpb has joined #yosys