logo
 
 Main Menu
 Tutorials
 Forum
 Who's Online
11 user(s) are online (3 user(s) are browsing Forum)

Members: 0
Guests: 11

more...
 Top Posters
1
jgrad
298
2
ebrunvand
64
3 svchw 47
4
jbakos
36
5 ucgrad 35
6
jamesstine
33
7
ekalenda
33
8 pepet 25
9 reneezl 21
10 ashkan2000 20


« 1 ... 6 7 8 (9) 10 11 12 ... 25 »


#241 Re: Generating abstracts
jamesstine Posted on: 2005/12/15 12:12
not sure, but I think Johannes knows. But, I believe the University license doesn't cover SE anymore although I believe it is used internally.


#242 Re: Generating abstracts
jgrad Posted on: 2005/12/15 12:21
Hi,

Silicon Ensemble is in "DSMSE54". It is only available for Solaris, probably was never ported to Linux. Looking at the IIT license file it looks like it is still included in the University Program.

The VCAR and Encounter flows are very different. It depends what you are trying to do. If you only want to place and route hundreds of cells without timing constraints or timing analysis then VCAR would work. But for anything larger than a few thousand cells and for a timing-driven flow you will need to use Encounter.

In the OSU flow we actually use GDS to interface Encounter and Virtuoso. We include map files for both ends and shell scripts to automate the Virtuoso import. You may find that flow useful, it works well for us.

You can also use DEF. There is a function called "remastering" in Virtuoso that will allow you to change all abstracts to layout views.

Johannes


#243 Re: Generating abstracts
jbakos Posted on: 2005/12/15 12:28
Johannes,

Thank you so much. I'm downloading that package and the update now.

You've been a tremendous help. Thanks again.

-Jason


#244 Re: SignalStorm problems
jgrad Posted on: 2005/12/17 22:49
Just as a quick follow up, I created a simple Signalstorm tutorial in case anybody is interested:

http://www.chiptalk.org/modules/wfsection/article.php?articleid=15

Thanks,
Johannes Grad


#245 Re: SignalStorm
jgrad Posted on: 2005/12/17 22:50
Just as a quick follow up, I created a simple Signalstorm tutorial in case anybody is interested:

http://www.chiptalk.org/modules/wfsection/article.php?articleid=15

Thanks,
Johannes Grad


#246 Re: about SignalStorm
jgrad Posted on: 2005/12/17 22:51
Just as a quick follow up, I created a simple Signalstorm tutorial in case anybody is interested:

http://www.chiptalk.org/modules/wfsection/article.php?articleid=15

Thanks,
Johannes Grad


#247 Re: creating alf form layout
jgrad Posted on: 2005/12/17 22:51
Just as a quick follow up, I created a simple Signalstorm tutorial in case anybody is interested:

http://www.chiptalk.org/modules/wfsection/article.php?articleid=15

Thanks,
Johannes Grad


#248 Creating Pins From Labels
tikkir Posted on: 2005/12/18 18:57
Hi Johannes,
I have a question for you. At the end of the synthesis operation performed by Encounter, we get layouts with labels instead of pins. I use the option "Create Pins from Labels" to replace those labels with appropriate pins automatically. But this creates another problem. For example, a particular bit of a signal is created in the form of "signal[0]" instead of "signal<0>" which is compatible with schematics. I have to select all those pins and replace all those square brackets.
Is there an easier way of solving this problem?
Thanks.
Deniz.


#249 Re: Creating Pins From Labels
jgrad Posted on: 2005/12/18 19:08
Hi Deniz,

good to hear from you. There is actually a great solution for this problem, but only starting with IC 51-41. I am not sure why they haven't addressed this issue before (or maybe it was there and I didn't see it).

Anyway, in IC 51-41 in the "Import -> Stream" dialog there is an option where you can select that all brackets should be converted to the < > style. It works great for me. What you could do is open the dialog, set the option, and then write out a template script. That will give you the name of the switch to put in the template script we use in the OSU library.

Hopefully this is what you are looking for. If you modify the template script and you have a second, post it here so we can integrate it into future releases. I developed the original templates with IC50-33 so I didn't have the option back then.

Take care
Johannes


#250 Re: Creating Pins From Labels
jgrad Posted on: 2005/12/18 19:36
Just to follow up on my last email, the exact name of the option is

'replaceBusBitChar t

Adding this option to "osucells_enc2icfb" will take care of converting the brackets. Note I believe this works only with IC51-41. If anybody has time to check this out with IC50, please do and let me know!

Johannes


#251 Re: Creating Pins From Labels
tikkir Posted on: 2005/12/18 20:44
Hi Johannes,
Thanks for the help. It worked. I am attaching the modified "osucells_enc2icfb" script.
Deniz.


#252 Re: Creating Pins From Labels
tikkir Posted on: 2005/12/18 20:45
Here it comes again.


#253 Re: Creating Pins From Labels
tikkir Posted on: 2005/12/18 20:48
I don't know why I can't attach the file. Here it is a text file below.

#!/bin/sh
#
# Runs pipo to create a Cadence DFII library
# from final.gds2 from SOC Encounter
# 
# Johannes Grad, OSU

# Customize here:

echo $CDS_SITE/lib

techlibsDir=$CDS_SITE/lib

osucellsDir=/home/anunezal/OSU/osu_stdcells/lib

echo $techlibsDir
echo $osucellsDir
#############################################################

sourceFile=final.gds2
/bin/echo "Checking if $sourceFile exists......\c"
if (test ! -f $sourceFile ) then
    echo "FAILED"
    echo $sourceFile does not exist!
    echo Please run Encountner first or rerun if necessary
    exit 127
fi
echo "OK"

/bin/echo "Determining top-level name.........\c"
toplevel=`grep "set my_toplevel" encounter.conf | awk '{print $3;}'`
df2LibName=$toplevel
echo "OK ($toplevel)"

/bin/echo "Creating temporary cds.lib.........\c"
if (test -f cds.lib) 
    then mv cds.lib cds.lib.piposave
fi
echo "DEFINE $df2LibName ./$df2LibName">cds.lib
echo "DEFINE basic $techlibsDir/basic">>cds.lib
echo "OK"

/bin/echo "Determining Technology.............\c"
leffile=`grep "leffile" encounter.conf | awk '-F"' '{print $2;}' | awk -F/ '{print $NF}'`
if (test $leffile = "osu025_stdcells.lef") then
    echo "OK (TSMC 0.25um)"
    echo "DEFINE NCSU_TechLib_tsmc03 $techlibsDir/NCSU_TechLib_tsmc03">>cds.lib 
    sourceDir=$osucellsDir/tsmc025/OSU_stdcells_tsmc025
    sourceLib=OSU_stdcells_tsmc025
    echo "DEFINE $sourceLib $sourceDir">>cds.lib
elif (test $leffile = "osu05_stdcells.lef") then
    echo "OK (AMI 0.5um)"
    echo "DEFINE NCSU_TechLib_ami06 $techlibsDir/NCSU_TechLib_ami06">>cds.lib
    sourceDir=$osucellsDir/ami05/OSU_stdcells_ami05
    sourceLib=OSU_stdcells_ami05
    echo "DEFINE $sourceLib $sourceDir">>cds.lib
elif (test $leffile = "osu05_stdcells.stacks.lef") then
    echo "OK (AMI 0.5um stacks)"
    echo "DEFINE NCSU_TechLib_ami06 $techlibsDir/NCSU_TechLib_ami06">>cds.lib
    sourceDir=$osucellsDir/ami05/OSU_stdcells_ami05
    sourceLib=OSU_stdcells_ami05
    echo "DEFINE $sourceLib $sourceDir">>cds.lib
elif (test $leffile = "osu018_stdcells.lef") then
    echo "OK (TSMC 0.18um)"
    echo "DEFINE NCSU_TechLib_tsmc02 $techlibsDir/NCSU_TechLib_tsmc02">>cds.lib
    sourceDir=$osucellsDir/tsmc018/OSU_stdcells_tsmc018
    sourceLib=OSU_stdcells_tsmc018
    echo "DEFINE $sourceLib $sourceDir">>cds.lib
elif (test $leffile = "osu035_stdcells.lef") then
    echo "OK (AMI 0.35um)"
    echo "DEFINE NCSU_TechLib_tsmc04_4M2P $techlibsDir/NCSU_TechLib_tsmc04_4M2P">>cds.lib
    sourceDir=$osucellsDir/ami035/OSU_stdcells_ami035
    sourceLib=OSU_stdcells_ami035
    echo "DEFINE $sourceLib $sourceDir">>cds.lib

elif (test $leffile = "ibm18_6lm_ml.lef") then
    echo "OK (IBM 0.18um)"
    echo "DEFINE cmrf7sf /home/anunezal/ibm_cmos7rf/IBM_PDK/cmrf7sf/V1.2.0.6ML/cdslib/cmrf7sf">>cds.lib
    sourceDir=/home/anunezal/ibm_cmos7rf/artisan_libs/aci/sc-x/symbols/cadence/ibm18
    sourceLib=ibm18
    echo "DEFINE $sourceLib $sourceDir">>cds.lib
else
    echo "FAILED"
    echo "Unknown .lef file used for P&R. Sorry."
    exit 127
fi

/bin/echo "Removing old library...............\c"
/bin/rm -rf $df2LibName 
echo "OK ($df2LibName)"

/bin/echo "Creating new DFII library..........\c"
mkdir $df2LibName
cp $sourceDir/cdsinfo.tag $df2LibName
cp $sourceDir/prop.xx     $df2LibName
echo "OK ($df2LibName)"


/bin/echo "Creating PIPO script file..........\c"
echo  streamInKeys = list\(nil                                     >pipotemp.scr
echo          \'runDir                          \".\"             >>pipotemp.scr
echo          \'inFile                          \"final.gds2\"    >>pipotemp.scr
echo          \'primaryCell                     \"\"              >>pipotemp.scr
echo          \'libName                         \"$df2LibName\"   >>pipotemp.scr
echo          \'techfileName                    \"\"              >>pipotemp.scr
echo          \'scale                           0.001000          >>pipotemp.scr
echo          \'units                           \"micron\"        >>pipotemp.scr
echo          \'errFile                         \"PIPO.LOG\"      >>pipotemp.scr
echo          \'refLib                          t                 >>pipotemp.scr
echo          \'hierDepth                       32                >>pipotemp.scr
echo          \'maxVertices                     1024              >>pipotemp.scr
echo          \'checkPolygon                    nil               >>pipotemp.scr
echo          \'snapToGrid                      t                 >>pipotemp.scr
echo          \'arrayToSimMosaic                t                 >>pipotemp.scr
echo          \'caseSensitivity                 \"preserve\"      >>pipotemp.scr
echo          \'zeroPathToLine                  \"lines\"         >>pipotemp.scr
echo          \'convertNode                     \"ignore\"        >>pipotemp.scr
echo          \'skipUndefinedLPP                t                 >>pipotemp.scr
echo          \'ignoreBox                       nil               >>pipotemp.scr
echo          \'reportPrecision                 nil               >>pipotemp.scr
echo          \'runQuiet                        nil               >>pipotemp.scr
echo          \'saveAtTheEnd                    nil               >>pipotemp.scr
echo          \'noWriteExistCell                nil               >>pipotemp.scr
echo          \'NOUnmappingLayerWarning         nil               >>pipotemp.scr
echo          \'cellMapTable                    \"\"              >>pipotemp.scr
echo          \'layerTable                      \"gds2_icfb.map\" >>pipotemp.scr
echo          \'textFontTable                   \"\"              >>pipotemp.scr
echo          \'restorePin                      0                 >>pipotemp.scr
echo          \'propMapTable                    \"\"              >>pipotemp.scr
echo          \'propSeparator                   \",\"             >>pipotemp.scr
echo          \'userSkillFile                   \"\"              >>pipotemp.scr
echo          \'rodDir                          \"\"              >>pipotemp.scr
echo          \'refLibOrder                     \"$sourceLib\"    >>pipotemp.scr
echo          \'keepStreamCells                 nil               >>pipotemp.scr
echo          \'replaceBusBitChar               t                 >>pipotemp.scr
echo  \)  >>pipotemp.scr
echo "OK"

/bin/echo "Running PIPO (GDS Stream-In).......\c"
pipo strmin pipotemp.scr
grep "* Warning *" PIPO.LOG
grep "* Fatal *" PIPO.LOG
echo ""
echo ""

/bin/echo "Creating IHDL script file..........\c"
/bin/rm -f ihdl_file
echo dest_sch_lib:=$df2LibName        >ihdl_file
echo ref_lib_list:=basic, $sourceLib  >>ihdl_file
echo power_net:=vdd!                  >>ihdl_file
echo ground_net:=gnd!                 >>ihdl_file
echo "OK"

/bin/echo "Running IHDL (Verilog In)..........\c"
echo ""
ihdl -param ihdl_file -precompilelibrary $sourceLib final.v
echo ""

/bin/echo "Cleaning up........................\c"
/bin/rm -f cds.lib
/bin/rm -f pipotemp.scr
/bin/rm -f ihdl_file
if (test -f cds.lib.piposave) then 
   mv cds.lib.piposave cds.lib 
fi
echo "OK"
echo "Good by."


#254 signalstorm utilities - segmentation fault
mallikap Posted on: 2005/12/22 15:58
Hi

I am trying to use alf2lib, alf2html but i get a segmentation fault. No clue what's happening. Do these utilities need a separate license? I wouldn't think so.

Also, the db_output command gives me a warning while generating the alf for a C-element.
[Warning(db_output)] input circuit is too complicated.

Any ideas?

Thanks
Mallika


#255 Re: signalstorm utilities - segmentation fault
jgrad Posted on: 2005/12/22 16:07
Hi Malika,

Which OS and which TSI version are you using?

A segmentation fault would never occur because of something you did, it would only be caused by incompatibilities with the OS or the shared libraries. You may want to try it on a different machine, then with a different OS and then with a different SLC version. You could use "checkSysConf" to check if your system is supported. It comes with each Cadence product and checks for OS patches and so on.

Recently there was a thread where Jason Bakos found a bug in TSI42-USR3, but USR2 worked fine. In that case the tool had trouble accessing the file system.

Since its only a warning, does db_output still generate a file? Maybe if you convert it to LIB and check which timing arcs missing you could conclude where the problem might be. I'm not really familiar with asynch circuits. You might have to file a service request with Cadence. Have all commands prior to "db_output" been okay?

Keep us updated.

Johannes


#256 Re: signalstorm utilities - segmentation fault
mallikap Posted on: 2005/12/22 16:46
Hi Johannes,

Thanks for your reply. db_output does generate and alf with the warning and a .rep file without any warnings. I checked the alf and all the arcs are there. So i guess i could ignore the warning. Seems like the alf had more recision compared to the .rep. I was expecting the values to be identical.

I have TSI41-USR3. Trying to check if that's a problem.

Mallika


#257 Path setup for pks shell
rangans Posted on: 2006/1/4 21:34
Hi Johannes,
I am trying to run verilog from inside the PKS shell and I get the 'cds_root' not found in your path. Please correct your path. But I am able to run verilog from tcsh and bash properly. I looked around and everybody says I need to set the CDS_ROOT to point to the directory that holds encounter. I tried doing that but that did not help. What else could be a solution to this problem. Thanks.


#258 Re: Path setup for pks shell
jgrad Posted on: 2006/1/4 21:43
Hi,

I am not sure that running Cadence tools from within PKS is supported. Do you have a particular reason for this flow? You may find it easier to save your session to disk, exit PKS, run Verilog and then reload the session in PKS.

"cds_root" is a program that is part of all Cadence tools. It is used to locate the installation folder. The command "pks_shell" is actually only a csh script that performs some book keeping before starting the actual binary.

The PKS command line is a TCL shell, so it doesn't provide many of the features of the Unix command line. So I am not sure if it is possible to run Verilog from there.

Can you give more detail on the flow you are trying to build? Maybe we can find a solution.

Thanks,
Johannes


#259 Re: Path setup for pks shell
rangans Posted on: 2006/1/4 22:47
Hi Johannes,
Thanks for the fast reply. This is actually more of a convenience problem than an actual problem and please dont spend time on it if it hard. Actually I edit all my files and TCL scripts inside of the pks shell gui and then sysnthesize them from inside the pks shell itself. But I either have to open a new bash shell outside of this pks shell or exit back to my tcsh to be able to simulate the design and then once I find errors I need to come back to pks shell to debug errors.

Also regarding being able to run cadence tools from pks shell I have run verilog beore we upgraded to this new version from inside pks shell. Also as I had told you when I setup the CDS_ROOT from inside pks shell to point to encounter directory encounter runs fine from within pks shell.

If this is hard to solve I tried to use #!/usr/bin/bash on top of the script file and also bash -c <tcl file name with verilog command> from inside pks shell hoping it would run in bash but that didnt help either. Any help in that direction might help too. All I need is to be able to run verilog with out exiting pks shell. Sincerely appreciate your help. Thanks.


#260 Re: Path setup for pks shell
jgrad Posted on: 2006/1/5 13:58
Hi,

do you remember the version of PKS where you were able to do that? That should give as an idea of what changed in the new version.

Myself I have usually 3 or 4 terminals open, as well as a number of emacs windows to edit my scripts and code. That way I can also quickly copy and paste between windows with the mouse.

Couldn't you work faster if you started all tools in a separate terminal and left your text editors running in the background? Then you can quickly switch between them, as opposed to one after the other in a single PKS window.

Johannes


#261 About synthesizing floating ports in RTL Compiler
svchw Posted on: 2006/1/6 12:51
Hello Johannes,

We are using RTL Compiler 5.1, and wondering if you know there is any command/switch for synthesizing floating port of macros. For example, if some ports of a macro is not used, i.e. we would like them to be left unconnected, but the default setting in RTL Compiler is to have those ports connected to ground. The consequence is that Encounter wouldn't accept netlists like this. Do you have any suggestions on how to solve this problem?

Thanks and Happy New Year!

Wei


#262 Re: About synthesizing floating ports in RTL Compiler
jgrad Posted on: 2006/1/6 12:55
Hi,

could you post a small code excerpt that shows the problem?

thanks
Johannes


#263 Re: Path setup for pks shell
rangans Posted on: 2006/1/6 20:08
Hi Johannes,
Sorry for the delayed response. I setup auto-notify and misunderstood its operation. I thought it would send me an email when somebody posts a erply. Did not know that the mail would be sent to the chiptalk inbox.

Anyway regd the version I dont remember exactly what version it was but it was the last version of bgx_shell and then we upgraded to pks_shell. Anyway i am not having emacs installed on here and although I know editing stuff in vi I just hate it. since pks_shell gui editor supports syntax highlighting too I was using it to quickly indicate any mistakes I might make. Anyways I think I have to continue to open up a bash shell on the side and work from there!


#264 Re: Path setup for pks shell
jgrad Posted on: 2006/1/6 20:44
Hi,

sorry for the trouble with the notifications - in your profile you can specify whether you want to be notified by email or by PM (I don't really see the point of a PM either).

Have you tried running two instances of PKS? One for the editor and one for the synthesis?

Johannes


#265 Problem Solved! Path setup for pks shell
rangans Posted on: 2006/1/7 13:43
Hi Johannes,
Thanks for the information about notices. I corrected my profile. Is it possible for you to set this as default option for new users?
After setting up the CDS_ROOT variable we restarted the server yesterday and it seems to work both inside the GUI and outside. I am not sure why this behaviour. Thanks a lot for all your help.

PS: Regd running two instances I have tried been trying that when I had a bash shell on the outisde for simulation and the pks gui for editing. When i open a pks shell from bash I can do synthesis and all other pks shell commands and encounter as well but not verilog.


#266 Re: About synthesizing floating ports in RTL Compiler
jgrad Posted on: 2006/1/9 12:20
Hi,

do you still have the problem? If you solved it, could you share the solution with us?

Thanks!
Johannes


#267 ams v3.70 problem
pepet Posted on: 2006/1/10 12:58
I am using the ams v3.70 kit inside the virtouso layout and I have had some problems, for example when I want to verify the DRC this messagge appear:
Parsing drcExtractRules of "/......./divaDRC.rul"
error: Duplicate layer not allowed, The result will not be as expected.
264 net_poly1 = geomOr (poly1_cut poly1_cut).

I don't know if I am doing something wrong or the kit has problems.

Bye,
pepet


#268 Re: ams v3.70 problem
jgrad Posted on: 2006/1/10 14:42
Hi,

I personally don't have experience with AMS kits, you may have to consult with your vendor. However, I would suspect that they only support a certain version of Diva, so you may want to double-check which Diva version they want you to use. We had a similar case with the NCSU PDK, which didn't support IC51 well.

Maybe somebody else here has experience with AMS kits. You may also want to try the Mosis Yahoo mailing list, I think it has a number of AMS users on it.

Johannes


#269 Re: ams v3.70 problem
pepet Posted on: 2006/1/11 9:43
Thanks a lot for the quick replying,
pepet


#270 Re: ams v3.70 problem
ekalenda Posted on: 2006/1/11 14:45
The kit has problems. That message has been issued as a warning for quite some time now and finally shifted over to being an error. It was expected that people would actually look at the warnings and have them fixed. Sadly, this has not been the case.

If you get the next hotfix, due in early February, it will go back to being a warning until a build created after 4/1/2006. Maybe the decks will actually get fixed this time.

You can also fix the rules. After all, a geomOr (poly1_cut poly1_cut) should have been written as geomOr(poly1_cut) in the first place. It's kind of hard to understand why someone wrote it the way it is.

Of course, there are also the cases like geomAnd(A A) which is just a geomOr(A), if A is a raw layer. And then the ever amusing geomAndNot(A A) which is really a geomEmpty(), in terms of what results if A is a raw layer. In both cases I rather doubt that is what the rule writer thought he or she was doing.

In all three cases I've shown, if the input layer is already merged Diva is likely to produce either complete garbage, or crash. This being the reason for the message (which should have been there for the last 20 years). Since so many people would scream about their decks not working anymore, it was made a warning for a while to give them time to fix the decks. Which did not happen.



 Top
« 1 ... 6 7 8 (9) 10 11 12 ... 25 »




Powered by XOOPS 2.0 2001-2003 The XOOPS Project