From 50e0d1dea52e73d9646de4869fceb57c10553e6d Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sat, 17 Feb 2007 08:01:00 -0800 Subject: Version abc70217 --- src/phys/place/place_io.c | 94 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 src/phys/place/place_io.c (limited to 'src/phys/place/place_io.c') diff --git a/src/phys/place/place_io.c b/src/phys/place/place_io.c new file mode 100644 index 00000000..8e24ef4a --- /dev/null +++ b/src/phys/place/place_io.c @@ -0,0 +1,94 @@ +/*===================================================================*/ +// +// place_io.c +// +// Aaron P. Hurst, 2003-2007 +// ahurst@eecs.berkeley.edu +// +/*===================================================================*/ + +#include +#include +#include +#include +#include + +#include "place_base.h" + + +// -------------------------------------------------------------------- +// writeBookshelfNodes() +// +// -------------------------------------------------------------------- +void writeBookshelfNodes(const char *filename) { + + int c = 0; + int numNodes, numTerms; + + FILE *nodesFile = fopen(filename, "w"); + if (!nodesFile) { + printf("ERROR: Could not open .nodes file\n"); + exit(1); + } + + numNodes = numTerms = 0; + for(c=0; cm_parent->m_pad) + numTerms++; + } + + + + fprintf(nodesFile, "UCLA nodes 1.0\n"); + fprintf(nodesFile, "NumNodes : %d\n", numNodes); + fprintf(nodesFile, "NumTerminals : %d\n", numTerms); + + for(c=0; cm_id, + g_place_concreteCells[c]->m_parent->m_width, + g_place_concreteCells[c]->m_parent->m_height, + (g_place_concreteCells[c]->m_parent->m_pad ? " terminal" : "")); + } + + fclose(nodesFile); +} + + +// -------------------------------------------------------------------- +// writeBookshelfPl() +// +// -------------------------------------------------------------------- +void writeBookshelfPl(const char *filename) { + + int c = 0; + + FILE *plFile = fopen(filename, "w"); + if (!plFile) { + printf("ERROR: Could not open .pl file\n"); + exit(1); + } + + fprintf(plFile, "UCLA pl 1.0\n"); + for(c=0; cm_id, + g_place_concreteCells[c]->m_x, + g_place_concreteCells[c]->m_y, + (g_place_concreteCells[c]->m_fixed ? "\\FIXED" : "")); + } + + fclose(plFile); + +} + + +// -------------------------------------------------------------------- +// writeBookshelf() +// +// -------------------------------------------------------------------- +void writeBookshelf(const char *filename) { + writeBookshelfNodes("out.nodes"); + writeBookshelfPl("out.pl"); +} -- cgit v1.2.3