00:47 | fsteinel | left the channel | |
00:47 | fsteinel_ | joined the channel | |
01:12 | slikdigit | left the channel | |
01:25 | intracube_ | left the channel | |
03:27 | ItsMeLenny | joined the channel | |
04:43 | ItsMeLenny | left the channel | |
06:01 | fsteinel_ | changed nick to: fsteinel
| |
07:04 | Bertl_zZ | changed nick to: Bertl
| |
07:04 | Bertl | morning folks!
| |
07:22 | se6astian|away | changed nick to: se6astian
| |
07:23 | se6astian | good morning
| |
07:27 | intracube | joined the channel | |
07:27 | Bertl | morning se6astian!
| |
07:31 | Francky | joined the channel | |
07:32 | Francky | hi all
| |
07:32 | Francky | i saw that the cnc mill has arrived !
| |
07:32 | Francky | good news
| |
07:32 | Bertl | yup
| |
07:33 | Francky | is the beta camera case already designed ?
| |
07:34 | se6astian | no
| |
08:05 | cbohnens|away | changed nick to: cbohnens
| |
08:11 | Jin|away | changed nick to: Jin^eLD
| |
08:25 | Francky | does the pic32 board still urgent or is there something more urgent I can help for ?
| |
08:29 | Bertl | good question, the pic board is still urgent, but not that urgent I guess
| |
08:30 | Bertl | although, as you want to work on the code side as well, we should probably get the interfaces defined so that you can build one for testing
| |
08:30 | Bertl | but, IIRC, you also wanted to play with the FPGA, right?
| |
08:44 | Francky | yes
| |
08:44 | Bertl | okay, so what development kit do you have ATM?
| |
08:44 | Francky | i've got a microzed 7010 and a JTAG
| |
08:45 | Bertl | okay, a breakout board for the 7010 or similar?
| |
08:50 | Francky | breakout board ?
| |
08:50 | Bertl | something which allows you to connect the FPGA to the outside
| |
08:52 | Francky | no, unless the connectors of the microzed (etherent usb x2)
| |
08:52 | Francky | but if needed i can build a carrier board to use the bottom connector of microzed
| |
08:52 | Bertl | okay, so you might want to get one anyway, there is a simple breakout available for the microzed, or you can use this one:
| |
08:53 | Bertl | https://oshpark.com/shared_projects/n4Um27z8
| |
08:53 | Bertl | I can upload the most recent version as well, sec
| |
08:56 | Bertl | http://vserver.13thfloor.at/Stuff/AXIOM/BETA/microzed_breakout_v0.6.{sch,brd}
| |
08:57 | Bertl | but till you get the boards and build them, you can already start working on something we need
| |
08:59 | Francky | what are the purpose of this board ? i.e. : what are the types of connectors and to what can we connect them ?
| |
08:59 | Francky | i spead about X1 to X12
| |
09:00 | Francky | speak*
| |
09:00 | Bertl | the purpose is to have connections to other boards or high speed "loopback" connections to the same board (for testing)
| |
09:01 | Francky | ok
| |
09:01 | Bertl | I chose to use SATA cables for the typical board to board connection
| |
09:01 | Bertl | those are the X* connectors
| |
09:01 | Francky | ok
| |
09:02 | Francky | perfedt for LVDS signals too ?!
| |
09:02 | Bertl | and SMA for testing or scope connections, those are the X*/Y*
| |
09:02 | Francky | perfect*
| |
09:02 | Francky | yes i recognized them
| |
09:02 | Bertl | yup, all of them should allow for up to 4GHz at least, so the connections should be fine
| |
09:03 | Bertl | the PMOD connectors are the standard for extension modules on xilinx boards
| |
09:03 | Bertl | and they are realized as simple edge-solder-on connections
| |
09:03 | Bertl | so you get a 2x6 female header, stick it on the board and solder it to the contacts
| |
09:04 | Bertl | here is the latest version if you want to order it from OSHpark
| |
09:04 | Bertl | https://oshpark.com/shared_projects/mU6yxxm8
| |
09:04 | Francky | what is the lead time for oshpark ?
| |
09:05 | Bertl | depends on where you are and what you want to pay for shipping
| |
09:05 | Bertl | they usually make the 4layer boards in a week
| |
09:05 | Francky | ok
| |
09:05 | Bertl | if you go for priority shipping, you will get it in two weeks at most
| |
09:05 | Francky | and you add a ft232 to have a RS232-usb bridge
| |
09:06 | Bertl | that one is optional and not really tested (yet)
| |
09:06 | Bertl | it is a debug interface for the microzed, i.e. USB to JTAG
| |
09:06 | Francky | ok
| |
09:07 | Bertl | you can see what is connected where on the schematics
| |
09:07 | Francky | there already is one on the microzed no ?
| |
09:07 | Bertl | the microzed only has a jtag header, no usb interface for it
| |
09:07 | Francky | there is a micro usb connector which is used to debug the arm
| |
09:07 | Bertl | (that's why you got a jtag dongle :)
| |
09:08 | Bertl | the micro USB is for power and console
| |
09:08 | Bertl | (on the microzed)
| |
09:08 | Francky | ok you spoke about usb debuging for pfga side
| |
09:08 | Francky | fpga*
| |
09:09 | Bertl | yep, it is supposed to replace the JTAG dongle
| |
09:09 | Francky | ok
| |
09:09 | Bertl | so not required for you if you got one (dongle)
| |
09:11 | Bertl | so, what do we need you can do on the microzed without any breakout ...
| |
09:12 | Bertl | we plan to do extensive bandwidth testing for the FPGA-FPGA connections and that requires a testing framework
| |
09:12 | Francky | maybe some very small IP that i can implement and simulate ?!
| |
09:13 | Bertl | i.e. a design which sends out data over a high speed serial link (which is looped back) receives and verifies the same data
| |
09:13 | Bertl | I have a few components for this already, like some very nice pseudo random generators to test with
| |
09:14 | Bertl | but there needs to be synchronization as well as training
| |
09:14 | Bertl | (for the LVDS connection)
| |
09:14 | Bertl | and we want to count the error rate at a given frequency/encoding
| |
09:16 | Bertl | so, to start simple: a configureable generator which can send out a pseudo random number stream to one (or several) LVDS pairs
| |
09:16 | Bertl | (note that the bits should be interleaved when using several pairs, so that we can test crosstalk as well)
| |
09:17 | Francky | ok so i will be able to loop back the output lvds to an input lvds with the breakout board
| |
09:17 | Bertl | correct, and for testing, you can simply loop it back inside the FPGA
| |
09:18 | Bertl | (no delay, no training of course)
| |
09:18 | Francky | ok
| |
09:18 | Bertl | well, maybe you are creative and get that working as well
| |
09:18 | Bertl | but you should be able to test it in simulation
| |
09:18 | Francky | don't forget that i'm fpga beginner :)
| |
09:19 | Francky | i wil try to do something, but i have to tell you that i may have some questions...
| |
09:19 | Bertl | yes, it will be a steep path, I'm sure, so do not give up at the beginning
| |
09:19 | intracube | left the channel | |
09:19 | Bertl | let me dig out the PRNG sources
| |
09:26 | Bertl | http://vserver.13thfloor.at/Stuff/AXIOM/BETA/prng/
| |
09:26 | Bertl | here you go, this implements three different PRNG variants
| |
09:28 | Bertl | I found out (by analysis and inspection of the data) that a simple combination (xor) of the two really fast variants (Fibonacci and Galois) give random numbers with similar quality as the complicated mersenne twister
| |
09:28 | Francky | ok so the aim is to use this prng and send the result on one or more lvds pair right ?
| |
09:28 | Bertl | basically yes
| |
09:29 | Bertl | what we need to do is the following:
| |
09:29 | Bertl | make the random sequence seeded (i.e. you can start the PRNG with a seed value)
| |
09:29 | Bertl | this allows to rerun a test with exactly the same sequence
| |
09:30 | Bertl | make the bitwidth for the data configureable (to some degree)
| |
09:30 | Bertl | e.g. powers of two or similar
| |
09:31 | Bertl | this might require several PRNG with different seeds to achieve certain bitrates
| |
09:31 | Bertl | but start with something simple you can also simulate easily
| |
09:31 | Bertl | like for example the seeding of a single PRNG
| |
09:32 | Francky | ok
| |
09:32 | Bertl | I will most likely finalize the PIC32 interface on the weekend or shortly after, so you can mix between FPGA work and board design then
| |
09:34 | Francky | fine !
| |
09:35 | Francky | first i try to understand the "package" of the prng and how to use it
| |
09:36 | Bertl | yes, that is a good start, don't get lost in the mathematics though
| |
09:36 | Francky | the dpram and rng_sr are only for interna use right ?
| |
09:37 | Bertl | correct
| |
09:37 | Francky | i don't look at "how it is working inside" but how i can connect it to outside, and what type of signals i need to put to have a number generation
| |
09:37 | Francky | i will then try to simulate this
| |
09:37 | Bertl | sounds good!
| |
09:40 | Francky | i'm not a completely novice in fpga in fact, i have got some classes when i was at the university, so i know a little bit the fpga coding, but the theory and the reality is different
| |
09:41 | Bertl | of course, and there are the tools as well
| |
09:41 | Francky | so i need to learn how to use the builder, the gui, the simulation tool...
| |
09:41 | Francky | but i'm optimistic
| |
09:41 | Francky | :)
| |
09:42 | Bertl | use whatever you like, but please, at the end, make sure that it builds at the commandline (i.e. without any magic gui files and similar)
| |
09:43 | Bertl | also I would appreciate if you could (somewhat) follow the coding style we have used for the cmv_io/hdmi
| |
09:43 | Francky | yes no problem
| |
10:05 | lab-bot | sebastian committed rBHb836ebd15e57: Merge branch 'master' of https://github.com/apertus-open-source-cinema/beta… (authored by sebastian).
| |
10:05 | lab-bot | daFred committed rBHcaa653f07901: Beta Skeleton (authored by daFred).
| |
10:05 | lab-bot | daFred committed rBH65ec4806084c: Beta Skeleton moved (authored by daFred).
| |
10:05 | lab-bot | sebastian committed rBH0ebaefca4171: added nikon mount 3d print part (authored by sebastian).
| |
10:10 | Francky | Bertl : what is the purpose of signals mode, s_in and s_out ?
| |
10:10 | Francky | i don't see any use of them in simulation
| |
10:12 | Bertl | the prng is part of a larger project and they are connected from the module using the prng
| |
10:12 | Bertl | mode controls shift input vs. shift output
| |
10:13 | Bertl | (to load a seed value)
| |
10:13 | Bertl | and sr_in/out is the serial input/output
| |
10:13 | Francky | ok i precisely search how to put a seed value
| |
10:14 | Bertl | the idea is, when mode=1, then you can shift new bits into the shift register via sr_in
| |
10:14 | Francky | so you put mode to 0, enter a seed value throught s_in, and put mode to 1 to start generation ?
| |
10:14 | Bertl | and the old values come out via sr_out, similar to SPI or JTAG
| |
10:14 | Francky | ok
| |
10:15 | Bertl | in mode '0' the prng operates normally
| |
10:15 | Francky | you have a 32 bit register for seed value right ?
| |
10:15 | Bertl | yes, those are 32bit PRNGs
| |
10:15 | Francky | ok
| |
10:15 | Francky | i continue to explore the simulation...
| |
10:16 | Bertl | if you later chain several of them, you can connect them via sr_in/out
| |
10:16 | Bertl | (to load longer seed values)
| |
10:17 | Francky | ok
| |
10:18 | Francky | changed nick to: Francky|eating
| |
10:19 | Bertl | bon appetit!
| |
10:38 | Francky|eating | merci ;)
| |
11:43 | Francky|eating | changed nick to: Francky
| |
11:43 | Francky | Bertl > I'm playong with the prng
| |
11:43 | Francky | i've creating a package which implement the prng
| |
11:43 | Francky | and send a seed value at the beginning
| |
11:44 | Francky | but when i simulate, the prng send a result whereas mode = 1 and CE = 0
| |
11:44 | Francky | is there something i don't understand right ?
| |
11:44 | Bertl | for simulation you need to create some stimulus
| |
11:44 | Francky | yes i've done
| |
11:44 | Francky | it is working
| |
11:44 | Bertl | okay, show me the code then :)
| |
11:45 | Francky | i had simulated the prng alone and it is working well
| |
11:45 | Francky | don't be afraid :)
| |
11:45 | Francky | how can we open a private chat between us ?
| |
11:46 | Bertl | simply by /msg <nick>
| |
11:54 | Francky | come back here
| |
11:55 | Bertl | back :)
| |
11:56 | Francky | did you saw something very foul in my code ?
| |
11:57 | Bertl | well, it is a start for testing, note that we need to connect the seed, seed upload, etc to something else, so the constant won't do
| |
11:57 | Bertl | for the MicroZed side, we will connect it somehow to the memory space to control it from the PS side
| |
11:57 | Francky | ok
| |
11:58 | Bertl | but I would suggest a more generic interface first
| |
11:58 | Bertl | like for example SPI, which can be easily implemented in the smaller FPGAs and connected to the MicroZed
| |
11:58 | Bertl | we then add an SPI controller which maps the connections to the PS
| |
11:59 | Bertl | but first, make a design what we actually need to control and measure
| |
11:59 | Bertl | (because it will shape the communication)
| |
12:02 | Bertl | basically we will see two types of communication between FPGAs: with and without a clock signal
| |
12:03 | Bertl | with a clock signal, we send a reference clock (lower or clock rate) on a separate LVDS pair
| |
12:03 | Bertl | (when I say LVDS, I generally mean differential signalling, not necessarily LVDS levels)
| |
12:04 | Bertl | without a clock signal, the receiver has to recover the clock from the mixed line
| |
12:04 | Bertl | (usually with a CDR circuitry)
| |
12:05 | Bertl | on DS it is generally a good idea to keep the DC bias somewhere in the middle
| |
12:05 | Bertl | i.e. not to send too many zeroes or ones in a row
| |
12:05 | Bertl | (that's where the encoding, e.g. 8/10, TMDS, etc) comes in
| |
12:06 | Bertl | and we need a way to communicate some limited out of band information
| |
12:06 | Bertl | like when/where the datastream starts, etc
| |
12:10 | Francky | ok so the prng block will be connected to PS through a SPI block (build in the PL) right ?
| |
12:10 | Bertl | for example
| |
12:21 | danieel | left the channel | |
12:22 | Jin^eLD | changed nick to: Jin|away
| |
12:23 | Francky | when we write this code :
| |
12:23 | Francky | prng_inst : entity work.prng32
| |
12:24 | Francky | which architecture of prng32 is used ?
| |
12:24 | Francky | because when i choose an architecture with for example
| |
12:24 | Francky | prng_inst : entity work.prng32(LUT_SR)
| |
12:24 | Francky | it doesn't work well in the simulator
| |
12:25 | Francky | it doesn't work well with the 3 architecture, but when i don't write the architecture, it is working well
| |
12:26 | Francky | oh sorry it seems that there is 4 architecture of pnrg
| |
12:26 | Francky | the MT32 is used by default, and it is the only one which works
| |
12:29 | Bertl | LUT_SR was not updated, but the other two should work fine
| |
12:29 | Bertl | i.e. LFSR_FIB and LFSR_GAL
| |
12:30 | Bertl | and if you specify no architecture, the last one is used by default
| |
12:30 | Francky | MT32 don't take care ok mode signal
| |
12:30 | Francky | of*
| |
12:30 | Bertl | yes, I haven't investigated how to properly seed that one
| |
12:31 | Bertl | feel free to fix/implement it :)
| |
12:31 | Francky | i try to modify the code to explore
| |
12:33 | Francky | there is something i don't understand in the architecture of prng
| |
12:33 | Francky | when mode = 1, it is a shift register in fact
| |
12:34 | Francky | it take the s_in and put in the sr
| |
12:34 | Francky | whith a shift
| |
12:34 | Francky | this make the shift :
| |
12:34 | Francky | sr <= sr(30 downto 0) & s_in;
| |
12:34 | Francky | ?
| |
12:34 | Francky | right ?
| |
12:34 | Bertl | correct
| |
12:35 | Bertl | LFSR stands for Liner Feedback Shift Register
| |
12:35 | Bertl | *Linear
| |
12:36 | Bertl | the mersenne twister is a little more complicated though
| |
12:36 | Bertl | i.e. it has counters and state information, etc
| |
12:37 | Francky | oh no it is ok i undestand whith the simulator
| |
12:38 | Francky | in fact i was wainting for having the seed on the s_out, but it was always to 1... but i forgot that there is the 32 bit shift register between s_in and s_out
| |
12:40 | Bertl | okay, so everything fine now?
| |
12:47 | danieel | joined the channel | |
12:51 | Francky | not the output
| |
12:55 | aombk | μεγειά to cnc
| |
12:56 | aombk | so is it a 3 axis one?
| |
13:00 | intracube | joined the channel | |
13:00 | lab-bot | sebastian closed T313: update sponsors and benefactors website as "Resolved". http://lab.apertus.org/T313
| |
13:03 | aombk | oh its 3 axis but can be upgraded?
| |
13:04 | Bertl | yes, and we have a 4th axis AFAIK
| |
13:04 | aombk | great
| |
13:04 | Bertl | se6astian: do you have the Tormach details somewhere online?
| |
13:05 | Bertl | i.e. what parts/features/accessories we got
| |
13:14 | Francky | Bertl : are each lines of a process are executed at the same time ?
| |
13:16 | Bertl | processes are sequential constructs, but assignments to signals happen at the end of a "run"
| |
13:16 | Francky | in fact with the simulator i see :
| |
13:17 | Francky | - that the sr of prng is great charged with the seed
| |
13:17 | Francky | but at the first clock rising after mode passed to 0, the bit 0 is marked as "U" (like unasigned I mean) ?
| |
13:19 | lab-bot | sebastian created T316: BIP SSL. http://lab.apertus.org/T316
| |
13:20 | Francky | i am using the LFSR_FIB architecture
| |
13:20 | Francky | and the fb signal is always U, unless at 1 time when it is at 1
| |
13:21 | Bertl | that might be an initialization problem, please make a wave diagram with all the involved registers and upload it somewhere
| |
13:21 | Bertl | note that vivado simulator cannot properly simulate variables
| |
13:21 | Bertl | (so make sure to have everything on signals for debugging)
| |
13:23 | se6astian | aombk: we have the 4th axis addon: http://www.tormach.com/store/index.php?app=ecom&ns=catshow&ref=multicat_8_Inch_Tables
| |
13:24 | se6astian | plus the automatic tool changer: http://www.tormach.com/store/index.php?app=ecom&ns=catshow&ref=multicat_pcnc_1100_s3_atc
| |
13:24 | se6astian | plus the small volume injection molder
| |
13:24 | se6astian | http://www.tormach.com/store/index.php?app=ecom&ns=prodshow&ref=32079
| |
13:25 | se6astian | plus pneumatic drawbar, coolant spray kit
| |
13:26 | se6astian | etc.
| |
13:27 | Jin|away | changed nick to: Jin^eLD
| |
13:27 | Francky | with an initialisation of fb to 1, it seems to work better
| |
13:30 | Francky | it is the same for the LFSR_GAL architecture
| |
13:30 | Francky | i initialise the fb to 1
| |
13:30 | Bertl | yeah, fb should be initialized
| |
13:31 | Bertl | that is a bug, please fix it and send me a patch
| |
13:31 | Francky | i've also add that the result is 0 untill mode = 1
| |
13:31 | Bertl | excellent!
| |
13:33 | Francky | but i don't know if it is a good solution i implement
| |
13:34 | Bertl | we'll see
| |
13:34 | Bertl | it's always good to make separate patches/commits per feature
| |
13:34 | cbohnens | changed nick to: cbohnens|away
| |
13:34 | Bertl | so that one can cherry pick what is perfect and what needs some work
| |
13:35 | Francky | yep
| |
13:37 | Francky | is it ok to create a process to manage the output in case of mode value ?
| |
13:38 | Francky | or is it better to use only 1 process ?
| |
13:38 | Bertl | doesn't matter how many you have, it should be readable
| |
13:39 | Bertl | I would probably implement it like this (just to give you an idea):
| |
13:39 | Bertl | after rising_edge(clk), rng <= (others => '0'); as default
| |
13:40 | Bertl | then, in the else case, at the end, rng <= sr;
| |
13:40 | Bertl | note that this will result in a one cycle delay
| |
13:40 | Francky | does the "if rising edge" needed ?
| |
13:40 | Bertl | alternatively, rng <= sr(30 downto 0) & fb;
| |
13:41 | Bertl | well, you need the clock check if you want the change to be synchronous
| |
13:41 | Bertl | you could change it asynchronously, simply by changing the
| |
13:41 | Francky | but i create a process with clk in the list of stimuli so this process will be execute at each change of clk no ?
| |
13:42 | Francky | i write this :
| |
13:42 | Francky | output : process(clk, mode)
| |
13:42 | Francky | begin
| |
13:42 | Francky | if mode = '1' then
| |
13:42 | Francky | rng <= X"00000000";
| |
13:42 | Bertl | rng <= sr; to rng <= sr when mode=1 else (others => '0');
| |
13:42 | Francky | else
| |
13:42 | Francky | rng <= sr;
| |
13:42 | Francky | end if;
| |
13:42 | Francky | end process;
| |
13:42 | Bertl | that is mostly wrong for a few reasons
| |
13:42 | Francky | i should use (others => '0')
| |
13:43 | Francky | it was my initial question : is it bad ? :)
| |
13:43 | Bertl | first, the clk is not used, so why put it on the sensitivity list
| |
13:43 | Bertl | secondly, the process will run continuously, as there is no trigger (no edge)
| |
13:44 | Bertl | so you will get similar behaviour (async) as with the "when" I pasted above
| |
13:44 | Francky | i thought that the process will be called at each change of clk
| |
13:44 | Francky | called one time
| |
13:44 | Bertl | no, a process is executed whenever one of the sensitiviy arguments changes
| |
13:45 | Bertl | so yes, it is executed on clk changes, but they have no effect
| |
13:45 | Bertl | as the toggle of mode is the controlling condition
| |
13:45 | Francky | yes ok clk shouldn't be in the sensitivity list
| |
13:46 | Francky | but in the case, the process will be execute one time at each change of mode right ?
| |
13:46 | Bertl | the disadvantage of such an asynchronous design is that you will get a lot of timing issues from that
| |
13:46 | Bertl | because mode needs to be changed _before_ the rising clock edge to register in the synchronous process
| |
13:47 | Bertl | so the value will change somewhere between the clock cycles
| |
13:48 | pgielda|away | changed nick to: pgielda
| |
13:49 | Bertl | wb pgielda!
| |
13:49 | pgielda | hi
| |
13:49 | pgielda | what a quick reaction
| |
13:53 | se6astian | hey there
| |
13:54 | pgielda | hi
| |
13:59 | Francky | Bertl > https://dl.dropboxusercontent.com/u/782577/prng.patch
| |
13:59 | Francky | tell me if it is ok for you ?
| |
14:04 | aombk | se6astian, its great you have those tools
| |
14:05 | Bertl | Francky: looks good except for the formatting of the (now) long lines
| |
14:05 | se6astian | aombk: yes I am very curious already to see the mill in full action
| |
14:06 | Bertl | and it might be better to introduce an intermediate signal for the twister
| |
14:08 | aombk | i hope i can send some models to be milled in the future to add some variation so the cnc will not get bored from milling beta bodies
| |
14:08 | Francky | for me, a twister is that -> http://fr.wikipedia.org/wiki/Tornade
| |
14:09 | Bertl | now make that with some special prime numbers, and you get the PRNG :)
| |
14:10 | Francky | what did you mean by "formatting of the long line" ? did you mean that the "when" should be place on several lines ?
| |
14:10 | Bertl | http://en.wikipedia.org/wiki/Mersenne_twister
| |
14:10 | Bertl | yes, for readability, we try to end the line around 72 characters
| |
14:11 | Francky | ok
| |
14:11 | rhavan | joined the channel | |
14:12 | rhavan | left the channel | |
14:12 | Francky | but in your coding chart, do you put the when statement on several lines, like the "if" statement ?
| |
14:13 | Bertl | search for a when in the cmv_io/hdmi code, I'm sure there is one or more :)
| |
14:14 | Francky | ok found ;)
| |
14:20 | Jin^eLD | changed nick to: Jin|away
| |
14:21 | Francky | https://dl.dropboxusercontent.com/u/782577/prng.patch
| |
14:21 | Francky | it should be good
| |
14:23 | Bertl | close, but no banana! the when/else needs to get some indent
| |
14:23 | Bertl | i.e. whitespace isn't perfect yet, note that the default is 8 characters per tab
| |
14:25 | Francky | in fact i took the top.vhd of the cmv_hdmi2 and took one "when" for example
| |
14:25 | Francky | but the indent is changing into the file
| |
14:26 | Francky | sometime on 3 line without indentation (like i did)
| |
14:26 | Francky | sometime one 1 line
| |
14:26 | Francky | sometime on 2 lines with indent
| |
14:27 | Bertl | this might be because your editor doesn't handle the TAB=8 correctly
| |
14:27 | Francky | so what is the "right" way ?
| |
14:27 | Bertl | double check that
| |
14:28 | Francky | you can have a look at top.vhd of cmv_hdmi2 project
| |
14:28 | Francky | line 1876 -> 3 lines without indentation
| |
14:28 | Francky | line 1885 -> 1 line
| |
14:28 | Francky | line 1891 -> 2 line with indent
| |
14:29 | Francky | no ?
| |
14:29 | Francky | no 1891 is 3 lines
| |
14:31 | Francky | is it the 72 char limit ?
| |
14:32 | Bertl | no, there is no limit, it is just easier to read
| |
14:32 | Bertl | the 1876 example has 3 lines becuase it is also easier to read
| |
14:33 | Bertl | the basic principle is to make a 4char indentation when you "continue" something
| |
14:33 | Bertl | and to keep the indentation on the same level for equivalent code
| |
14:34 | Bertl | but it is not so strict, it is more to make the code readable
| |
14:34 | Bertl | (and it is easily fixed)
| |
14:36 | Francky | ok
| |
14:37 | Francky | just to take the good practices from the beginning
| |
14:38 | Bertl | it was basically a coding style I established during the alpha software development, so nothing is set in stone and I'm open to a more formal indentation ruleset
| |
14:38 | Bertl | but so far it has proven very useful
| |
14:41 | Francky | is there a problem to use a intermediate signal ?
| |
15:07 | Bertl | depends on how you do it
| |
15:08 | Bertl | it can introduce delays in clocked designs
| |
15:08 | Bertl | (i.e. create a register)
| |
15:08 | Francky | ok
| |
15:08 | Francky | for another thing : why do you use alternatively CMS and throught hole sata connectors on the microzed breakout board ?
| |
15:09 | Francky | surface mount*
| |
15:10 | Bertl | hehe, that is a good question :)
| |
15:10 | intracube | left the channel | |
15:10 | Bertl | I did this because not everybody has a way to reflow the board
| |
15:10 | se6astian | changed nick to: se6astian|away
| |
15:10 | Bertl | so those folks who are not able to easily solder on the SMT version, can work with the THT ones
| |
15:10 | Francky | but why don't use only throught hole connectors ?
| |
15:11 | Bertl | because the SMT version is way faster for those who have a way to reflow :)
| |
15:11 | Bertl | but yeah, I could have gone either way, the mix was probably because I couldn't decide for one :)
| |
15:12 | Francky | nothing is left to chance with you :)
| |
15:13 | Bertl | sometimes I tend to overthink things, so it's not always a blessing ...
| |
15:16 | Francky | molex sata connectors will be good for the board ?
| |
15:16 | Bertl | yes, they should be, let me check what models I got
| |
15:18 | intracube | joined the channel | |
15:23 | Bertl | the 67800 series should be fine, but please double check with the footprint, I've used some existing connectors here
| |
15:25 | Bertl | so that would be: 67800-5022 and 67800-8115
| |
15:32 | Francky | this is the references you use right ?
| |
15:41 | Bertl | those are the molex part numbers which I consider appropriate
| |
15:42 | Bertl | but I just checked, I used connectors of unknown origin here, which worked fine, so no guarantee that they are those types
| |
15:44 | Francky | ok i will check thank you
| |
15:47 | Francky | i will order all i need at the beginning of next week :)
| |
15:49 | pgielda | changed nick to: pgielda|away
| |
15:53 | Francky | bye
| |
16:00 | Francky | left the channel | |
17:08 | Francky|busy | joined the channel | |
17:08 | Francky|busy | Hey Bertl
| |
17:08 | Bertl | hey
| |
17:09 | Francky|busy | I thought about the breakout board for microzed
| |
17:10 | Francky|busy | Did you choose the lvds pairs connected to the sata connector to be able to connect a `sata sensor board`
| |
17:10 | Francky|busy | Which could be a board similar to the breakout one
| |
17:10 | Francky|busy | With a sensor on one side and sata connector on the other side
| |
17:10 | Bertl | yes, there are always LVDS pairs on each connector and they have a consistant scheme
| |
17:11 | Francky|busy | It could be a rich idea to build a `cheap` dev board to play with the sensor no?
| |
17:12 | Bertl | well, we have the beta boards, which basically is that connection
| |
17:12 | Bertl | the dummy interface and the current test Beta will allow to connect 32 of the 64 LVDS channels
| |
17:12 | Francky|busy | But the beta board need also the power board and the interface board no?
| |
17:13 | Bertl | yes and no, you can get away without the power board
| |
17:13 | Bertl | (you still need external power)
| |
17:13 | Bertl | and the interface board is available as dummy
| |
17:13 | Bertl | i.e. just a connection for those 32 LVDS channels
| |
17:13 | Bertl | basically replaces 16 SATA cables :)
| |
17:14 | Bertl | or 18 to be precise :)
| |
17:16 | Francky|busy | Why don't you let the possibility to connect directly the microzed to the interface board?
| |
17:17 | Bertl | that was what we planned with the original Beta, but it has some major drawbacks compared to the current design
| |
17:17 | Bertl | but you can still do that if you like
| |
17:17 | Francky|busy | left the channel | |
17:17 | Francky|busy1 | joined the channel | |
17:18 | Francky|busy1 | Ok
| |
17:18 | Francky|busy1 | left the channel | |
17:18 | Francky|busy1 | joined the channel | |
17:19 | Francky|busy1 | That was my evening thought…
| |
17:19 | Francky|busy1 | Thanks for answers
| |
17:19 | Francky|busy1 | I need to go
| |
17:19 | Bertl | you're welcome!
| |
17:19 | Francky|busy1 | Bye
| |
17:19 | Bertl | cya
| |
17:19 | Francky|busy1 | left the channel | |
17:49 | lab-bot | BAndiT1983 created T317: Define core. http://lab.apertus.org/T317
| |
18:10 | slikdigit | joined the channel | |
18:10 | slikdigit | left the channel | |
18:10 | slikdigit | joined the channel | |
18:13 | jucar | joined the channel | |
18:55 | intracube | left the channel | |
18:58 | intracube | joined the channel | |
19:21 | lab-bot | BAndiT1983 created T318: Evaluate logging frameworks. http://lab.apertus.org/T318
| |
19:22 | fadro | joined the channel | |
19:23 | fadro | good evening!
| |
19:25 | fadro | well i found some time to go on with the Beta's diagrams
| |
19:26 | fadro | you'll find the repository here: https://www.dropbox.com/s/lz5qejsft1sqmhp/diagrams.tar?dl=0
| |
19:34 | fadro | bye
| |
19:34 | fadro | left the channel | |
19:39 | Bertl | that was quick :)
| |
19:51 | lab-bot | BAndiT1983 created T319: Create unified theme. http://lab.apertus.org/T319
| |
20:09 | intracube_ | joined the channel | |
20:10 | intracube | left the channel | |
20:12 | intracube_ | changed nick to: intracube
| |
20:21 | Bertl | off for a nap ... bbl
| |
20:21 | Bertl | changed nick to: Bertl_zZ
| |
21:10 | intracube_ | joined the channel | |
21:10 | intracube | left the channel | |
21:54 | jucar | left the channel |