File: show.sh

package info (click to toggle)
fpga-icestorm 0~20250207git7fbf8c0%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 7,440 kB
  • sloc: python: 28,401; cpp: 4,970; sh: 2,594; ansic: 1,206; makefile: 697; xml: 16
file content (29 lines) | stat: -rw-r--r-- 690 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/bash

set -ex

yosys -p '
	cd equiv
	equiv_mark
	select -write equiv_graph.segs w:seg_*_gate a:equiv_region!=0 %i
	show -prefix equiv_graph -format dot a:equiv_region!=0 %co2 a:equiv_region!=0 %ci2
' $1.il

./icetime -P tq144 -p $1.pcf $1.asc $( sed 's,_gate$,,; s,.*_,-g ,;' < equiv_graph.segs ) > /dev/null

{
	egrep -v '^}' icetime_graph.dot
	egrep -v '^(digraph|label=|})' equiv_graph.dot

	for seg in $( sed 's,equiv/,,' equiv_graph.segs ); do
		n=$( awk "/$seg/ { print \$1; }" equiv_graph.dot )
		s=$( echo $seg | sed 's,_[0-9]*_gate$,,' )
		echo "  $n:s -> $s:n [style=bold];"
	done
	echo "}"
} > $1.dot

rm -f equiv_graph.segs
rm -f equiv_graph.dot
rm -f icetime_graph.dot