lekernel changed the topic of #milkymist to: Milkymist One, Migen, Milkymist SoC & Flickernoise :: Logs: http://en.qi-hardware.com/mmlogs
gbraad has joined #milkymist
gbraad has quit [Ping timeout: 245 seconds]
jimmythehorn has quit [Quit: jimmythehorn]
xiangfu has joined #milkymist
xiangfu has quit [Ping timeout: 260 seconds]
jimmythehorn has joined #milkymist
xiangfu has joined #milkymist
jimmythehorn has quit [Quit: jimmythehorn]
antgreen has quit [Ping timeout: 245 seconds]
mumptai has joined #milkymist
antgreen has joined #milkymist
Martoni has joined #milkymist
Martoni has quit [Client Quit]
Martoni has joined #milkymist
xiangfu has quit [Ping timeout: 246 seconds]
xiangfu has joined #milkymist
xiangfu has quit [Ping timeout: 255 seconds]
xiangfu has joined #milkymist
Gurty has joined #milkymist
lekernel has joined #milkymist
mumptai has quit [Ping timeout: 255 seconds]
antgreen has quit [Ping timeout: 252 seconds]
_florent_ has joined #milkymist
xiangfu has quit [Remote host closed the connection]
xiangfu has joined #milkymist
<_florent_> Hi!
<_florent_> I have some questions / suggestions about Migen
<_florent_> for some modules, I want to be able to pass all in/out signals directly in parameters
<_florent_> but I also want to be able to use those modules with only some of the parameters
<_florent_> and that the others use their default values. (ie reset values)
<_florent_> for example on this code: http://pastebin.com/Dk1vBmUi
<_florent_> I'm using an ifthenelse function to declare the signal if it is not passed on parameters
<_florent_> but I don't find it very elegant...
<_florent_> lekernel: do you have suggestions to improve that? I was thinking of adding an optionnal parameter to Signal class:
<_florent_> self.c = ifthenelse(c, c, Signal())
<_florent_> can become:
<_florent_> self.c = Signal(from=c) (from is maybe not appropriated).
<_florent_> if from is not None: self.c = from
<_florent_> if from is None we created a new signal.
<_florent_> but I'm not sure you'll find that more elegant ;)
<lekernel> how about always declaring signals in the module, eg self.c = Signal()
<lekernel> instead of passing them as parameters
<lekernel> then you use object_instance.c in other statements?
<_florent_> because for some case it is interesting to directly pass in in parameter
<_florent_> for example for the oddr:
<_florent_> I only need this line
<_florent_> self.submodules.oddr = oddr.ODDR(c=self.clk, d1=1, d2=0, q=self.hdmi_clk)
<_florent_> if not passed in parameter I will need to affect each signal manually
<lekernel> you can do
<lekernel> if c is None: c = Signal()
<lekernel> self.c = c
<lekernel> or - how about using Instance("ODDR", ...) directly? feels a bit weird to have a ODDR module with just a ODDR instance
<_florent_> just because I have created some xilinx primitive module
<lekernel> I'd rather use the Instance directly every time...
<lekernel> keep it simple
<_florent_> hmm... yes but no :)
<_florent_> this is simple for the oddr
<_florent_> but for the plle2_base for example
<_florent_> it's easier to have a class than to use the Instance each time
<_florent_> in this module:
<_florent_> the plle2_base is done in 8 lines
<lekernel> how about using a function, instead?
<lekernel> self.specials += plle2_base(...)
<lekernel> and plle2_base returns Instance
<lekernel> then we can handle None in the Instance IOs
<lekernel> eg treat it as 0 for inputs and disconnected for outputs
<_florent_> yes why not, it will be almost the same since in the module I'm only instanciating the verilog
<lekernel> if you want to pass a different default you can use eg Instance.Input("port", value or 2)
<_florent_> yes, can be interesting
<lekernel> I'd like to keep the Modules with IO signals as members...
<_florent_> In fact I was having an issue with my code:
<_florent_> when I was using self.submodules.oddr = oddr.ODDR(c=self.clk, d1=1, d2=0, q=self.hdmi_clk)
<_florent_> I want that ce, s and r use their default values which is not the case.
<_florent_> In verilog.py in the printinit function, the instances input are not initialized
<_florent_> but it's maybe something that would be solved with what you suggested
<lekernel> ah, that's a bug
<lekernel> but I'm actually refactoring that code right now, and that problem should be solved
<lekernel> and yes the function option would resolve this as well
xiangfu has quit [Ping timeout: 252 seconds]
<_florent_> ok so I will try to change my module to functions
<lekernel> the original bug that refactoring was supposed to solve is you cannot use Array() in Instance expressions
<_florent_> ok
<lekernel> so you doing the HDMI out?
<_florent_> thanks for the advices
<_florent_> i'm trying to use the ADV7511 on the KC705
<lekernel> maybe you should put all the functions in a single Python module, so you don't have too many imports and files
<_florent_> but it's not working for the moment
<lekernel> ah
<_florent_> I have to do simulation
<lekernel> I wonder why they added that chip
<lekernel> kintex 7 io can do TMDS, no?
<lekernel> maybe for 225MHz (2250Gbps data rate, iirc k7 can only do 1800)? I wonder why FPGA vendors only seem to be able to make only slow IOs, even in 28nm devices :(
<_florent_> I don't know about TDMS on kintex7
<lekernel> s/Gbps/Mbps
<_florent_> yes I remember that for the DDR the IOs were limited to 1800 or 1600
<_florent_> for the moment I'm trying to figure how to configure the ADV7511... don't seems to be easy
<_florent_> but that's a spare time project so I'm not going very fast...
<lekernel> how about hooking up a HDMI cable to the IO expansion header and driving TMDS directly?
<_florent_> ah ok
<lekernel> I'm doing a HDMI receiver... there won't be much, if anything, in common
<_florent_> I'm waiting for your HDMI extension to work and after that why not ;) !
<lekernel> DVI signaling is a mere 8b10b encoding of the VGA samples
<lekernel> this way you don't depend on some proprietary chip
<_florent_> I was thinking i was doing both
<_florent_> after the ADV7511 configuration I will need a ddr controller...
<_florent_> but it will be another story
<lekernel> you can try it with a generated pattern first
<_florent_> yes that what I'm planning to do
<lekernel> my first vga-out was on a cyclone 2 with no sdram and not even a dac :) just used a few resistors
<_florent_> the same for me on a altera de1
<_florent_> I have to return to work..
<_florent_> thanks for the advices
<_florent_> I will try to use function instead of Module
<_florent_> bye
<lekernel> bye!
xiangfu has joined #milkymist
xiangfu has quit [Ping timeout: 260 seconds]
xiangfu has joined #milkymist
_florent_ has quit [Quit: Page closed]
_florent_ has joined #milkymist
stekern has quit [Ping timeout: 245 seconds]
xiangfu has quit [Ping timeout: 252 seconds]
xiangfu has joined #milkymist
xiangfu has quit [Ping timeout: 264 seconds]
xiangfu has joined #milkymist
stekern has joined #milkymist
xiangfu has quit [Ping timeout: 256 seconds]
xiangfu has joined #milkymist
xiangfu has quit [Ping timeout: 245 seconds]
xiangfu has joined #milkymist
antgreen has joined #milkymist
<larsc> lekernel: the chip was added so we can sell it of course ;)
<lekernel> yeah I picked that up...
<larsc> but the same is on all the xilinx boards
<lekernel> same for the tmds chip on the atlys I guess
<lekernel> but from TI this time
<larsc> they used TI before but switched to AD for all the newer boards
<lekernel> at least it has a purpose on the kc705: compensate a bit for the super-slow FPGA IOBs
<lekernel> on the atlys it's completely useless afaict
<lekernel> it provides some electrical protection for the FPGA, but you could do the same with TVS diodes
<larsc> got a sick-note for the next two weeks, so lots of time for migen hacking ;)
<Fallenou> :)
<lekernel> hahaha
<lekernel> btw it would be great to get migen presented at http://www.ohwr.org/projects/ohr-meta/wiki/OHW2013 - I'm very far from SF at that date (30+ hrs air travel) :/
<lekernel> I can contribute to the travel costs if that helps...
<Fallenou> if they pay for the ride it can help to make up someone's mind :)
<lekernel> not yet
<Fallenou> have you asked Florent K. ?
gbraad has joined #milkymist
gbraad has joined #milkymist
gbraad has quit [Changing host]
<GitHub117> [migen] sbourdeauducq pushed 2 new commits to master: http://git.io/xP7vPA
<GitHub117> migen/master dc55289 Sebastien Bourdeauducq: fhdl/tools/_ArrayLowerer: complete support for arrays as targets
<GitHub117> migen/master e95d2f4 Sebastien Bourdeauducq: fhdl/tools/value_bits_sign: support not
antgreen has quit [Ping timeout: 258 seconds]
gbraad has quit [Ping timeout: 256 seconds]
xiangfu has quit [Ping timeout: 240 seconds]
xiangfu has joined #milkymist
xiangfu has quit [Ping timeout: 245 seconds]
xiangfu has joined #milkymist
xiangfu has quit [Ping timeout: 256 seconds]
xiangfu has joined #milkymist
jimmythehorn has joined #milkymist
xiangfu has quit [Remote host closed the connection]
mumptai has joined #milkymist
<GitHub50> [milkymist-ng] sbourdeauducq pushed 5 new commits to master: http://git.io/Npb_1A
<GitHub50> milkymist-ng/master 621526f Sebastien Bourdeauducq: dvisampler/datacapture: fix tap counter reg
<GitHub50> milkymist-ng/master 74cc045 Sebastien Bourdeauducq: dvisampler/datacapture: connect IODELAY IOCLK0
<GitHub50> milkymist-ng/master 3a0cf27 Sebastien Bourdeauducq: dvisampler: fixes
<GitHub122> [mibuild] sbourdeauducq pushed 1 new commit to master: http://git.io/0Lkxhw
<GitHub140> migen/master 17f2b17 Sebastien Bourdeauducq: fhdl/verilog: optionally disable clock domain creation
<GitHub122> mibuild/master 797411c Sebastien Bourdeauducq: generic_platform: do not create clock domains during Verilog conversion
<GitHub140> migen/master 7a06e94 Sebastien Bourdeauducq: Lowering of Special expressions + support ClockSignal/ResetSignal
<GitHub140> migen/master af4eb02 Sebastien Bourdeauducq: examples/basic/arrays: demonstrate lowering of Array in Instance expression
<GitHub140> [migen] sbourdeauducq pushed 3 new commits to master: http://git.io/GpZiPg
<GitHub168> [milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/KIitRQ
<GitHub168> milkymist-ng/master 5126f61 Sebastien Bourdeauducq: dvisampler: use pix5x as IODELAY clock
_whitelogger has joined #milkymist
antgreen has joined #milkymist
_florent_ has quit [Ping timeout: 245 seconds]
<GitHub166> [milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/MB6nUQ
<GitHub166> milkymist-ng/master 28cb970 Sebastien Bourdeauducq: dvisampler/clocking: proper pix5x reset synchronization
kyak has quit []
lekernel has quit [Quit: Leaving]
antgreen has quit [Quit: Leaving]
antgreen has joined #milkymist
sh4rm4 has quit [Remote host closed the connection]
sh4rm4 has joined #milkymist
mumptai has quit [Read error: Operation timed out]
hypermodern_ has joined #milkymist
hypermodern_ has left #milkymist [#milkymist]