Virtual JTAG Mega function transfer speed is about 6kbps. Is there any other IP with a higher speed ? - Virtual JTAG Mega function transfer speed is about 6kbps. Is there any other IP with a higher speed ?
I'm using DE10-Lite Board to project a rgb picture on a 480 by 640 VGA screen. The picture size 460800 bytes. So 12 times 480*640 pixels. Due to limited resources on DE-10 LITE platform I have to upload this picture at startup. I'm using Virtual JTAG mega function along with tcl script on Quartus_stp to upload this file into the SDRAM. The upload speed is about 6kbps.So it takes about between 10 to 11 minutes to upload the picture file. Intel Hex format: After that I'm able to see the picture on the VGA screen. For example the .sof file generated for this project is about 3.2MB and it loads within 5 seconds. Is there a faster IP Mega function that can do this file transfer in seconds and pairing with Quartus_stp or custom C#, C to host the file. ? Let me know if there is a sample project I can sample from. Find tcl script used for the file transfer below #upload file to SDRAM using VJTAG global usbblaster_name global test_device foreach hardware_name [get_hardware_names] { puts $hardware_name if { [string match "USB-Blaster*" $hardware_name] } { set usbblaster_name $hardware_name } } puts "\nSelect JTAG chain connected to $usbblaster_name.\n" foreach device_name [get_device_names -hardware_name $usbblaster_name] { puts $device_name if { [string match "@1*" $device_name] } { set test_device $device_name } } puts "\nSelect device: $test_device.\n"; #open_device -hardware_name $usbblaster_name -device_name $test_device ###################################################################################################### #########decimal to binary string############## proc dec2bin n { incr n 0 set r {} while {$n > 0} { set r [expr {$n & 1}]$r set n [expr {$n >> 1}] } return $r } #########end decimal to binary string########### ##############3 MAX 10 lite########################## open_device -hardware_name {USB-Blaster [USB-0]} -device_name {@1: 10M50DA(.|ES)/10M50DC (0x031050DD)} ###########################TEST################################# for {set i 0} {$i < 0} {incr i} { set ln [format %08s [dec2bin $i]] device_lock -timeout 10000 device_virtual_ir_shift -instance_index 0 -ir_value 3 -no_captured_ir_value puts "writing=$ln" device_virtual_dr_shift -dr_value 3deaf4321 -instance_index 0 -length 35 -no_captured_dr_value -value_in_hex device_virtual_ir_shift -instance_index 0 -ir_value 0 -no_captured_ir_value device_unlock after 100 } ##########################END TEST############################## ########################File transfer module############################### #set fname "C:\\vga1short.hex" #set fname "C:\\vga1.hex" set fname "C:\\vga2.hex" #set fname "C:\\secuence.hex" set file [open $fname r] set num_row 0 set segment 0 #while { $num_row <1024 && [gets $file line]>= 0 } { while { [gets $file line]>= 0 } { set segment_data [string range $line 1 12] set EOF_len [string length $line] if { $segment_data =="020000040001" | $segment_data =="020000040002" | $segment_data =="020000040003" | $segment_data =="020000040004" } { if { $segment_data =="020000040001" } { set segment 1 } elseif { $segment_data =="020000040002" } { set segment 2 } elseif { $segment_data =="020000040003" } { set segment 3 } elseif { $segment_data =="020000040004" } { set segment 4 } #incr segment puts $segment_data } elseif { $EOF_len<15} { puts "End of data" } else { incr num_row set address [string range $line 3 6] set data [string range $line 9 12] #puts "address:$segment$address : $data" ##################### JTAG TRANSFER ####################### set ln $segment$address$data #set ln $data set data_length [string length $ln] device_lock -timeout 10000 device_virtual_ir_shift -instance_index 0 -ir_value 3 -no_captured_ir_value #puts "writing=$ln" device_virtual_dr_shift -dr_value $ln -instance_index 0 -length 35 -no_captured_dr_value -value_in_hex device_unlock #after 1000 ##################### END JTAG TRANSFER ####################### } } puts "rows:$num_row" close $file ########################End File transfer module############################### close_device
Replies:
Re: Virtual JTAG Mega function transfer speed is about 6kbps. Is there any other IP with a higher speed ?
Got it. In the meantime I came accros an article using jtag_atlantic dll with C# and using JtagUART IP. Doqnload happens in seconds.
Replies:
Re: Virtual JTAG Mega function transfer speed is about 6kbps. Is there any other IP with a higher speed ?
Hi ABoel, You can use Intel FPGA Download Cable II ( previously known as USB Blaster II) for faster speed rate. Intel FPGA Download Cable II can support up to 24 MHz TCK frequency. https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_usb_blstr_ii_cable.pdf Regards, Matt - 2020-06-08
external_document