Install Vivado on SD card (use NTFS) - Page 1
Forum section: electronics / general

author: trossin
author_rank: Contributor
timestamp: December 05, 2023, 04:54:47 pm
content: I thought I would share my experience with using an SD card with 70 GB of space in my Windows 10 laptop that only had 6 GB of free space on th C drive.It turns out that there is not enough space even though the installer said it would need 60GB and leave 30 GB. So I put in a new 128 GB card and the install worked but the install left 80 GB of files on the card.I reformatted the card as NTFS instead of the default exFAT and tried again. This time it worked as advertised and left “just” 30 GB of stuff.I noticed that NTFS uses 4096 byte clusters instead of 8192. Maybe lots of little files is the issue but NTFS is the answer.I hope this prevents someone else from spending two days installing this tool

author: magic
author_rank: Super Contributor
timestamp: December 05, 2023, 05:08:03 pm
content: Many people would decide to upgrade the HDD at this point, but this can work too I guess. Note that write-intensive workloads wear out SD cards, so it's not a great idea to install some software which then proceeds to write lots of temporary files to the card. Cheap consumer flash memories can reveal bugs under complex workloads (usual effect: 0xff ff ff ff or garbled nonsense coming back, or the memory bricks itself).AFAIK exFAT still supports only a fairly limited number of clusters (4G if not less), so cluster size on large volumes becomes ridiculous like tens or hundreds of KB.

author: SiliconWizard
author_rank: Super Contributor
timestamp: December 05, 2023, 09:11:56 pm
content: Installing Vivado on a SD card, that's interesting. It's indeed pretty big. And it's already rather slow on a fast SSD, so I'm not even trying to imagine running it off a SD card.NTFS is probably more efficient than exFAT in terms of use, especially when there is a lot of "small" files (and a lot of files and directories to begin with). And the number of them for a VIvado install is mind blowing.exFAT can typically be formatted on larger volumes with an even larger cluster size than 8192, I think 32768 is not unusual for the larger SD cards.

author: magic
author_rank: Super Contributor
timestamp: December 05, 2023, 09:25:58 pm
content: Yes, exFAT on SDXC cards uses really big clusters.Perhaps there is a method to that madness, since small cluster size combined with fragmentation (a long-lived filesystem with lots of writes and deletions or truncations) causes write amplification and accelerated wearout of the flash. Large block size is one way to prevent it, so it could be a deliberate decision and possibly no other countermeasures are employed.The usual recommendation is to get your photos off a filled up card and fully erase it before reuse, that's the workload they are made for.

author: SiliconWizard
author_rank: Super Contributor
timestamp: December 05, 2023, 09:36:14 pm
content: One plus of exFAT (at least compared to older FAT versions) is that it can preallocate clusters for a file, which for files that can grow over time, is good both to limit fragmentation and increase access speed. Of course whatever software that writes files must actively handle preallocation to make use of it. But for streaming data, that's a net plus. Other than that, it's still FAT.If you are short on internal space and really have no choice, I'd recommend using an external SSD on USB 3 rather than SD cards, but yes it's significantly more expensive.

author: magic
author_rank: Super Contributor
timestamp: December 05, 2023, 09:53:31 pm
content: I think you could still do it on FAT32 with a custom FS driver, just append the reserved clusters to the chain without increasing the file's size field. (I believe there must be a size field, because a file doesn't need to fill the final cluster completely).Most implementations should read and maybe even write such files just fine, but I suppose unaware filesystem checkers could "correct" your preallocation.

author: trossin
author_rank: Contributor
timestamp: December 06, 2023, 06:02:36 pm
content: The reason for not upgrading my 128 GB SSD drive in my laptop is that it is a 10 year old Lenovo Ideapad Yoga 13. Microsoft will brick it in two years as it does not support Windows 10. I'm holding off on a new machine to see if I can get another year or two out of it. What I have works good enough for my needs and it is a major pain to reinstall and configure all the tools.I know I could install Linux on the old timer but not all my tools (commercial and homebrew) run on Linux. I'm a retired full custom ASIC RTL jockey so I'm just doing hobby projects now. You can see my microcontroller and graphics crap here:https://sites.google.com/site/tedrossin/My latest stuff is under Raspberry Pi Pico for an example: TFT GUI (Widgets and OpenGL in a window)I flicked the write protect tab on the SD card and ran Vivado through its paces on a tiny adder design and all worked fine. I keep my source RTL/project directory on my C drive so no writes are needed to the SD card. So, there seems to be no problem running from an SD card except that it is slow. SD card sectors are protected with CRCs so it should be very hard to get back bad data but possible to get read errors so I'm not worried about data corruption.I just started playing with FPGAs this year and started with Lattice ICE chips as the word on the street is that their tools are lighter and easier to use (I agree with this). I used Xlinix tools for some CPLDs to make a logic analyzer ages ago and found the tools buggy. I put the IceCube2 suite on the SD card for playing with an ICE40HX8K. I put a 3D graphics GPU (3D triangles and 2D lines and rectangles) that I wrote this year into it to drive a 320x240 TFT display using about 7K cells. I use Icarus and my own waveform viewer to simulate and debug. IceCube2 takes about a half hour to go from RTL change to running on the board (Alchitry Cu) running from the SD card.Vivado takes about 10 minutes to go from RTL to a bitstream for a tiny 4 bit adder design using my old laptop and SD card configuration. I'm just learning how to use the tool so hopefully, this is just due to start up times of the tools and a larger design will not get much slower.The RTL to simulation to waves is about 100 times slower with Vivado than with Icarus for this tiny example. Even comparing the tiny example in Vivado to a 100 pixel triangle simulation is no contest for Icarus. I think I'll stick with Icarus and my wave viewer for now.I'll keep playing and learning and see how it does. The bottom line is that this seems to work on an SD card and there should be no fear of wearing out the card if you keep your project off the SD card and just put the tools there.

author: KE5FX
author_rank: Super Contributor
timestamp: December 06, 2023, 07:24:47 pm
content: Stoic guy. Vivado takes so long to launch on my NVMe-equipped Raptor Lake, its splash screen needs a splash screen.

author: trossin
author_rank: Contributor
timestamp: December 06, 2023, 08:21:08 pm
content: I thought it was just me. I double click the icon and wait 20 to 30s before the splash screen comes up. I always think I blew it so I’ve learned to chill out and resist hitting it again. 😊

author: asmi
author_rank: Super Contributor
timestamp: December 12, 2023, 02:59:25 pm
content: Quote from: trossin on December 06, 2023, 06:02:36 pmYou can buy a 500GB or even 1TB SSD for a pocket change nowadays, and some of them come with a tool which allows you to migrate to a new drive without reinstalling anything. I personally used Samsung tool multiple times over years, and it's been painless in all cases. If your laptop only has one SSD/NVMe slot, you can buy a USB adapter (again, they are very cheap) and migrate your data that way.BTW in my experience Vivado/Vitis toolchain runs much better on Linux (and Petalinux setuprequiresLinux), so you might want to set up a dual-boot if you plan to spend significant amount of time with that toolchain.