clifford changed the topic of #yosys to: Yosys Open SYnthesis Suite: http://www.clifford.at/yosys/ -- Channel Logs: https://irclog.whitequark.org/yosys
chaseemory has joined #yosys
Thorn has quit [Quit: Textual IRC Client: www.textualapp.com]
<chaseemory> ZipCPU, i managed to get the Ethernet port working on the Nexys Video, it was a mixture of a few issues, wireshark came in super handy
emeb has left #yosys [#yosys]
<ZipCPU> Yaaayyy!!!
<ZipCPU> chaseemory: Can you tell me what you used for the clock on the transmitter?
emeb_mac has joined #yosys
<chaseemory> i made two 125MHz clocks in an mmcm, one 90degrees out of phase, i dug through the layers of the code in the repo and thats the clock it seems to be using for the tx_clk
<tpb> Title: verilog-ethernet/rgmii_phy_if.v at master · alexforencich/verilog-ethernet · GitHub (at github.com)
<ZipCPU> Thanks! I'll take a peek
gsi__ has joined #yosys
gsi_ has quit [Ping timeout: 255 seconds]
citypw has joined #yosys
jevinskie has joined #yosys
pie__ has joined #yosys
pie_ has quit [Ping timeout: 245 seconds]
_whitelogger has joined #yosys
rohitksingh_work has joined #yosys
rohitksingh_work has quit [Ping timeout: 246 seconds]
seldridge has joined #yosys
chaseemory has quit [Remote host closed the connection]
jevinski_ has joined #yosys
jevinskie has quit [Ping timeout: 250 seconds]
<mithro> ZipCPU: You should tell chaseemory about liteeth - it already supports GigE on Nexys Video plus a bunch of other stuff too
<mithro> ZipCPU: _florent_ was getting liteeth working on the ECP5 too
<MoeIcenowy> bought an EP4CE115 board with DDR2 SO-DIMM connector
jevinski_ has quit [Read error: Connection reset by peer]
jevinskie has joined #yosys
<MoeIcenowy> seems that utilizing DDR memory is a disaster...
<MoeIcenowy> (I do not like vendor IP
<sorear> actually having a DIMM connector is good
Cerpin has quit [Quit: leaving]
seldridge has quit [Ping timeout: 244 seconds]
rohitksingh has joined #yosys
emeb_mac has quit [Quit: Leaving.]
ZipCPU has quit [Ping timeout: 252 seconds]
ZipCPU has joined #yosys
Thorn has joined #yosys
m4ssi has joined #yosys
rohitksingh has quit [Ping timeout: 268 seconds]
dys has quit [Ping timeout: 250 seconds]
Cerpin has joined #yosys
<MoeIcenowy> sorear: yes, it's easily replaceable memory ;-)
<MoeIcenowy> I love the connector
<MoeIcenowy> but I don't love to utilize DDR on FPGA
citypw has quit [Ping timeout: 258 seconds]
shabgard has joined #yosys
<corecode> daveshah: ok, i think the last thing is to fill the extra_cells_db
<daveshah> corecode: yeah
<daveshah> for SB_WARMBOOT, create one and trace the routing in icebox_vlog
<daveshah> for the remaining IP, hopefully the script for the UltraPlus is adaptable
<corecode> warmboot i already handled
<corecode> well, i'll skip the i2c and spi for now
<corecode> but hfosc and lfosc is important
<corecode> i guess there is no test fixture for it yet
<corecode> what's the easiest way to figure out where config bits sit?
<corecode> set them and look in the explanation?
<MoeIcenowy> oh my laptop's LCD screen is too small in points to use the DDR2 controller IP from Quartus ;-)
<corecode> daveshah: do i have to modify the standard cell library to access the TRIM input?
<corecode> huh, icecube says "no top-level module"
<corecode> what's that about
<corecode> ah!
<corecode> found it
leviathanch has joined #yosys
<corecode> daveshah: trying to find the extra_cells for the hfosc - how do i know the location of the CLKHF output? i used it for a SB_IO output clock, but vlog says:
<corecode> wire io_19_31_0;
<corecode> // (0, 0, 'glb_netwk_4')
<corecode> // (9, 31, 'io_global/outclk')
<corecode> // (19, 31, 'io_0/PAD')
<corecode> // (19, 31, 'padin_0')
<corecode> is (0, 0) credible there?
<daveshah> yes, it is global network glb_netwk_4
<daveshah> routed through the padin of 19, 31
<corecode> because on the 5k it is (0, 29)
<daveshah> the global networks are really in every tile, so it doesn't matter
<corecode> aha
<daveshah> it's the glb_netwk_4 that's important
<corecode> hm, why doesn't vlog show the HFOSC
<daveshah> it doesn't support them
<corecode> aha :)
<corecode> hm, i thought HFOSC was global network 5 according to docs
<daveshah> wouldn't be the first mistake in Lattice docs
<daveshah> it's glb_netwk_4 on the up5k too
<corecode> is that different from some other global buffer stuff?
<daveshah> no
<daveshah> the only difference is the SB_GB driving a different glb_netwk_i to the SB_GB_IO/padin at the same location
<corecode> now i question my padin_io and padin_glb_netwk
<corecode> so the HFOSC is global network 4, but routed via padin_glb_netwk 5?
<corecode> oO
<daveshah> no
<corecode> or is that output of icebox_explain just what i did
<daveshah> the HFOSC is global network 4 plain and simple
<daveshah> this is entirely padin
<corecode> ok, so i need to switch those two around
<daveshah> which two?
<corecode> HF and LF padin
<daveshah> yeah
<corecode> ok i need to redo my gbufin
<corecode> i had some bogus data on it which confused me
<daveshah> the important thing gbufin is totally unrelated to padin
<daveshah> it's just coincidental that the locations are the same
<corecode> especially if i cannot trust the ice docs
<corecode> which means my explain output is unreliable as well
<daveshah> no, the explain output will always be correct
<daveshah> it doesn't rely on gbufin or padin at all
<corecode> for the extra bits it uses the extra bit info
<corecode> which was wrong for me
<daveshah> ah, right
<daveshah> inside logic, IO tiles, etc the glb_netwk_* will always be correct though
<corecode> ok
<daveshah> they are based on the low level routing bits determined by icefuzz and the glb files
<corecode> ok, i'm looking at gbufin right now
<corecode> i have clk on pin 44
<corecode> which the docs say is G6
<daveshah> The global numbers for the docs are for padin
<daveshah> not gbufin
<corecode> what? how would that be useful
<daveshah> i.e. the global numbers in the docs (if they are correct) will only apply if using SB_GB_IO
<daveshah> SB_GB are driven from fabric rather than an IO pin
<corecode> yes, i thought gbufin is from the outside
<daveshah> no, gbufin is for SB_GBs from fabric
<corecode> god damn, these names are so confusing
<daveshah> padin is for SB_GB_IOs from the IO pins
<corecode> alright, back to padin
<daveshah> beware that connecting to a SB_GB to a pin doesn't guarantee that icecube will place that GB next to the pin (unlike an SB_GB_IO)
<corecode> so i have a sb_gb_io, and explain says it uses glb_netwk_1
<daveshah> yeah
<corecode> but the docs say it is G6
<daveshah> this is inside a logic/io tile and not extra bits?
<corecode> it also sets extra bits
<daveshah> ignore the extra bits for now, just look at the routing in logic/io tiles
<corecode> should i use explain or vlog?
<daveshah> explain
<daveshah> also, extra bitS or just one extra bit?
<corecode> one
<daveshah> good
<daveshah> can you post the explain output?
<corecode> buffer glb_netwk_1 io_global/outclk
<corecode> sure
<tpb> Title: glb_u4k_pin_44.tcl · GitHub (at gist.github.com)
<daveshah> so that is driving glb_netwk_1 for sure (and it looks like your extra bits database is wrong)
<corecode> yes
<daveshah> that is coming from IO (6, 0, 1)?
<daveshah> IO (6, 0, 1) also drives glb_netwk_1 on the up5k
<corecode> where do you get (6, 0, 1) from?
<daveshah> IE_0 in io_tile 6, 0
<daveshah> IE_0 corresponds to pin z 1 because of the swapped ierens
<corecode> aaaaaaa
<corecode> they're swapped on one side?
<daveshah> both sides according to your ieren db
<daveshah> which also matches the ultraplus
<daveshah> this only applies to the IE/REN bits in icebox_explain
<corecode> aha
<daveshah> everywhere else should use the normal, unswapped values
<daveshah> looking at the Lattice docs, I think Lattice themselves were confused between gbufin/padin
<daveshah> The UltraPlus docs and pinout by Lattice give padin numbers for IO, which makes sense
<daveshah> it looks like some of the Ultra docs give gbufin numbers for locations
<corecode> okay, so i corrected the 4 pins i have
AlexDaniel has joined #yosys
danieljabailey has quit [Ping timeout: 250 seconds]
shabgard has quit [Ping timeout: 255 seconds]
rohitksingh has joined #yosys
citypw has joined #yosys
keesj has quit [Ping timeout: 268 seconds]
<corecode> daveshah: i guess for the timing generation i first need yosys to work with the part?
<tpb> Title: iCE40 Ultra = iCE5LP = u4k port by corecode · Pull Request #202 · cliffordwolf/icestorm · GitHub (at github.com)
* sxpert uses alien on diamond's rpm...
jevinskie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<MoeIcenowy> sxpert: sigh
<MoeIcenowy> is Diamond only available in RPM?
<corecode> what else
jevinskie has joined #yosys
<sxpert> MoeIcenowy: yeah
<sxpert> "for redhat enterprise linux blah"
<sxpert> and then you have the stupid licensing stuff which I have yet to figure out
<corecode> i somehow had to create an alias for eth0
<MoeIcenowy> I disabled the NIC renaming to run iCEcube2
<corecode> ah that's what it was
<sxpert> oh, and they can't seem to be bothered to roll all their patches in one single file, you have to install a separate sp3 package... sigh
<sxpert> corecode: does it REQUIRES an eth0 ?
<sxpert> or do you need something else ?
<corecode> that
<corecode> and it might have been icecube
<sxpert> ah, ok, all set then
<sxpert> obviously, you could just popup a virtual eth card with a bogus mac
<somlo> or, even better, "tunctl -t eth0"
<somlo> it'll be there, but do nothing (other than shut up Vivado or Diamond or whatever is looking for it ) :)
<sxpert> heh yeah
<daveshah> corecode: The changes to Yosys will be minimal
<sxpert> ah, they can't seem to be bothered to provide a menuentry file
<daveshah> corecode: just adding blackboxes (i.e. verilog with only ports and parameters) for any new IP to https://github.com/YosysHQ/yosys/blob/master/techlibs/ice40/cells_sim.v
<tpb> Title: yosys/cells_sim.v at master · YosysHQ/yosys · GitHub (at github.com)
<sxpert> bouahahaha "I verify that I am not an employee of Cadence Design Systems, Mentor Graphics Corporation, or Magma Design Automation"
<sxpert> hmm, the service pack .deb is installed, and the stupid thing doesn't see it
<MoeIcenowy> I wonder whether the "adaptive" license process of Lattice can prevent any piracy
<MoeIcenowy> ;-)
<sxpert> wierd, I have both packages installed... where is the SP3 ?
<sxpert> quality software detected ;-)
seldridge has joined #yosys
jevinskie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rohitksingh has quit [Ping timeout: 244 seconds]
rohitksingh has joined #yosys
danieljabailey has joined #yosys
m4ssi has quit [Remote host closed the connection]
<corecode> daveshah: i'd love to get some feedback on the PR: https://github.com/cliffordwolf/icestorm/pull/202
<tpb> Title: iCE40 Ultra = iCE5LP = u4k port by corecode · Pull Request #202 · cliffordwolf/icestorm · GitHub (at github.com)
<daveshah> corecode: sure
dys has joined #yosys
rohitksingh has quit [Ping timeout: 246 seconds]
<corecode> thanks
<corecode> seq_bits = icebox.get_lutff_seq_bits(ic.logic_tiles[(lut[0], lut[1])], lut[2])
<corecode> KeyError: (25, 19)
<corecode> hmwhat
<corecode> where did it get that from
<corecode> yea, where does this ipcon_tile 25 19 come from
<corecode> why can't it find that logic tile? because it is not a logic tile
<corecode> hm.
<MoeIcenowy> maybe someday I should try out a UL port?
<corecode> yea if you have parts
<MoeIcenowy> someone sells UL core board at Taobao for CNY ¥30 (~USD 5)
<MoeIcenowy> although I think it has too few IOs
<corecode> ok
<corecode> well, i have a design that uses the u4k
<corecode> 1k actually
<corecode> how do i know which CBITs are set in a tile?
<corecode> i see bits set in dsp3_tile 0 16
<corecode> but i don't know how B2[7] translates to CBIT_3 or CBIT_4
rohitksingh has joined #yosys
gsi__ is now known as gsi_
<daveshah> corecode: so this would be looked up in the bit database built by icefuzz
<tpb> Title: icestorm/iceboxdb.py at master · cliffordwolf/icestorm · GitHub (at github.com)
<daveshah> istr this bit doesn't exist in the database for dsp3_tile because there was no way to set it in icecube
<daveshah> the ultimate solution is to try and add whatever is setting this bit to make_uip.py and rerunning the fuzzer
<daveshah> then it will end up in the database as CBIT_x properly
<corecode> why is this part of the dsp2 database?
<corecode> does it just happen to sit there?
<daveshah> no, I was using the dsp2 database as an example
<daveshah> atm it exists only in the dsp2 database
<daveshah> it should be in the dsp3 database too, but isn't because there was no way to set it on the ultraplus so icefuzz didn't add it
mms has joined #yosys
show1 has quit [Quit: WeeChat 2.3]
rohitksingh has quit [Remote host closed the connection]
leviathanch has quit [Remote host closed the connection]
<MoeIcenowy> oh my god
<MoeIcenowy> the ddr phy of Altera is not standard DFI
<MoeIcenowy> but AFI (Altera PHY Interface) instead
<MoeIcenowy> terrible.
show1 has joined #yosys
emeb_mac has joined #yosys
emeb_mac has quit [Client Quit]
show1 has quit [Quit: WeeChat 2.4]
show1 has joined #yosys
danieljabailey has quit [Ping timeout: 240 seconds]
seldridge has quit [Quit: WeeChat 1.4]
m4ssi has joined #yosys
emeb has joined #yosys
dys has quit [Ping timeout: 268 seconds]
seldridge has joined #yosys
mms has quit [Ping timeout: 245 seconds]
Forty-Bot has quit [Ping timeout: 250 seconds]
m4ssi has quit [Remote host closed the connection]
tpb has quit [Remote host closed the connection]
tpb has joined #yosys