summaryrefslogtreecommitdiffstats
path: root/src/map/mio
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2013-07-29 10:10:21 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2013-07-29 10:10:21 -0700
commit4c6804c3aea08f6aec693c686ec409191e983ca4 (patch)
treef0153e44ffd69a9e576084157a21929f3e512a53 /src/map/mio
parenta206287b21632331eb6c433a8c1854a6baecbe40 (diff)
downloadabc-4c6804c3aea08f6aec693c686ec409191e983ca4.tar.gz
abc-4c6804c3aea08f6aec693c686ec409191e983ca4.tar.bz2
abc-4c6804c3aea08f6aec693c686ec409191e983ca4.zip
Improved gate-sizing.
Diffstat (limited to 'src/map/mio')
-rw-r--r--src/map/mio/mio.h1
-rw-r--r--src/map/mio/mioApi.c9
2 files changed, 10 insertions, 0 deletions
diff --git a/src/map/mio/mio.h b/src/map/mio/mio.h
index 2d78fec8..1175406c 100644
--- a/src/map/mio/mio.h
+++ b/src/map/mio/mio.h
@@ -121,6 +121,7 @@ extern char * Mio_GateReadSop ( Mio_Gate_t * pGate );
extern word Mio_GateReadTruth ( Mio_Gate_t * pGate );
extern int Mio_GateReadValue ( Mio_Gate_t * pGate );
extern char * Mio_GateReadPinName ( Mio_Gate_t * pGate, int iPin );
+extern float Mio_GateReadPinDelay ( Mio_Gate_t * pGate, int iPin );
extern void Mio_GateSetValue ( Mio_Gate_t * pGate, int Value );
extern char * Mio_PinReadName ( Mio_Pin_t * pPin );
extern Mio_PinPhase_t Mio_PinReadPhase ( Mio_Pin_t * pPin );
diff --git a/src/map/mio/mioApi.c b/src/map/mio/mioApi.c
index 0ae12e89..859062a1 100644
--- a/src/map/mio/mioApi.c
+++ b/src/map/mio/mioApi.c
@@ -198,6 +198,15 @@ char * Mio_GateReadPinName( Mio_Gate_t * pGate, int iPin )
return Mio_PinReadName(pPin);
return NULL;
}
+float Mio_GateReadPinDelay( Mio_Gate_t * pGate, int iPin )
+{
+ Mio_Pin_t * pPin;
+ int i = 0;
+ Mio_GateForEachPin( pGate, pPin )
+ if ( i++ == iPin )
+ return 0.5 * pPin->dDelayBlockRise + 0.5 * pPin->dDelayBlockFall;
+ return ABC_INFINITY;
+}
////////////////////////////////////////////////////////////////////////
/// END OF FILE ///