Layout

  • Thread starter sridhartv25@gmail.com
  • Start date
S

sridhartv25@gmail.com

Guest
Hello all,
I am trying to prepare a checklist for the layout using skill.
Previously we used to do this in word document.
Instead of that I want to implement that using skill , How can I do
that,
where to start,
Eagerly waiting for the replies.
Regards,
Sridhar.
 
Hi Sridhar,

What is in your word document you want to translate into Skill ?
That would be a good start ...

Cheers,
Riad.
 
Thanks Riad for ur reply,

There is a biglist of around 60 to 70 points
such as Use dummies for matched structures.....
Now at first I want to prepare a form including all those points with
the options yes or no.
But filling the form automatically by checking the layout is a
difficult task I think,
Just suggest me Riad,
whether it should be a manual fill,
or should be done in such away that , the skill script should check
the layout and automatically fill the form.

Regards,
Sridhar.
 
Sridhar,

Are you trying to write s Skill script that would check whether your
layout has got dummies around matched structures or not ? Well, good
luck mate ! This is just one point out of the 70 ...
The idea is good but I think one has got to keep pragmatic. Some of
the checks are pretty easy to be automated, some others are less
easier. In fact, It might take you loads of time to write a script
that is not likely to achieve a 100% coverage. Besides, the Magic EDA
tools that does this job does not exist, there is some marketing hype
out there.
In practice, people use 'manual' checklist and Design/Layout review
meetings for this.

I used to design Analog IPs in my young days and we use to Tag the IPs
with a certain maturity level. In order to qualify your IP for a
certain level, you need to go through a web-based repository where you
need to tick all the checks before being able to submit your IP. You
then print out the report and walk down the layout review meeting
where the IP is getting carefully watched by your peers/customers. You
then will learn whether your IP succeeded. The checklist gets tougher
when the IP reaches the 'Production' maturity.

That said, if you are able to efficiently automate some checks, then
it's always better than a manual monitoring.

Hope this is helping anyway.
Regards,
Riad.
 
Really this helps a lot Riad,
Thanks for the reply...
 
Hello Riad,


I thought of first preparing a checklist which needs to be filled
manually,

I had few doubts on this ,

In the below code I had written a radiofield with the options yes and
no.
Like this to include all the 70 points I need to create 70 radio
fields,
instead of this how can I create a single radio field with all the 70
prompts included.

One more thing is when the user clicks no button "Remark" field should
be displayed, and take the reasons from the user.
But here I used hiCreateIntField() which is wrong as it expect a
integer but not a string.

Finally I want to save it to a text editor file in cadence , How can I
do that.



***********************************************************************************************
procedure(CCSchecklist()
r1 = hiCreateRadioField(

?name 'r1

?prompt "Is Dummies
placed for matching pattern : "

?value "no"

?choices list("yes"
"no")

)

r2 = hiCreateRadioField(

?name 'r2

?prompt "Sheliding for
sensitive signals taken care : "

?value "no"

?choices list("yes"
"no")

)

r3 = hiCreateRadioField(

?name 'r3

?prompt "DRC & LVS is
clean : "

?value "no"

?choices list("yes"
"no")

)

re1 =hiCreateIntField(
?name 'remarks
?prompt "Remarks"
?value nil
)




hiCreateAppForm(?name 'layoutchecklist

?formTitle "Layout Checklist v1"

?fields list(r1 re1 r2 r3)
)

hiDisplayForm(layoutchecklist)

)
CCSchecklist()
**************************************************************************************







Regards,
Sridhar.
 
You can automate creation of multiple fields as follows:-

note:- 1. This example creates 3 buttons
2. You'll need to expand StringList & upper limit of i to
include more

/**********************************************
*
*
* Layout Checklist Creation Form
*
*
*
**********************************************/

procedure( LayoutChecklist()


;------- create the list of variables

s = nil

for( i 1 3

N = concat( "q" i )

s = tconc(s N)

)

s = car(s)


;------- assign prompt input for each elements

procedure( MyGetString( V )

StringList = list(
"Dummies"
"Metal fill"
"Pad ring"
)


m = member( V s )



if( !m then
printf( "%L is not in s", V)

else

p = length(s) - length(m)

nth(p StringList)
)


); proc



;------- List of radio fields to be created

Rlist = list()

foreach( x s

X = eval('x)

pvalue = MyGetString(X)


R = hiCreateRadioField(
?name x
?prompt pvalue
?value "no"
?choices list("yes" "no")
)

Rlist = tconc( Rlist R )



); foreach


Rlist = car(Rlist)




;------- Create coordinate lists for all the fields

w = 0
S = list()

for( e 0 length(Rlist)-1

w = e*20
h = list( nth(e Rlist) 0:w 100:50 75)
S = tconc( S h )

); foreach

S = car(S)


;------- Create App Form


hiCreateAppForm(

?name 'layoutchecklist
?formTitle "Layout Checklist v1"
?fields S
)


hiDisplayForm(layoutchecklist)

); proc


;;;---------End
 

Welcome to EDABoard.com

Sponsor

Back
Top