Add "nextpnr.h"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
This commit is contained in:
parent
ac67482380
commit
be73894bea
@ -17,4 +17,4 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "design.h"
|
||||
#include "nextpnr.h"
|
||||
|
@ -20,50 +20,9 @@
|
||||
#ifndef DESIGN_H
|
||||
#define DESIGN_H
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdint.h>
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
#include <unordered_set>
|
||||
#include <vector>
|
||||
|
||||
// replace with proper IdString later
|
||||
typedef std::string IdString;
|
||||
|
||||
struct GraphicElement
|
||||
{
|
||||
// This will control colour, and there should be separate
|
||||
// visibility controls in some cases also
|
||||
enum
|
||||
{
|
||||
// Wires entirely inside tiles, e.g. between switchbox and bels
|
||||
G_LOCAL_WIRES,
|
||||
// Standard inter-tile routing
|
||||
G_GENERAL_WIRES,
|
||||
// Special inter-tile wires, e.g. carry chains
|
||||
G_DEDICATED_WIRES,
|
||||
G_BEL_OUTLINE,
|
||||
G_SWITCHBOX_OUTLINE,
|
||||
G_TILE_OUTLINE,
|
||||
G_BEL_PINS,
|
||||
G_SWITCHBOX_PINS,
|
||||
G_BEL_MISC,
|
||||
G_TILE_MISC,
|
||||
} style;
|
||||
|
||||
enum
|
||||
{
|
||||
G_LINE,
|
||||
G_BOX,
|
||||
G_CIRCLE,
|
||||
G_LABEL
|
||||
} type;
|
||||
|
||||
float x1, y1, x2, y2, z;
|
||||
std::string text;
|
||||
};
|
||||
|
||||
#include "chip.h"
|
||||
#ifndef NEXTPNR_H
|
||||
#error Include "design.h" via "nextpnr.h" only.
|
||||
#endif
|
||||
|
||||
struct CellInfo;
|
||||
|
||||
|
@ -26,7 +26,6 @@
|
||||
#include <string.h>
|
||||
#include <vector>
|
||||
|
||||
#include "design.h"
|
||||
#include "log.h"
|
||||
|
||||
std::vector<FILE *> log_files;
|
||||
|
@ -27,7 +27,7 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "design.h"
|
||||
#include "nextpnr.h"
|
||||
|
||||
// from libs/sha1/sha1.h
|
||||
|
||||
|
69
common/nextpnr.h
Normal file
69
common/nextpnr.h
Normal file
@ -0,0 +1,69 @@
|
||||
/*
|
||||
* nextpnr -- Next Generation Place and Route
|
||||
*
|
||||
* Copyright (C) 2018 Clifford Wolf <clifford@clifford.at>
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdint.h>
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
#include <unordered_set>
|
||||
#include <vector>
|
||||
|
||||
#ifndef NEXTPNR_H
|
||||
#define NEXTPNR_H
|
||||
|
||||
// replace with proper IdString later
|
||||
typedef std::string IdString;
|
||||
|
||||
struct GraphicElement
|
||||
{
|
||||
// This will control colour, and there should be separate
|
||||
// visibility controls in some cases also
|
||||
enum
|
||||
{
|
||||
// Wires entirely inside tiles, e.g. between switchbox and bels
|
||||
G_LOCAL_WIRES,
|
||||
// Standard inter-tile routing
|
||||
G_GENERAL_WIRES,
|
||||
// Special inter-tile wires, e.g. carry chains
|
||||
G_DEDICATED_WIRES,
|
||||
G_BEL_OUTLINE,
|
||||
G_SWITCHBOX_OUTLINE,
|
||||
G_TILE_OUTLINE,
|
||||
G_BEL_PINS,
|
||||
G_SWITCHBOX_PINS,
|
||||
G_BEL_MISC,
|
||||
G_TILE_MISC,
|
||||
} style;
|
||||
|
||||
enum
|
||||
{
|
||||
G_LINE,
|
||||
G_BOX,
|
||||
G_CIRCLE,
|
||||
G_LABEL
|
||||
} type;
|
||||
|
||||
float x1, y1, x2, y2, z;
|
||||
std::string text;
|
||||
};
|
||||
|
||||
#include "chip.h"
|
||||
#include "design.h"
|
||||
|
||||
#endif
|
@ -28,7 +28,6 @@
|
||||
#include <string.h>
|
||||
#include <vector>
|
||||
|
||||
#include "design.h"
|
||||
#include "log.h"
|
||||
#include "place.h"
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
#ifndef PLACE_H
|
||||
#define PLACE_H
|
||||
|
||||
#include "design.h"
|
||||
#include "nextpnr.h"
|
||||
|
||||
extern void place_design(Design *design);
|
||||
|
||||
|
@ -18,13 +18,10 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "chip.h"
|
||||
#include "design.h"
|
||||
#include "pybindings.h"
|
||||
#include "emb.h"
|
||||
#include "jsonparse.h"
|
||||
|
||||
// include after design.h/chip.h
|
||||
#include "pybindings.h"
|
||||
#include "nextpnr.h"
|
||||
|
||||
#include <fstream>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <assert.h>
|
||||
#include <string>
|
||||
#include "design.h"
|
||||
#include "log.h"
|
||||
#include "nextpnr.h"
|
||||
|
||||
bool check_all_nets_driven(Design *design)
|
||||
{
|
||||
|
@ -17,7 +17,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "chip.h"
|
||||
#include "nextpnr.h"
|
||||
|
||||
Chip::Chip(ChipArgs) {}
|
||||
|
||||
|
@ -17,11 +17,13 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "design.h"
|
||||
|
||||
#ifndef CHIP_H
|
||||
#define CHIP_H
|
||||
|
||||
#ifndef NEXTPNR_H
|
||||
#error Include "chip.h" via "nextpnr.h" only.
|
||||
#endif
|
||||
|
||||
struct DelayInfo
|
||||
{
|
||||
float delay = 0;
|
||||
|
@ -20,8 +20,8 @@
|
||||
#ifndef PYTHON_MODULE
|
||||
|
||||
#include <QApplication>
|
||||
#include "design.h"
|
||||
#include "mainwindow.h"
|
||||
#include "nextpnr.h"
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
|
@ -18,10 +18,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "chip.h"
|
||||
#include "design.h"
|
||||
|
||||
// include after design.h/chip.h
|
||||
#include "pybindings.h"
|
||||
#include "nextpnr.h"
|
||||
|
||||
void arch_wrap_python() { class_<ChipArgs>("ChipArgs"); }
|
||||
|
@ -27,8 +27,7 @@
|
||||
#include <iostream>
|
||||
#include <log.h>
|
||||
#include <string>
|
||||
#include "chip.h"
|
||||
#include "design.h"
|
||||
#include "nextpnr.h"
|
||||
|
||||
extern bool check_all_nets_driven(Design *design);
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
#include <istream>
|
||||
#include <string>
|
||||
#include "design.h"
|
||||
#include "nextpnr.h"
|
||||
|
||||
extern void parse_json_file(std::istream *&, std::string &, Design *);
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
#include <QOpenGLFunctions>
|
||||
#include <QOpenGLWidget>
|
||||
#include <QPainter>
|
||||
#include "design.h"
|
||||
#include "nextpnr.h"
|
||||
|
||||
class FPGAViewWidget : public QOpenGLWidget, protected QOpenGLFunctions
|
||||
{
|
||||
|
@ -1,7 +1,8 @@
|
||||
#ifndef MAINWINDOW_H
|
||||
#define MAINWINDOW_H
|
||||
#include "design.h"
|
||||
|
||||
#include "emb.h"
|
||||
#include "nextpnr.h"
|
||||
|
||||
#include <QMainWindow>
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
#define ICE40_BITSTREAM_H
|
||||
|
||||
#include <iostream>
|
||||
#include "chip.h"
|
||||
#include "nextpnr.h"
|
||||
|
||||
void write_asc(const Design &design, std::ostream &out);
|
||||
|
||||
|
@ -17,8 +17,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "chip.h"
|
||||
#include "log.h"
|
||||
#include "nextpnr.h"
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
|
@ -17,11 +17,13 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "design.h"
|
||||
|
||||
#ifndef CHIP_H
|
||||
#define CHIP_H
|
||||
|
||||
#ifndef NEXTPNR_H
|
||||
#error Include "chip.h" via "nextpnr.h" only.
|
||||
#endif
|
||||
|
||||
struct DelayInfo
|
||||
{
|
||||
float delay = 0;
|
||||
|
@ -311,7 +311,7 @@ elif dev_name == "5k":
|
||||
add_bel_gb( 6, 0, 6)
|
||||
add_bel_gb(19, 0, 7)
|
||||
|
||||
print('#include "chip.h"')
|
||||
print('#include "nextpnr.h"')
|
||||
|
||||
for bel in range(len(bel_name)):
|
||||
print("static BelWirePOD bel_wires_%d[%d] = {" % (bel, len(bel_wires[bel])))
|
||||
|
@ -25,10 +25,10 @@
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include "bitstream.h"
|
||||
#include "design.h"
|
||||
#include "jsonparse.h"
|
||||
#include "log.h"
|
||||
#include "mainwindow.h"
|
||||
#include "nextpnr.h"
|
||||
#include "place.h"
|
||||
#include "pybindings.h"
|
||||
#include "route.h"
|
||||
|
@ -18,11 +18,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "chip.h"
|
||||
#include "design.h"
|
||||
|
||||
// include after design.h/chip.h
|
||||
#include "pybindings.h"
|
||||
#include "nextpnr.h"
|
||||
|
||||
void arch_wrap_python()
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user