diff options
author | Keith Rothman <537074+litghost@users.noreply.github.com> | 2021-03-22 15:55:34 -0700 |
---|---|---|
committer | Keith Rothman <537074+litghost@users.noreply.github.com> | 2021-03-23 09:01:43 -0700 |
commit | 8a50b02b9bbaf292fb6294eda5df162f3295f149 (patch) | |
tree | 5caa463594b7e2468b4d17ec33aa019ec42cb22d /fpga_interchange/cell_parameters.h | |
parent | af1fba9f5232706af4ae31ad5b0186b44de03cfa (diff) | |
download | nextpnr-8a50b02b9bbaf292fb6294eda5df162f3295f149.tar.gz nextpnr-8a50b02b9bbaf292fb6294eda5df162f3295f149.tar.bz2 nextpnr-8a50b02b9bbaf292fb6294eda5df162f3295f149.zip |
Use new parameter definition data in FPGA interchange processing.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
Diffstat (limited to 'fpga_interchange/cell_parameters.h')
-rw-r--r-- | fpga_interchange/cell_parameters.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/fpga_interchange/cell_parameters.h b/fpga_interchange/cell_parameters.h new file mode 100644 index 00000000..3507a81f --- /dev/null +++ b/fpga_interchange/cell_parameters.h @@ -0,0 +1,55 @@ +/* + * nextpnr -- Next Generation Place and Route + * + * Copyright (C) 2021 Symbiflow Authors + * + * + * 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. + * + */ + +#ifndef CELL_PARAMETERS_H +#define CELL_PARAMETERS_H + +#include <regex> + +#include "chipdb.h" +#include "dynamic_bitarray.h" +#include "hash_table.h" +#include "nextpnr_namespaces.h" +#include "property.h" + +NEXTPNR_NAMESPACE_BEGIN + +struct Context; + +struct CellParameters +{ + CellParameters(); + void init(const Context *ctx); + DynamicBitarray<> parse_int_like(const Context *ctx, IdString cell_type, IdString parameter, + const Property &property) const; + bool compare_property(const Context *ctx, IdString cell_type, IdString parameter, const Property &property, + IdString value_to_compare) const; + + HashTables::HashMap<std::pair<IdString, IdString>, const CellParameterPOD *> parameters; + + std::regex verilog_binary_re; + std::regex verilog_hex_re; + std::regex c_binary_re; + std::regex c_hex_re; +}; + +NEXTPNR_NAMESPACE_END + +#endif /* CELL_PARAMETERS_H */ |