Open OkenKhuman opened 4 years ago
SVF command that uploads big chunk (bitstream) created by quartus is single SVF command which has to be buffered in full length (1MB lets say) and replayed backwards to JTAG.
ESP32 can buffer 8-16K max, So SVF must be preprocessed by some script and split to smaller chunks that ESP32 can buffer.
Splitting SVF introduces time delay before next chunk is buffered and ready to JTAG so FPGA should accept that.
On 3/23/20, alwaysLearner notifications@github.com wrote:
I have tested this code on esp32 and when I try to upload the code it shows "line 421: Allocating memory failed." on the web page... The svf file is generated using 'Quartus 2' op.zip I attached the file (.svf file) for your concern... please help me
-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/emard/LibXSVF-ESP/issues/6
Maybe you can take a look at my another project esp32ecp5 and add altera support.
It doesn't work with SVF but takes binary bitstream so it completely avoids HEX parsing and reverse buffering
On 3/24/20, D EMARD vordah@gmail.com wrote:
SVF command that uploads big chunk (bitstream) created by quartus is single SVF command which has to be buffered in full length (1MB lets say) and replayed backwards to JTAG.
ESP32 can buffer 8-16K max, So SVF must be preprocessed by some script and split to smaller chunks that ESP32 can buffer.
Splitting SVF introduces time delay before next chunk is buffered and ready to JTAG so FPGA should accept that.
On 3/23/20, alwaysLearner notifications@github.com wrote:
I have tested this code on esp32 and when I try to upload the code it shows "line 421: Allocating memory failed." on the web page... The svf file is generated using 'Quartus 2' op.zip I attached the file (.svf file) for your concern... please help me
-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/emard/LibXSVF-ESP/issues/6
[...] SVF must be preprocessed by some script and split to smaller chunks that ESP32 can buffer.
Do you happen to know where I can find such a script? I tried splitting up a xilinx svf to no avail; I guess I got something wrong.
I also tried changing the code to use PSRAM for the buffer, thinking it'd be able to buffer the entire file without issue. However, once again I got the TDO mismatch
error.
HI I can recommend esp32ecp5 micropython to load directly bitstream to ecp5 and some xilinx and altera would work too
libxsvf is my early attempt. svf must be processed reverse order and for this I haven't written any good script but in python it should be relatively "easy" but esp32ecp5 is still much easier and faster
For ecp5 there is good option to split in svf to small upload parts to not overfill esp32 small buffer, for xilinx and altera i'm didn't try to split but I expect there must be similar option to make it
On Fri, Aug 2, 2024 at 7:17 AM Mark @.***> wrote:
[...] SVF must be preprocessed by some script and split to smaller chunks that ESP32 can buffer.
Do you happen to know where I can find such a script? I tried splitting up a xilinx svf to no avail; I guess I got something wrong.
I also tried changing the code to use PSRAM for the buffer, thinking it'd be able to buffer the entire file without issue. However, once again I got the TDO mismatch error.
— Reply to this email directly, view it on GitHub https://github.com/emard/LibXSVF-ESP/issues/6#issuecomment-2264575612, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC4K2R4NMNEPXZZU7MEOMO3ZPMI63AVCNFSM6AAAAABL324UQCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRUGU3TKNRRGI . You are receiving this because you commented.Message ID: @.***>
Interesting, I'd assumed the bitstream format was vendor-specific. I'll have to give this a try.
Reading through the iMPACT documentation, I didn't see any way to split the .svf commands up.
I was under the impression that a misconfiguration could cause a short in the fabric, leading to permanent damage. Any idea how true that is?
bitstream format is vendor specific and protocol to upload is specific too but not much different so I have written 3 different esp32 sources that upload bistream for each vendor
I heard of probability for a permanent damage by uploading wrong bitstream but so far I have never broken anything during development, It would be a wonder if a code works changless after it is first written. At least bitstream has a 16 bit checksum which must match before it is executed so some junk was rejected this way
On Mon, Aug 26, 2024 at 1:57 AM Mark @.***> wrote:
Interesting, I'd assumed the bitstream format was vendor-specific. I'll have to give this a try.
I was under the impression that a misconfiguration could cause a short in the fabric, leading to permanent damage. Any idea how true that is?
— Reply to this email directly, view it on GitHub https://github.com/emard/LibXSVF-ESP/issues/6#issuecomment-2309050695, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC4K2R5SAMH34NNZTNDRMHDZTJVMXAVCNFSM6AAAAABL324UQCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBZGA2TANRZGU . You are receiving this because you commented.Message ID: @.***>
I have tested this code on esp32 and when I try to upload the code it shows "line 421: Allocating memory failed." on the web page... The svf file is generated using 'Quartus 2' op.zip I attached the file (.svf file) for your concern... please help me