User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
using_tcl_for_fame_and_fortune [2020/02/07 14:52]
nelson
using_tcl_for_fame_and_fortune [2020/02/07 15:22] (current)
nelson [Using Looping to Exercise All Combinations of 1's and 0's]
Line 40: Line 40:
   }   }
  
-Or, if what you are forcing is itself a 4-bit quantity, it can be trivial:+Or, if what you are forcing is itself a 4-bit quantity, it requires a function to be defined first to do the integer to binary conversion:
  
 +  proc dec2bin i {
 +    #returns a string, e.g. dec2bin 12 => 1100 
 +    set res {} 
 +    while {$i>0} {
 +        set res [expr {$i%2}]$res
 +        set i [expr {$i/2}]
 +    }
 +    if {$res == {}} {set res 0}
 +    return $res
 +  }
 +  ​
   set i 0   set i 0
   while {$i < 16} {   while {$i < 16} {
-    add_force ​mySignal ​$i +    add_force ​a [dec2bin ​$i] 
-    run 100ns+    run 10ns
     incr i     incr i
   }   }
-  ​+ 
 And, if you prefer for-loops: And, if you prefer for-loops:
  
   for {set i 0} {$i < 16} {incr i} {   for {set i 0} {$i < 16} {incr i} {
-    add_force mySignal $i+    add_force mySignal ​[dec2bin ​$i]
     run 100ns     run 100ns
     incr i     incr i
   }   }