source: vis_dev/vis-2.1/share/vis/help/spfd_piloCmd.txt @ 14

Last change on this file since 14 was 11, checked in by cecile, 13 years ago

Add vis

File size: 5.4 KB
Line 
1
2  spfd_pilo - Perform SPFD-based placement independent logic optimization.
3     _________________________________________________________________
4
5   spfd_pilo  [-a  <[0,1]>] [-D <depth>] [-f <file>] [-h] [-i <freq>] [-p
6   <percent>] [-r] [-S <n>] [-t <sec>] [-v <n>] [-w <file>]
7
8   This   command   performs   SPFD-based  wire  removal/replacement  and
9   reprogramming  of  combinational circuits mapped to LUT-based FPGAs to
10   reduce the number of wires and nodes in the circuit. The flexibilities
11   in  the  circuit  are  represented  by SPFDs. The following references
12   explain in detail the theory behind SPFDs.
13
14   S.  Yamashita,  H.  Sawada,  and  A.  Nagoya.  A new method to express
15   functional  permissibilities for LUT based FPGAs and its applications.
16   In  International  Conference on Computer Aided Design, pages 254-261,
17   1996.
18
19   Subarnarekha  Sinha  and  Robert K. Brayton. Implementation and use of
20   SPFDs  in optimizaing Boolean networks. In International Conference on
21   Computer Aided Design, 1998.
22
23   Instead  of  computing the flexibilities for every node in the network
24   at once, the algorithm computes the flexibilities for one cluster at a
25   time.  Working  with  clusters  allows  us  to avoid the BDD explosion
26   problem  and  hence, handle large circuits. The SPFDs are computed for
27   the  cluster  and  the  cluster  nodes  are  reprogrammed based on the
28   flexibility derived. Switching activity is used to drive the choice of
29   alternate  function  to  be implemented at the node. In the absence of
30   switching  activity  information, the function that can reduce support
31   of  the  node can be chosen (not implemented). Currently, an arbitrary
32   choice  is made from the flexibilities provided by SPFDs. (-S 0, -S 2,
33   and -S 4)
34
35   Before calling this command a network should be created for the design
36   (use  flatten_hierarchy)  and  MDD  ids  for every node in the network
37   should  be  created  (static_order  -o  all  -n  append, for example).
38   Dynamic  variable  ordering (dvo -e sift) can be enabled to reduce BDD
39   sizes.
40
41   Command options:
42
43   -a <alpha>
44          A   convex   combination  of  switched  capacitance  (switching
45          activity  * fanout count, SWC) and topological depth is used to
46          sort  the fanin nodes during SPFD computation. alpha is between
47          0    and    1.0.    The    cost   function   is   alpha*SWC   +
48          (1.0-alpha)*topDepth. The default value is 0.5.
49
50   -D <depth>
51          A cluster is computed which includes nodes within the specified
52          'depth'. The default value is 1.
53
54   -f <file>
55          File  with simulation vectors. The file format is as below. The
56          format is simple but strict and hence, few checks are made.
57
58          .i c n d o e p f q g r h s i t j u k a l b m
59          .s
60          0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 ;
61          0 1 1 0 0 0 0 1 0 1 1 0 1 1 1 1 0 0 0 0 1 ;
62          0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 1 ;
63          0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 0 0 1 ;
64          The  .i  statement specifies the primary inputs of the network.
65          The  patterns  start  after .s key word. Each vector is a space
66          separated  list of bits and ends in a semi-colon. The length of
67          any  vector  should be equal to the number of signals specified
68          in the .i statement. A line starting with # is a comment.
69
70   -h
71          Print usage.
72
73   -i <freq>
74          Number  of  iterations  after  which  to  update node switching
75          activity. This is valid only if patterns are provided in a file
76          using -f option. The default value is every 5 iterations.
77
78   -m <n>
79          Heuristics to optimize a selected node.
80          0: Reduce the selected node's support.
81          1: Reprogram the selected node.
82          2: Reprogram the selected node's fanin nodes. (default)
83          3: Reduce the selected node's fanout wires.
84
85   -p <percent>
86          The  percentage  of  vectors,  specified via -f option, used to
87          perform  simulation (to update switching activity) during logic
88          optimization. The default value is 10%.
89
90   -r
91          Do  not  reprogram  LUTs  if  no  structural  changes have been
92          performed  with in the cluster, i.e., if no nodes or wires have
93          been  removed  do  not  change the local implementation of LUTs
94          even  if  alternate  implementations  are  availabe  from  SPFD
95          information. The default is to reprogram.
96
97   -S <n>
98          Method used to sort nodes. The nodes are then optimized in that
99          order.
100          0: Random node is chosen. (default)
101          1: If switching activity is available, node with maximum SWC is
102          chosen.
103          2: Node with maximum fanout is chosen.
104          3: If switching activity is available, node with minimum SWC is
105          chosen.
106          4: Node with minimum fanout is chosen.
107
108   -t <sec>
109          Time  in  seconds  allowed  to  complete  the  command.  If the
110          computation time goes above that limit, the process is aborted.
111          The default is no limit.
112
113   -v <n>
114          Verbosity level. Default value is 0.
115
116   -w <file>
117          File to output final optimized circuit.
118            __________________________________________________________
119
120          Last updated on 20050519 10h16
Note: See TracBrowser for help on using the repository browser.