Are Xilinx XC7A35T actually the same die as something else or...? - Page 1
Forum section: electronics / general

author: daqq
author_rank: Super Contributor
timestamp: July 12, 2019, 06:11:40 am
content: Hi guys,So, I've used a large buffer for something in my project, the synthesis ran and everything is OK... but I'm at 93% usage of the BRAM resources available to me. That's OK, but when I checked the synthesis device results (the actual physical representation of the device) something was weird:There seems to be a lot of unused (and apparently unusable) BRAM left. What gives? Is it some sort of remapping? Or am I missing something weird?Here are the device usage results. It seems that there is more physically available BRAM than there is logically. At a quick guess there seems to be around a third more BRAM that is not available.Thanks,David

author: daqq
author_rank: Super Contributor
timestamp: July 12, 2019, 06:13:31 am
content: Adding partial detail of left region. The BRAMs are there.

author: hamster_nz
author_rank: Super Contributor
timestamp: July 12, 2019, 07:12:06 am
content: Your thinking is correct. The validation of IDCODE in the bit stream by the FPGA enforces the resource limit.Thermal limits on package may also apply...

author: daqq
author_rank: Super Contributor
timestamp: July 12, 2019, 08:45:25 am
content: Thanks, minor mystery solved. Now if I could just figure out why do they do it

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: July 12, 2019, 08:50:48 am
content: ISTR reading that someone hacked this a few years ago to allow use of the undocumented RAM by tweaking the bitstream

author: hamster_nz
author_rank: Super Contributor
timestamp: July 12, 2019, 09:00:48 am
content: Quote from: mikeselectricstuff on July 12, 2019, 08:50:48 amQuite a few have.If you generate exactly the same bit stream for the two devices (and I mean exactly - routing and logic), you can XOR them with each other to discover the constant difference in the checksum that changing the id code makes. You can then apply the same changes to transmute bit streams at will.Or you can just work out the checksum's CRC polynomial...

author: rstofer
author_rank: Super Contributor
timestamp: July 12, 2019, 02:33:09 pm
content: None of which is guaranteed to work...l It has always been common practice in the memory business to add extra rows and columns to replace cells that turn up DOA at some test operation. Then the metal layer can map in replacement cells and map out rejects.Looking inside may be interesting and hacking extra capabilities seems terribly clever but buying the next larger chip is a better way to go.

author: Sal Ammoniac
author_rank: Super Contributor
timestamp: July 12, 2019, 02:52:22 pm
content: Quote from: rstofer on July 12, 2019, 02:33:09 pmReally? I strongly doubt these chips are tested before the final metal layer is added.

author: asmi
author_rank: Super Contributor
timestamp: July 12, 2019, 03:27:08 pm
content: Quote from: Sal Ammoniac on July 12, 2019, 02:52:22 pmIt's likely the other way around - they do the tests and then laser trim out parts which don't work. At least that's how they cut off MGTs in packages that don't have them bonded out.

author: SiliconWizard
author_rank: Super Contributor
timestamp: July 12, 2019, 03:46:10 pm
content: Yes I think so too. That's usually done with laser trimming.In any case, I wouldn't do this kind of hacking on FPGAs that end up in real products... so unless it's just for the kicks on personal projects, I'm not sure how useful that would be to know this.

author: filssavi
author_rank: Frequent Contributor
timestamp: July 12, 2019, 05:07:57 pm
content: It can be done in many ways laser trimming, fuses/anti fuses, internal flash/eprom memory read at bootAnyways I have read somewhere (probably on Xilinx forum but don’t quote me on that) that for artix devices only 2 dies exist one for 50T and lower and the other for the higher end ones

author: tmbinc
author_rank: Frequent Contributor
timestamp: July 12, 2019, 05:22:04 pm
content: https://github.com/brouhaha/xchangeis a tool that patches the ID.

author: hamster_nz
author_rank: Super Contributor
timestamp: July 12, 2019, 07:46:29 pm
content: For the FOSS IceStorm toolchain the iCE40-HX4K and iCE40-HX8K are treated identically, as they are the same die.Works fine.

author: NorthGuy
author_rank: Super Contributor
timestamp: July 16, 2019, 04:23:35 am
content: Quote from: SiliconWizard on July 12, 2019, 03:46:10 pmThe die is completely the same. A50T is the same as A15T. You can use anything inside it. The overall limit on various resources is enforced by tools and the FPGA internals. Such approach has benefits for A15T - you'll never get any congestion.

author: iMo
author_rank: Super Contributor
timestamp: July 16, 2019, 10:24:34 am
content: The manufacturing of the lithography masks (you need many masks in order to produce a chip, based on technology, say 30-50) is the most expensive exercise in chip manufacturing (not counting the chip design costs itself, of course).And a single set of masks is not enough.It is much cheaper to produce the 50T and sell it as the 15T, than to mess with different sets of masks (ie. silicon revisions)..PS: my guess would be a single set of masks for 50T costs something like 1.500.000,-USDThe actual production costs for a single silicon wafer full of chips is flat fee, something like 2.000,-USD per wafer (depends on the fab node, but usually 1000-2000), and you get maybe 2500 "50T" chips off a single wafer.

author: mark03
author_rank: Frequent Contributor
timestamp: July 17, 2019, 02:50:55 am
content: Presumably (?) one can identify which parts have identical dies by looking at the table of quiescent supply current. Parts with the same Iq_vccint:-12T, -25T (lowest)-15T, -35T, -50T (middle)-75T, -100T (high)-200T (in a class by itself, highest)Interestingly, for Spartan-7, the two lowest-gate-count devices (-6, -15) have lower Iq_vccint than Artix-7 12T/25T. The higher-gate-count devices (-25, -50, -75, -100) match their Artix-7 counterparts exactly.

author: hamster_nz
author_rank: Super Contributor
timestamp: July 17, 2019, 03:47:21 am
content: Bitstream size is a good indicator.

author: mrflibble
author_rank: Super Contributor
timestamp: July 18, 2019, 12:56:58 am
content: Quote from: filssavi on July 12, 2019, 05:07:57 pmToo late!The various related threads on the Xilinx forum:https://www.eevblog.com/forum/fpga/are-xilinx-xc7a35t-actually-the-same-die-as-something-else-or/msg2543346/#msg2543346https://forums.xilinx.com/t5/Other-FPGA-Architectures/Drop-in-replacement/td-p/752004https://forums.xilinx.com/t5/Other-FPGA-Architectures/xc7a35t-and-xc7a50t-bitstream-size/td-p/443908https://forums.xilinx.com/t5/Other-FPGA-Architectures/Artix-7-15t-35t-and-50t-same-chip-die-Question/td-p/705087https://forums.xilinx.com/t5/Other-FPGA-Architectures/Vivado-Artix-7-XC7A15T-BRAM-site-75/td-p/670657https://forums.xilinx.com/t5/Other-FPGA-Architectures/SPARTAN-7/td-p/883251https://forums.xilinx.com/t5/Other-FPGA-Architectures/migrate-from-spartan-6-to-spartan-7/td-p/815203ShortNon-super-long version:Group by the bitstream length & quiescent current ==> die groups. I noticed that when you sort by IDCODE the die groups end up as continuous sections. Which makes sense, since that would coincide with a somewhat systematic numbering scheme on Xilinx' part. Or put another way, assuming a systematic numbering scheme of the IDCODE's grouped by die, you would end up with the sorted result as found.Which got me these die groups:7S15 : XA7S6, XC7S6, XA7S15, XC7S157A25T : XA7A12T, XC7A12T, XA7A25T, XA7S25, XC7A25T, XC7S257A50T : XA7A15T, XC7A15T, XA7A35T, XC7A35T, XA7A50T, XA7S50, XC7A50T, XC7S50, XQ7A50T7S100 : XA7S75, XC7S75, XA7S100, XC7S1007A100T: XA7A75T, XC7A75T, XA7A100T, XC7A100T, XQ7A100T7A200T: XC7A200T, XQ7A200TTables for bitstream length & quiescent current taken from these docs:* ug470_7Series_Config.pdf* ds181_Artix_7_Data_Sheet.pdf* ds189-spartan-7-data-sheet.pdf

author: ali_asadzadeh
author_rank: Super Contributor
timestamp: July 19, 2019, 09:48:26 am
content: It sounds a good plan for xilinx, If I where them I would do the same! just change a magic number called ID code and chnage the chip and sell if for lessAny clue about spartan 6 devices, specially the XC6SLX9-2TQG144I, I hope it could be upgraded to XC6slx25So we can get higher density in TQFP package, Any clues out there?

author: hamster_nz
author_rank: Super Contributor
timestamp: July 19, 2019, 10:23:33 am
content: Quote from: ali_asadzadeh on July 19, 2019, 09:48:26 amLooking athttps://www.xilinx.com/support/documentation/user_guides/ug380.pdfthe LX4 and LX9 are most likely the same die, but all other sizes have different bitstream lengths.Not very helpful!

author: mrflibble
author_rank: Super Contributor
timestamp: July 19, 2019, 10:26:11 am
content: Quote from: ali_asadzadeh on July 19, 2019, 09:48:26 amBased on the bitstream sizes listed inUG380I suspect the answer is going to be no. You could maaaybe try downgrading to LX4 though.

author: mrflibble
author_rank: Super Contributor
timestamp: July 19, 2019, 10:36:44 am
content: About that LX4 vs LX9 ... the bitstream size is almost the same, so you might think maybe it's the same die. But chances are pretty good it's not though. While going over the 7-series dies I noticed that the 7S100 and 7A100T bitstream sizes were almost the same as well. The quiescent currents however were different. And the IDCODE's didn't fit the hypotheticalnice numbering schemeeither, while all the other ones did fit. So with those 3 factors combined I randomly guessed it to be more likely that the 7S100 and 7A100T are separate dies.And coming back to the spartan-6, it would be somewhat curious for Xilinx to limit the die production cost saving measures to just the LX4 & LX9.

author: hamster_nz
author_rank: Super Contributor
timestamp: July 19, 2019, 11:08:52 am
content: Quote from: hamster_nz on July 19, 2019, 10:23:33 amLooking at table 5-5, I now think that LX4 & LX9 are most likely different...

author: mrflibble
author_rank: Super Contributor
timestamp: July 19, 2019, 11:42:15 am
content: Quote from: hamster_nz on July 19, 2019, 11:08:52 amAgreed. Too lazy to check the quiescent current, but expecting that to be different as well for LX4 & LX9.

author: technix
author_rank: Super Contributor
timestamp: July 26, 2019, 09:35:46 am
content: Quote from: mrflibble on July 19, 2019, 11:42:15 amIs it possible that LX4 uses LX9 die but with whole sections being unpowered?

author: mrflibble
author_rank: Super Contributor
timestamp: July 26, 2019, 10:14:55 am
content: Quote from: technix on July 26, 2019, 09:35:46 amIn the land of the theoretical anything is possible. However not equally likely.Given the triples (bitstream size , quiescent current, IDCODE) it does not seem likely. Furthermore it would be theonlydie in the entire spartan-6 family where they did a die reuse. Compared to how the 7-series is segmented, it just does not seem likely. So I am going with a big fatnope.