File: floorplan.h

package info (click to toggle)
fpgatools 0.0%2B201212-1.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,176 kB
  • sloc: ansic: 25,528; makefile: 284; sh: 119; awk: 75
file content (38 lines) | stat: -rw-r--r-- 1,370 bytes parent folder | download | duplicates (2)
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
//
// Author: Wolfgang Spraul
//
// This is free and unencumbered software released into the public domain.
// For details see the UNLICENSE file at the root of the source tree.
//

//
// Design principles of a floorplan file
//
// What needs to be in the file:
// - all devices, configuration for each device
//   probably multiple lines that are adding config strings
// - wires maybe separately, and/or as named connection points
//   in tiles?
// - connection pairs that can be enabled/disabled
// - global flags and configuration registers
// - the static data should be optional (unused conn pairs,
//   unused devices, wires)
//
// - each line should be in the global namespace, line order
//   should not matter
// - file should be easily parsable with bison
// - lines should typically not exceed 80 characters
//

int read_floorplan(struct fpga_model* model, FILE* f);
#define FP_DEFAULT	0x0000
#define FP_NO_HEADER	0x0001
int write_floorplan(FILE* f, struct fpga_model* model, int flags);

void printf_version(FILE* f);
int printf_tiles(FILE* f, struct fpga_model* model);
int printf_devices(FILE* f, struct fpga_model* model, int config_only);
int printf_ports(FILE* f, struct fpga_model* model);
int printf_conns(FILE* f, struct fpga_model* model);
int printf_switches(FILE* f, struct fpga_model* model);
int printf_nets(FILE* f, struct fpga_model* model);