cpu32

verilog 32bit cpu experiment
git clone http://frotz.net/git/cpu32.git
Log | Files | Refs

download.tcl (1290B)


      1 # Copyright 2012, Brian Swetland
      2 
      3 # to run: quartus_stp -t download.tcl
      4 
      5 # find programmer and device
      6 foreach hardware_name [get_hardware_names] {
      7 	if { [string match "USB-Blaster*" $hardware_name] } {
      8 		set usbblaster_name $hardware_name
      9 	}
     10 }
     11 puts "Bridge: $usbblaster_name";
     12 foreach device_name [get_device_names -hardware_name $usbblaster_name] {
     13 	if { [string match "@1*" $device_name] } {
     14 		set test_device $device_name
     15 	}
     16 }
     17 puts "Device: $test_device";
     18 open_device -hardware_name $usbblaster_name -device_name $test_device
     19 
     20 device_lock -timeout 10000
     21 
     22 device_ir_shift -ir_value 6 -no_captured_ir_value
     23 puts "IDCODE: 0x[device_dr_shift -length 32 -value_in_hex]"
     24 
     25 proc xmit_vdr { len val } {
     26 	device_virtual_dr_shift -instance_index 0 -length $len -dr_value $val -value_in_hex -no_captured_dr_value
     27 }
     28 
     29 proc xmit_vir { val } {
     30 	device_virtual_ir_shift -instance_index 0 -ir_value $val -no_captured_ir_value
     31 }
     32 
     33 set IR_CTRL 0
     34 set IR_ADDR 1
     35 set IR_DATA 2
     36 
     37 xmit_vir $IR_CTRL
     38 xmit_vdr 32 00000001
     39 
     40 xmit_vir $IR_ADDR
     41 xmit_vdr 32 00000000
     42 
     43 xmit_vir $IR_DATA
     44 set fp [open "test.hex" r]
     45 while { [gets $fp line] > 0 } {
     46 	set val [lindex [split $line] 0]
     47 	set val [format "%08x" 0x$val]
     48 #	puts $val
     49 	xmit_vdr 32 $val
     50 }
     51 close $fp
     52 
     53 xmit_vir $IR_CTRL
     54 xmit_vdr 32 00000000
     55 
     56 device_unlock
     57 close_device