Skip to content

Commit a3968d1

Browse files
committedOct 15, 2016
gp4par: DRC messages are now indented. Added some skeleton code for PGA conflicts with IOB or ADC, but not yet functional as ADC isn't implemented.
1 parent 59996e5 commit a3968d1

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed
 

Diff for: ‎src/gp4par/par_main.cpp

+16-3
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ bool DoPAR(Greenpak4Netlist* netlist, Greenpak4Device* device)
7777
void PostPARDRC(PARGraph* netlist, Greenpak4Device* device)
7878
{
7979
LogNotice("\nChecking post-route design rules...\n");
80+
LogIndenter li;
8081

8182
//Check for nodes in the netlist that have no load
8283
for(uint32_t i=0; i<netlist->GetNumNodes(); i++)
@@ -154,15 +155,27 @@ void PostPARDRC(PARGraph* netlist, Greenpak4Device* device)
154155

155156
//Check for ABUF with inputs driven from non-analog IOs
156157
auto abuf = device->GetAbuf();
157-
CheckAnalogIbuf(abuf, dynamic_cast<Greenpak4IOB*>(abuf->GetInput().GetRealEntity()));
158+
if(abuf)
159+
CheckAnalogIbuf(abuf, dynamic_cast<Greenpak4IOB*>(abuf->GetInput().GetRealEntity()));
158160

159161
//Check for PGA with inputs driven from non-analog IOs
160162
auto pga = device->GetPGA();
161-
CheckAnalogIbuf(abuf, dynamic_cast<Greenpak4IOB*>(pga->GetInputP().GetRealEntity()));
162-
CheckAnalogIbuf(abuf, dynamic_cast<Greenpak4IOB*>(pga->GetInputN().GetRealEntity()));
163+
if(pga)
164+
{
165+
CheckAnalogIbuf(abuf, dynamic_cast<Greenpak4IOB*>(pga->GetInputP().GetRealEntity()));
166+
CheckAnalogIbuf(abuf, dynamic_cast<Greenpak4IOB*>(pga->GetInputN().GetRealEntity()));
167+
}
163168

164169
//TODO: Check for VREF with inputs driven from non-analog IOs
165170

171+
//TODO: Check for PGA driving an IOB when ADC is enabled
172+
//auto adc = device->GetADC();
173+
if(pga /*&& adc*/)
174+
{
175+
//We do not yet implement the ADC
176+
//so nothing to do here
177+
}
178+
166179
//Check for multiple ACMPs using different settings of ACMP0's output mux
167180
typedef pair<string, Greenpak4EntityOutput> spair;
168181
switch(device->GetPart())

0 commit comments

Comments
 (0)
Please sign in to comment.