[engine] fixing a bug in fabric bitstream encoding
This commit is contained in:
parent
fec4a4a29e
commit
ea6f609181
|
@ -224,15 +224,12 @@ class FabricBitstream {
|
|||
* - bit-x number: which encodes the 'x' bits into a number. For example,
|
||||
* 101x1 -> 00010 -> 2
|
||||
*
|
||||
* TODO: There is a limitation here, when the length of address vector is more than 64,
|
||||
* A size_t number overflows (cannot represent any binary number > 64 bit).
|
||||
* Such thing can entirely happen even in a medium sized FPGA.
|
||||
* A solution can be use multiple size_t to fit. But clearly, we should not use vector in vector, which causes large memory overhead!
|
||||
* Note that when the length of address vector is more than 64, we use multiple 64-bit data to store the encoded values
|
||||
*/
|
||||
vtr::vector<FabricBitId, size_t> bit_address_1bits_;
|
||||
vtr::vector<FabricBitId, size_t> bit_address_xbits_;
|
||||
vtr::vector<FabricBitId, size_t> bit_wl_address_1bits_;
|
||||
vtr::vector<FabricBitId, size_t> bit_wl_address_xbits_;
|
||||
vtr::vector<FabricBitId, std::vector<uint64_t>> bit_address_1bits_;
|
||||
vtr::vector<FabricBitId, std::vector<uint64_t>> bit_address_xbits_;
|
||||
vtr::vector<FabricBitId, std::vector<uint64_t>> bit_wl_address_1bits_;
|
||||
vtr::vector<FabricBitId, std::vector<uint64_t>> bit_wl_address_xbits_;
|
||||
|
||||
/* Data input (Din) bits: this is designed for memory decoders */
|
||||
vtr::vector<FabricBitId, char> bit_dins_;
|
||||
|
|
Loading…
Reference in New Issue