| 05:16 | BAndiT1983|away | changed nick to: BAndiT1983
|
| 05:45 | Bertl_oO | off to bed now ... have a good one everyone!
|
| 05:45 | Bertl_oO | changed nick to: Bertl_zZ
|
| 06:09 | BAndiT1983 | changed nick to: BAndiT1983|away
|
| 06:30 | illwieckz_ | joined the channel |
| 06:34 | illwieckz | left the channel |
| 06:36 | siddhantsahu | left the channel |
| 06:37 | siddhantsahu | joined the channel |
| 07:29 | se6astian|away | changed nick to: se6astian
|
| 08:21 | Nira|away | changed nick to: Nira
|
| 08:38 | Nira | changed nick to: Nira|away
|
| 08:54 | se6astian | changed nick to: se6astian|away
|
| 09:13 | futarisIRCcloud | left the channel |
| 09:34 | se6astian|away | changed nick to: se6astian
|
| 11:14 | nnead | joined the channel |
| 11:15 | nnead | left the channel |
| 12:02 | aombk | joined the channel |
| 12:55 | Bertl_zZ | changed nick to: Bertl
|
| 12:55 | Bertl | morning folks!
|
| 13:30 | illwieckz_ | left the channel |
| 13:37 | futarisIRCcloud | joined the channel |
| 13:42 | illwieckz_ | joined the channel |
| 14:27 | Y_G | joined the channel |
| 14:28 | Y_G | Hi Bertl,
|
| 14:28 | Y_G | about this "ZED_5V 4.7656 V [1e80] +8.8672 mV [0e3] +443.36 mA"
|
| 14:28 | Y_G | you said yesterday "[0e3] is the value read from another register" ,which register is this ?
|
| 14:35 | intrac | left the channel |
| 14:44 | Bertl | http://ww1.microchip.com/downloads/en/DeviceDoc/20005386B.pdf
|
| 14:45 | Bertl | this is the chip we are currently using for the power measurements
|
| 14:45 | comradekingu | joined the channel |
| 14:45 | Bertl | there are six of those on the power board I2C bus
|
| 14:47 | Bertl | on addresses 0x48-0x4d and five more on addresses 0x29-0x2d
|
| 14:48 | Bertl | the registers of each pac1720 are described in section 6.0 of the datasheet (page 23)
|
| 14:49 | Bertl | some of those need to be written to, but most are read ony
|
| 14:53 | Y_G | Got it ,Thanks
|
| 14:54 | Y_G | According to the usage you specified yesterday. I think it would be better to have commands like:
|
| 14:54 | Y_G | `get pac1720_info` --> returns the result of all pac1720 sensors (this would help in getting info about all sensors at once)
|
| 14:54 | Y_G | `get ZED_5v_info` ,`get HDN_info` ,`get HDS_info` .. and similar for individual sensor info.
|
| 14:55 | Y_G | and `get totalPowerConsumption` --> for total power consumption.
|
| 14:58 | Bertl | that's fine with me, as long as there is some way to do low level settings as well
|
| 14:59 | Y_G | low level settings as in ?
|
| 14:59 | Bertl | i.e. for somebody working with the pac1720 (e.g. for doing specific power measurements) there needs to be some direct register access to the I2C register map
|
| 15:00 | Bertl | otherwise you can't set the resolution or sampling time, etc
|
| 15:02 | Y_G | You want these control in daemon ?
|
| 15:03 | Bertl | well, you don't want to have to disable the entire daemon just to do some power measurements do you?
|
| 15:03 | Bertl | the main purpose of the daemon is to have a central place for coordinated access to registers
|
| 15:04 | Bertl | from my point of view it would be sufficient to allow register access to those I2C devices (as the scripts already process the data)
|
| 15:05 | Bertl | but if the daemon has some mechanisms to interpret this data, that is fine as well, as long as it doesn't interfere with low level access
|
| 15:06 | Y_G | direct register access to has been added to it , you can set and get values to/from given the i2cbus,chipAddress,and Data address
|
| 15:07 | Y_G | If that's what you mean
|
| 15:09 | Bertl | great, if that work then it's fine
|
| 15:10 | Bertl | in the future, it might be useful to 'claim' exclusive access to a chip to make sure that nobody else is messing with it
|
| 15:12 | Y_G | Will add it to-do list .
|
| 15:12 | Y_G | Thanks for the help :)
|
| 15:21 | Bertl | no problem!
|
| 15:22 | Bertl | btw, last time, se6astian just didn't receive your request because of technical problems
|
| 15:22 | Bertl | so if you are still interested in a chat session, feel free to raise the issue again :)
|
| 15:27 | se6astian | we had a brief chat already yesterday
|
| 15:27 | se6astian | unless new topics have arrisen :)
|
| 15:27 | se6astian | have to leave in about 30 minutes though
|
| 15:30 | Y_G | Not at the moment ,if required will ping here
|
| 15:35 | se6astian | great
|
| 15:42 | Y_G | left the channel |
| 16:03 | se6astian | changed nick to: se6astian|away
|
| 16:07 | futarisIRCcloud | left the channel |
| 16:39 | siddhantsahu | left the channel |
| 16:39 | siddhantsahu | joined the channel |
| 16:53 | se6astian|away | changed nick to: se6astian
|
| 16:53 | se6astian | left the channel |
| 18:02 | aSobhy | evening Bertl
|
| 18:02 | aSobhy | Can I have 5 mins just I'm finishing the last two slides :)
|
| 18:05 | illwieckz_ | left the channel |
| 18:20 | niemand | joined the channel |
| 18:20 | niemand | left the channel |
| 18:20 | niemand | joined the channel |
| 18:22 | aSobhy | I'm ready :)
|
| 19:05 | Bertl | soory, had a network outage
|
| 19:05 | Bertl | please go ahead
|
| 19:11 | aSobhy | no problem :)
|
| 19:12 | aSobhy | here is the slides I made
|
| 19:12 | aSobhy | https://docs.google.com/presentation/d/1UQXrzMXU7jXEt_B0NVB3Nae7i9QpafJVaCH6rUjxSA8/edit?usp=sharing
|
| 19:14 | Bertl | okay, let's hear then ...
|
| 19:15 | aSobhy | Hi every one today I'll talk about JTAG
|
| 19:18 | aSobhy | JTAG is a protocol that is used for verifying designs ,
|
| 19:18 | aSobhy | testing printed circuit boards after manufacture and program devices in-circuit
|
| 19:18 | aSobhy | slide 2
|
| 19:18 | se6astian | joined the channel |
| 19:19 | aSobhy | JTAG devices can be set with 2 ways
|
| 19:19 | aSobhy | 1- Daisy-chained
|
| 19:19 | aSobhy | slide 3
|
| 19:20 | aSobhy | as we can see it has a four signals that are :
|
| 19:22 | aSobhy | TCK is the shared clock between all devices (Input)
|
| 19:22 | aSobhy | TMS is the controll of the TAP (Input)
|
| 19:22 | aSobhy | TDI is the data input to our module (Input)
|
| 19:22 | aSobhy | TDO is the output of our modules (output)
|
| 19:23 | se6astian | changed nick to: se6astian|away
|
| 19:23 | aSobhy | as we can see that every device the TDO is the TDI input of Device2
|
| 19:24 | aSobhy | so its called a Daisy-chained
|
| 19:24 | Bertl | what is daisy-chaining?
|
| 19:26 | aSobhy | all the devices are in chain !
|
| 19:27 | aSobhy | they form a ring
|
| 19:28 | aSobhy | continue ?
|
| 19:29 | Bertl | yup
|
| 19:29 | apurvanandan | joined the channel |
| 19:29 | aSobhy | at every clock cycle of TCK : the TMS and TDI are shifted in
|
| 19:29 | aSobhy | and the TDO is shifted out
|
| 19:30 | aSobhy | their is an optional signal "TRST" that is for reset
|
| 19:32 | aSobhy | its an optional because we can achieve resetting our device without using it as we will see
|
| 19:32 | Bertl | k
|
| 19:32 | aSobhy | slide4
|
| 19:33 | aSobhy | Reduced pin count here we are using 2 pins
|
| 19:33 | aSobhy | the connection of devices is a star connections
|
| 19:33 | Bertl | this is actually a different standard we do not use
|
| 19:34 | Bertl | 1149.7 vs 1149.1
|
| 19:34 | aSobhy | skip ?
|
| 19:34 | Bertl | yeah
|
| 19:34 | aSobhy | ok
|
| 19:35 | aSobhy | slide 6 is swaping with slide 5 so
|
| 19:35 | aSobhy | slide 6
|
| 19:35 | aSobhy | here is our architecture of the JTAG
|
| 19:38 | aSobhy | as an overview
|
| 19:38 | aSobhy | TAP : select from the (Instruction Register)IR or (Data Register)DR
|
| 19:38 | aSobhy | Instruction Register : holds which DR to operate next time
|
| 19:38 | aSobhy | we will dive in each one
|
| 19:38 | aSobhy | slide 5
|
| 19:39 | aSobhy | the Test Access Port(TAP)
|
| 19:40 | aSobhy | every device or module using JTAG must have a TAP which is a state machine controlled by the TMS and TCK
|
| 19:41 | aSobhy | for illustration slide 7
|
| 19:41 | aSobhy | here is the state machine we can describe it as 16 state
|
| 19:42 | aSobhy | with a 6 stable state that we can stay in it more than one cycle
|
| 19:43 | aSobhy | those who have a loop on them most of them looping on 0 value except for Test-logic-Reset
|
| 19:44 | aSobhy | the value on arches is the value of TMS
|
| 19:44 | Bertl | okay
|
| 19:45 | Bertl | so what can we do with this state machine?
|
| 19:45 | aSobhy | the rest of the states are changed by the TCK (every cycle )
|
| 19:46 | aSobhy | we have 2 ways we can access the IR or the DR
|
| 19:46 | aSobhy | forget about the last line its not in its place
|
| 19:48 | Bertl | so let's say we want to write something into the IR, how would we go about that?
|
| 19:48 | aSobhy | I mentioned that we can replace TRST with another method
|
| 19:49 | aSobhy | so if we sent 5 1s at most we would be in the rest state
|
| 19:50 | aSobhy | ok lets see IR how we can write something in it
|
| 19:52 | aSobhy | in the test-logic-rest i can send TMS in that order 01100 I reached the shift-IR
|
| 19:53 | aSobhy | at this state at ecery cycle of TCK the input TDI will shift in the IR and the LSB will shift out as TDO
|
| 19:54 | aSobhy | the number of cycles I'll loop depends on the size of the IR
|
| 19:54 | apurvanandan | left the channel |
| 19:55 | aSobhy | if it is of length 4 bits so i'll loop 4 times ie shifting 4 bits into the IR so I change its value
|
| 19:55 | aSobhy | ok ?
|
| 19:56 | Bertl | ok
|
| 19:57 | aSobhy | lets see the DR
|
| 19:57 | Bertl | how can you reach the test logic reset state?
|
| 19:57 | aSobhy | by 5 consecutive '1'
|
| 19:58 | Bertl | hmm, when on Capture DR for example
|
| 19:58 | aSobhy | thats is the worst case when I'll be in either Capture-DR or Capture-IR
|
| 19:58 | Bertl | the the first 1 brings me to Exit-DR, the next to Updat-DR
|
| 19:59 | Bertl | so is it always 5 steps?
|
| 20:00 | aSobhy | I think yes
|
| 20:00 | Bertl | yes, it is essential that you can reach a 'known' state
|
| 20:01 | Bertl | because you cannot check the state of the state machine
|
| 20:01 | aSobhy | yeah its a blind reset
|
| 20:01 | Bertl | so sending enough '1's through TMS will ensure that you reach the Reset
|
| 20:01 | Bertl | from there on, if you remember the steps, you know the state in each TAP controller on the chain
|
| 20:02 | Bertl | so IIRC, last time we had the question: how do you know how many devices are in the chain?
|
| 20:04 | aSobhy | thats will be the usage of the BYPASS instruction will come soon
|
| 20:04 | Bertl | okay, fair enough ...
|
| 20:05 | Bertl | please continue :)
|
| 20:06 | aSobhy | I forgot to mention that all the taps in the devices are all in the same state every time
|
| 20:06 | aSobhy | and we can use the lower device clk rate of the lowest device
|
| 20:06 | aSobhy | OK
|
| 20:07 | aSobhy | lets see what is the use of IR
|
| 20:08 | aSobhy | the IR value will be the selection of the desired DR
|
| 20:09 | aSobhy | and based on the length of that DR we will shift bits equal to its length
|
| 20:09 | aSobhy | for example the ID register
|
| 20:10 | aSobhy | ID is of length 32 bits so we at the Shift-DR state we will shift 32-bits in using TDI
|
| 20:11 | aSobhy | ok what are the types of IR instructions
|
| 20:11 | aSobhy | slide 12
|
| 20:11 | Bertl | what's the purpose of shifting in 32bit via TDI when we have the ID register selected?
|
| 20:12 | aSobhy | ah sorry i forgot its the ID sorry
|
| 20:12 | aSobhy | I didn't write on it
|
| 20:13 | aSobhy | but if their is a register that is writable I'll shift the value of the TDI in that register
|
| 20:14 | Bertl | maybe let's look at the bypass instruction/register first
|
| 20:14 | aSobhy | returning back to the PYPASS instruction
|
| 20:16 | aSobhy | as in slide 11
|
| 20:16 | aSobhy | it provide a direct pass between the TDI and TDO
|
| 20:17 | aSobhy | which has a register of 1 bit that shifts the TDI in and out that value to the TDO
|
| 20:17 | aSobhy | thats make a register of the number of devices that connected in the chain
|
| 20:18 | Bertl | okay, so this can be used to discover how many devices there are
|
| 20:18 | aSobhy | we can check the number of devices by sending number of zeros and follod by ones
|
| 20:18 | aSobhy | followed*
|
| 20:18 | Bertl | does it have any other purpose?
|
| 20:19 | aSobhy | when the master(host) receives the one again he will count the number of devices connected
|
| 20:20 | aSobhy | I think its the idle state at the reset
|
| 20:21 | Bertl | well, it can also be used to 'bypass' a device
|
| 20:21 | Bertl | if you want to send data to a specific device, you have to send it through the chain
|
| 20:21 | apurvanandan | joined the channel |
| 20:22 | aSobhy | mmmm but all the taps will be at the BYPASS ?!
|
| 20:22 | Bertl | and usually you do not want the other devices to do strange things
|
| 20:22 | Bertl | there is no 'bypass' tap state, you first enter the Shift-IR state
|
| 20:23 | Bertl | then you shift in the 'instructions' for all devices (in a long string)
|
| 20:23 | aSobhy | ah ah sorry
|
| 20:23 | Bertl | if your instructions are properly arranged, all but one device goes to bypass
|
| 20:23 | aSobhy | the IR that have BYPASS value will act as a /bypass
|
| 20:23 | aSobhy | sorry
|
| 20:24 | Bertl | discovering then length of the instruction register is another thing you need/want to do first
|
| 20:24 | Bertl | which is usually done via the IDCODEs but as they are optional, sometimes you need additional information
|
| 20:24 | Bertl | anyway, that wasn't so bad
|
| 20:25 | Bertl | and I hope you now have a rough idea what JTAG requires for the FPGA to FPGA protocoll
|
| 20:27 | aSobhy | yeah but I have a question as I'll write the JTAG protocol
|
| 20:28 | aSobhy | how to specify the length of IR
|
| 20:29 | aSobhy | i found some arch are used 4 bit IR and another is 7bits
|
| 20:29 | aSobhy | what is the standard ?
|
| 20:29 | aSobhy | IEEE 1149.7 ?
|
| 20:34 | Y_G | joined the channel |
| 20:35 | Bertl | 1149.7 is the reduced pin count JTAG
|
| 20:35 | Bertl | 1149.1 is the 'normal' JTAG
|
| 20:35 | Bertl | the IR length can be any number and has nothing to do with that
|
| 20:35 | se6astian|away | changed nick to: se6astian
|
| 20:36 | Bertl | you can figure out the IR length from the BSDL
|
| 20:36 | Bertl | or you can 'guess' it with some tricks via testing
|
| 20:38 | Bertl | s/testing/probing/
|
| 20:39 | Bertl | so, for the protocol, the length of the IR register(s) needs to be variable
|
| 20:52 | aSobhy | okay I'll have alook at BSDL :)
|
| 20:56 | apurvanandan | So is it all for today's meeting?
|
| 20:59 | Bertl | any other progress/questions/issues?
|
| 20:59 | futarisIRCcloud | joined the channel |
| 21:00 | Bertl | the focus for next week should be to get a solid state (code, documentation, etc) so that we have something for the first evaluation
|
| 21:01 | Bertl | (where next week means for the next 6 days :)
|
| 21:02 | apurvanandan | Is blogging required?
|
| 21:02 | Bertl | no
|
| 21:03 | Bertl | what we will check is the code and documentation provided (so make sure we can find it :) and
|
| 21:03 | Bertl | how the progress is compared to the proposed timeline
|
| 21:04 | Bertl | note that good code and documentation easily makes up for being behind the schedule
|
| 21:04 | Bertl | it is also a good time to check and potentially adjust your personal schedule for the rest of GSoC
|
| 21:06 | apurvanandan | left the channel |
| 21:07 | Bertl | as the evaluation starts on Monday and ends on Friday, it would be a good idea to finish preparations on the weekend and be responsive regarding feedback during the week
|
| 21:09 | Bertl | it might also be a good idea to give the other students and mentors an overview what was done so far (best during the regular Monday meeting)
|
| 21:09 | Bertl | where the problems were and what solutions have been found, etc
|
| 21:13 | apurvanandan | joined the channel |
| 21:17 | apurvanandan | left the channel |
| 21:18 | apurvanandan[m] | Ok Thanks
|
| 21:40 | niemand | left the channel |
| 21:59 | illwieckz | joined the channel |
| 22:06 | felix_ | left the channel |
| 22:07 | felix_ | joined the channel |
| 23:04 | se6astian | off to bed, good night
|
| 23:04 | se6astian | changed nick to: se6astian|away
|
| 23:07 | WalterZimmermann | left the channel |
| 23:09 | futarisIRCcloud | left the channel |
| 23:13 | _florent__ | left the channel |
| 23:13 | aleb | left the channel |
| 23:19 | _florent__ | joined the channel |
| 23:20 | aleb | joined the channel |
| 23:48 | futarisIRCcloud | joined the channel |
| 00:18 | Y_G | left the channel |
| 00:29 | comradekingu | left the channel |