EEPROM Hex File Generation with Sig Con Architect

  • Slides: 19
Download presentation
EEPROM Hex File Generation with Sig. Con Architect SVA – Datapath Solutions Nov. 2014

EEPROM Hex File Generation with Sig. Con Architect SVA – Datapath Solutions Nov. 2014 1

Objective • Generate a custom Intel-format Hex file with Sig. Con Architect, regardless of

Objective • Generate a custom Intel-format Hex file with Sig. Con Architect, regardless of whether a live device is attached or in simulation mode. • Refer to Understanding EEPROM Programming for High Speed Repeaters and Mux Buffers for EEPROM fundamentals. Required Software • Sig. Con Architect • USB 2 ANY Module with Firmware later than v 2. 6. 1 2

Step-by-Step Guide 1. Set Up Sig. Con Architect and Device: Load the correct device

Step-by-Step Guide 1. Set Up Sig. Con Architect and Device: Load the correct device profile (or similar) and determine the register settings required for each device (up to 16 unique device settings can be programmed). 2. Preset the Slot Selection Table: Instantiate EEPROM page for the desired number of unique slots and devices. 3. Determine EEPROM Base Header Information: Check address map header, CRC, and >256 Bytes where necessary. 4. Load Register Settings for Each Device Slot: Using the same profile instance, update each slot with correct device settings. 5. Verify Settings: Check via the “Major Channel Settings” slot table and the Live Update Address-EEPROM Data table. 6. Write EEPROM. hex File: Save all information to. hex file.

Design Example/Tutorial • Sample Objective: Two DS 125 BR 111 devices with two unique

Design Example/Tutorial • Sample Objective: Two DS 125 BR 111 devices with two unique register settings. See settings for each device below: Device 1 SMBus Register Write Bit 0 x 0 F 7: 0 0 x 11 Comments Device 2 SMBus Register Write Bit Comments EQ_A Setting = 0 x 03 0 x 0 F 7: 0 EQ_A Setting = 0 x 01 2: 0 VOD_DB_A = 000’b 0 x 16 7: 0 EQ_B Setting = 0 x 03 0 x 16 7: 0 EQ_B Setting = 0 x 01 0 x 18 2: 0 VOD_DB_B = 000’b 0 x 25 4: 2 VOD_A = 000’b. 0 x 25 4: 2 VOD_A = 010’b. 0 x 28 7: 0 Signal Detect Control setting = 0 x 2 F 0 x 2 D 4: 2 VOD_B = 000’b 0 x 2 D 4: 2 VOD_B = 010’b 4

1. Set Up Sig. Con Architect and Device • Install and load Sig. Con

1. Set Up Sig. Con Architect and Device • Install and load Sig. Con Architect. In order to use Sig. Con Architect with a live device, you will need a USB 2 ANY module to program the EVM (see below): • Connect the SDA/SCL/GND lines as follows if a live device is used: • NOTE: Live Device does not need to be attached to program EEPROM. It can be done in Simulation Mode, too!!! 5

1. Set Up Sig. Con Architect and Device • Open Sig. Con Architect. If

1. Set Up Sig. Con Architect and Device • Open Sig. Con Architect. If operating in Simulation Mode, click “Continue in Simulation”. Select the appropriate profile. 6

1. Set Up Sig. Con Architect and Device • Locate the EEPROM Page 7

1. Set Up Sig. Con Architect and Device • Locate the EEPROM Page 7

1. Set Up Sig. Con Architect and Device • EEPROM Page Map Section-by-Section 8

1. Set Up Sig. Con Architect and Device • EEPROM Page Map Section-by-Section 8

2. Preset the Slot Selection Table • Update the No. of Devices and EEPROM

2. Preset the Slot Selection Table • Update the No. of Devices and EEPROM Size for the appropriate number of devices to program: Max EEPROM Size No. of Devices (Slots) 256 Bytes 5 512 Bytes 12 1024 Bytes 16 • In this example, assume that your EEPROM is 256 Bytes (2 kbits). • Double-check to ensure that the EEPROM size you are programming matches the EEPROM device chosen for your design. 9

2. Preset the Slot Selection Table • Double-click and edit the correct Slot #

2. Preset the Slot Selection Table • Double-click and edit the correct Slot # for each device address. Note that if multiple devices share the same register settings, they can also share the same slot. Fill in Slot # manually 10

3. Determine EEPROM Base Header Information • Address Map Enabled: If more than 1

3. Determine EEPROM Base Header Information • Address Map Enabled: If more than 1 device is being used, check this box. • EEPROM > 256: If EEPROM size > 256 bytes, check this box. • Enable CRC: If CRC is desired for each collection of device register settings, check this box. (Optional, not required) • In this example, select “Address Map Enabled? ” Table auto-updates with EEPROM Header selection in Address 0 x 00 and address map header bytes 11

4. Load Register Settings for Each Device Slot • In “Slot Update Details”, select

4. Load Register Settings for Each Device Slot • In “Slot Update Details”, select the desired “Slot #” to update. In this example, select “Slot 0” If “All Slots” is selected, then changes programmed to register settings will update all slots simultaneously. 12

4. Load Register Settings for Each Device Slot • Use either the High-Level Repeater

4. Load Register Settings for Each Device Slot • Use either the High-Level Repeater Page or Low-Level Page to program the desired slot with the example settings for Device 1. • If a. cfg file was saved previously with the desired settings for Device 1, these settings can be loaded in. • To ensure the settings are programmed correctly, click “Read All” to verify that the programmed values are successfully written. 13

4. Load Register Settings for Each Device Slot • Once the desired settings for

4. Load Register Settings for Each Device Slot • Once the desired settings for Device 1 is programmed, load them into EEPROM. Go to the EEPROM page and click “Update Slot from Device” • Note that the “Major Channel Settings: Slot 0” table updates accordingly. Click this button to update the selected Slot #. If Slot 0 is highlighted in “Address/Slot list Selection, its information will be shown in the table below. “Major Channel Settings” will only show the Slot information corresponding to the highlighted “Address/Slot list Selection. ” 14

4. Load Register Settings for Each Device Slot • Follow the same procedure for

4. Load Register Settings for Each Device Slot • Follow the same procedure for programming Device 2. Go back to the low level page and configure Device 2 settings. When ready to load into the EEPROM, select “Slot 1” and click “Update Slot from Device”. This will update Slot 1 only, while Slot 0 remains untouched. Note that Slot 1 is highlighted now. 15

5. Verify Settings • Check through both the “Major Channel Settings” table and the

5. Verify Settings • Check through both the “Major Channel Settings” table and the “Live EEPROM Data Update” table to ensure all desired settings are accurate. All programmed settings can be verified by observing the changes written to both tables. They update whenever the “Update Slot from Device” button is clicked. 16

6. Write EEPROM. hex File • When satisfied with device EEPROM settings, click “Write

6. Write EEPROM. hex File • When satisfied with device EEPROM settings, click “Write to EEPROM Hex”. A window will open allowing you to save a. hex file with the programmed values. 17

Congratulations! • You have successfully generated an Intel-based hex format file. • For more

Congratulations! • You have successfully generated an Intel-based hex format file. • For more information about the convention for this hex format, please reference: http: //en. wikipedia. org/wiki/Intel_HEX. • For more information about how SMBus Slave Register values map to EEPROM address bits, refer to Application Note SNLA 228 18

EEPROM. Hex File Generation FAQ 1. Can I combine multiple profile instances and save

EEPROM. Hex File Generation FAQ 1. Can I combine multiple profile instances and save to one EEPROM. hex file? For example, if I have two profiles open to control two different repeaters, is there a way to save both settings into one EEPROM file with Sig. Con Architect? - No. You can only combine multiple slot register settings within one profile. Each slot’s register settings must be programmed within one profile. One solution is to save a. cfg of the desired settings for each device, and then load them individually onto one profile to generate the appropriate EEPROM file, as demonstrated in the previous example. 2. If I have multiple devices that share the same register settings, can I specify that the correct number of devices in “No of Device” and then leave all slots as “Slot 0”? For example, if I have 12 devices, all with the same register settings, do I can I just leave all Slot # as 0? - Yes. If all device settings are identical, they can all be Slot 0. However, note that there is a maximum number of devices allowed for each EEPROM size. 3. Is there a way to read a. hex file and load EEPROM data from a particular slot to a live device? - Yes. Follow the directions below: 1. On the EEPROM page, click “Load From Hex File”. Select the desired. hex file to load. 2. In the “Slot Update Details” box, select the “Slot #” you wish to load into a live device. 3. Click “Update Device from Slot” to load the Slot # EEPROM data into live device. Changes can be observed in the High Level Repeater Page and Low Level Page. 4. If I overwrite a file, is there a way of maintain version control? - Yes. On the second-to-last line of the. hex file, the last 4 digits before the 8 -bit checksum are reserved to indicate the Version number. After each overwrite, Sig. Con Architect will automatically increment the version number of the. hex file when you overwrite an existing file of the same name. 19