PCB and FPGA versioning system

Guest #5826117
Rate this post
• ▲ useful
▼ not useful
Hi all,
i can't figure out a good versioning system that ties a PCB version 
number (containing an fpga) and the fpga image version to be used on 
that board.

To explain a bit better, a pcb board version X with fpga image version A

 - pcb will go to version Y with a power supply component change (fpga 
image version A still compatible)
 - pcb will go to version Z with a new LED (fpga image version B needed 
to control the LED)
 - firmware upgrade, fpga version C with no board change

how to relate the two? i am using the fpga rom to store data like 
timestamps and device serials, but i am in need of a good versioning 
system to track compatibility between pcb and fpga firmware.
any suggestions?
Guest #5826965
Rate this post
• ▲ useful
▼ not useful
Hi
thanks for the reply,
let me see if i get it correctly,

very much like the idea of hardcoding a 4-bit number onto the board,
by defining it with populated resistors.

does this mean that as the board progresses through versions, the 
resistor 4-bit number will increment only when an fpga change is 
required?

pcb v1.00  works with image 0000
    v1.15
    v2.01
    v2.10  works with image 0001
and so on...(?)

that takes care of scenario A and B.
what about scenario C? no board change?
Guest #5827001
Rate this post
• ▲ useful
▼ not useful
You can define this by yourself.

If you need more versions or version paths, you can place a small and 
cheapy eeprom, and make it unwritable by hard wiring. Example: if your 
eeprom has an SPI, you does'nt connect the masters data out line. So 
your FPGA can read the eeprom, but not write.

For changing data, you can route an extra SPI link from the eeprom (pin 
header or something similar).
#5827032
Rate this post
• ▲ useful
▼ not useful
> does this mean that as the board progresses through versions, the
resistor 4-bit number will increment only when an fpga change is
required?

My idea was to code the hardware revision with these 4 inputs. If you 
spend more inputs, you can additionally code the FPGA revision, but I 
wouldn't do that, because often you have many FPGA versions for the same 
hardware revision. The FPGA revison can be easily coded within the FPGA.
Guest #5828531
Rate this post
• ▲ useful
▼ not useful
I was also thinking of a 4bit number within the fpga,
and try to relate the resistor number to the fabric number,
in some way. There is something there but I can't see it yet.
Thanks for the discussion, really like the resistor idea.

Reply

Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.

Formatting
  • [c]C-Code[/c]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]
  • [[Title]] – link to an article
  • Link to another post: right-click its post ID (#8078628), copy the address, paste it into the text

More about formatting

Post long source code as an attachment, not in the text.

Already registered? Log in

Not shown to anyone. We send you a link; your post appears once you confirm it there.

By submitting you create a free account and accept the terms of use.