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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 | /**
* Copyright (c) 2009-2024 by Altair Engineering, Inc.
* All rights reserved.
*
* Altair Engineering, Inc. makes this software available as part of the Vision
* tool platform. As long as you are a licensee of the Vision tool platform
* you may make copies of the software and modify it to be used within the
* Vision tool platform, but you must include all of this notice on any copy.
* Redistribution without written permission to any third party, with or
* without modification, is not permitted.
* Altair Engineering, Inc. does not warrant that this software is error free
* or fit for any purpose. Altair Engineering, Inc. disclaims any liability for
* all claims, expenses, losses, damages and costs any user may incur as a
* result of using, copying or modifying the software.
* ============================================================================
* @c-code
* Parse NDL Data
* @section
* C Level Examples
* @description
* Parse NDL files and create zdb. The proprietary netlist format is the
* gate-level design description language named
* 'Network Description Language' (NDL) used by LSI.
* @files
* cust23/ndl2zdb.c
* cust23/ndlparse.y
* cust23/ndlscan.l
* @tag
* zdb
*/
#include <stdio.h>
#include "zdb/zdb.h"
#include "zdb/zdbmem.h"
#include "zdb/zoper.h"
extern DB* zdb;
DB* zdb;
extern int ndlparse(void); /* from ndlparse.y */
extern FILE* ndlin; /* from ndlscan.l */
int main(int argc, char* argv[]) {
int result;
if (argc != 3) {
return 1;
}
zdb = zNewDataBase();
ndlin = fopen(argv[1], "rb");
result = ndlparse();
fclose(ndlin);
zOperGuessTopModule(zdb, zFalse, zTrue, zFalse, zFalse, zFalse);
zSaveDataBase(zdb, argv[2]);
zCloseDataBase(zdb);
return result;
}
|