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 */  | 
