Start developing BitstreamContext

This commit is contained in:
tangxifan 2019-09-13 21:27:47 -06:00
parent e64cfc5852
commit 29e80d157c
2 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,31 @@
/******************************************************************************
* This file introduces a data structure to store bitstream-related information
******************************************************************************/
#ifndef BITSTREAM_CONTEXT_H
#define BITSTREAM_CONTEXT_H
#include "vtr_vector.h"
#include "bitstream_context_fwd.h"
class BitstreamContext {
private: /* Internal data */
enum e_sram_orgz config_scheme_; /* The type of configuration protocol */
CircuitModelId& sram_model_; /* The memory circuit model used by the Bitstream generation */
size_t num_memory_bits_; /* Number of memory bits */
size_t num_bls_; /* Number of Bit Lines */
size_t num_wls_; /* Number of Word Lines */
size_t num_reserved_bls_; /* Number of reserved Bit Lines, ONLY applicable to RRAM-based FPGA */
size_t num_reserved_wls_; /* Number of reserved Word Lines, ONLY applicable to RRAM-based FPGA */
/* Unique id of a bit in the Bitstream */
vtr::vector<ConfigBitId, ConfigBitId> bit_ids_;
/* Bit line address of a bit in the Bitream: ONLY applicable to memory-decoders */
vtr::vector<ConfigBitId, size_t> bl_addr_;
/* Word line address of a bit in the Bitream: ONLY applicable to memory-decoders */
vtr::vector<ConfigBitId, size_t> wl_addr_;
/* value of a bit in the Bitream */
vtr::vector<ConfigBitId, bool> bit_val_;
};
#endif

View File

@ -0,0 +1,18 @@
/**************************************************
* This file includes only declarations for
* the data structures for module managers
* Please refer to module_manager.h for more details
*************************************************/
#ifndef MODULE_MANAGER_FWD_H
#define MODULE_MANAGER_FWD_H
#include "vtr_strong_id.h"
/* Strong Ids for ModuleManager */
struct config_bit_id_tag;
typedef vtr::StrongId<config_bit_id_tag> ConfigBitId;
class BitstreamContext;
#endif