Expose private members for unit tests
This commit is contained in:
parent
f3e098bbde
commit
1f96a5f5d7
@ -30,6 +30,12 @@
|
|||||||
|
|
||||||
#include "himbaechel_helpers.h"
|
#include "himbaechel_helpers.h"
|
||||||
|
|
||||||
|
#ifdef GTEST_API_
|
||||||
|
#define TESTABLE_PRIVATE public
|
||||||
|
#else
|
||||||
|
#define TESTABLE_PRIVATE private
|
||||||
|
#endif
|
||||||
|
|
||||||
NEXTPNR_NAMESPACE_BEGIN
|
NEXTPNR_NAMESPACE_BEGIN
|
||||||
|
|
||||||
struct NgUltraImpl : HimbaechelAPI
|
struct NgUltraImpl : HimbaechelAPI
|
||||||
@ -88,7 +94,7 @@ public:
|
|||||||
dict<BelId, IdString> unused_pll;
|
dict<BelId, IdString> unused_pll;
|
||||||
dict<BelId, BelId> dsp_cascade;
|
dict<BelId, BelId> dsp_cascade;
|
||||||
|
|
||||||
private:
|
TESTABLE_PRIVATE:
|
||||||
void write_bitstream_json(const std::string &filename);
|
void write_bitstream_json(const std::string &filename);
|
||||||
void route_lowskew();
|
void route_lowskew();
|
||||||
void parse_csv(const std::string &filename);
|
void parse_csv(const std::string &filename);
|
||||||
|
@ -181,7 +181,7 @@ void NgUltraPacker::update_dffs()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int make_init_with_const_input(int init, int input, bool value)
|
int NgUltraPacker::make_init_with_const_input(int init, int input, bool value)
|
||||||
{
|
{
|
||||||
int new_init = 0;
|
int new_init = 0;
|
||||||
for (int i = 0; i < 16; i++) {
|
for (int i = 0; i < 16; i++) {
|
||||||
@ -1441,7 +1441,7 @@ void NgUltraPacker::mandatory_param(CellInfo *cell, IdString param)
|
|||||||
log_error("Mandatory parameter '%s' of cell '%s'(%s) is missing.\n", param.c_str(ctx), cell->name.c_str(ctx), cell->type.c_str(ctx));
|
log_error("Mandatory parameter '%s' of cell '%s'(%s) is missing.\n", param.c_str(ctx), cell->name.c_str(ctx), cell->type.c_str(ctx));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int memory_width(int config, bool ecc)
|
int NgUltraPacker::memory_width(int config, bool ecc)
|
||||||
{
|
{
|
||||||
if (ecc) {
|
if (ecc) {
|
||||||
if (config==4)
|
if (config==4)
|
||||||
@ -1464,7 +1464,7 @@ static int memory_width(int config, bool ecc)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int memory_addr_bits(int config,bool ecc)
|
int NgUltraPacker::memory_addr_bits(int config,bool ecc)
|
||||||
{
|
{
|
||||||
if (ecc) {
|
if (ecc) {
|
||||||
if (config==4)
|
if (config==4)
|
||||||
|
@ -73,7 +73,7 @@ struct NgUltraPacker
|
|||||||
void duplicate_gck();
|
void duplicate_gck();
|
||||||
void insert_bypass_gck();
|
void insert_bypass_gck();
|
||||||
|
|
||||||
private:
|
TESTABLE_PRIVATE:
|
||||||
void set_lut_input_if_constant(CellInfo *cell, IdString input);
|
void set_lut_input_if_constant(CellInfo *cell, IdString input);
|
||||||
void lut_to_fe(CellInfo *lut, CellInfo *fe, bool no_dff, Property lut_table);
|
void lut_to_fe(CellInfo *lut, CellInfo *fe, bool no_dff, Property lut_table);
|
||||||
void dff_to_fe(CellInfo *dff, CellInfo *fe, bool pass_thru_lut);
|
void dff_to_fe(CellInfo *dff, CellInfo *fe, bool pass_thru_lut);
|
||||||
@ -100,6 +100,11 @@ private:
|
|||||||
void dsp_same_driver(IdString port, CellInfo *cell, CellInfo **target);
|
void dsp_same_driver(IdString port, CellInfo *cell, CellInfo **target);
|
||||||
void dsp_same_sink(IdString port, CellInfo *cell, CellInfo **target);
|
void dsp_same_sink(IdString port, CellInfo *cell, CellInfo **target);
|
||||||
|
|
||||||
|
int make_init_with_const_input(int init, int input, bool value);
|
||||||
|
|
||||||
|
int memory_width(int config, bool ecc);
|
||||||
|
int memory_addr_bits(int config,bool ecc);
|
||||||
|
|
||||||
void constrain_location(CellInfo *cell);
|
void constrain_location(CellInfo *cell);
|
||||||
// Cell creating
|
// Cell creating
|
||||||
std::unique_ptr<CellInfo> create_cell(IdString type, IdString name);
|
std::unique_ptr<CellInfo> create_cell(IdString type, IdString name);
|
||||||
|
Loading…
Reference in New Issue
Block a user