design tools overview

Upload: gopal-sridhar

Post on 07-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Design Tools Overview

    1/22

    1

    ASIC Block LevelDesign Tools

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    2/22

    2

    Agenda Xemacs

    Verilint

    Verilog-XL By example NC-Verilog By example

    Signal Scan By example

    0-In To be supplied Debussy To be supplied

    Verisure Separate Presentation

    Synthesis Separate Presentation

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    3/22

    3

    (x)emacs: Files and Buffers

    EMACS INVOCATION

    (x)emacs filename1 Typical invocation fo r one or more files (multiple files for emacs only).

    (x)emacs u username filename Load a specific usernames .emacs file

    (x)emacs nw Invoke without xterm window

    ls regexp | xargs xemacs Invoke xemacs loading many files.

    Keystrokes Command Name Action

    C-x C-f

    find-file Edit (or switch to already opened) buffer

    containing filename. Create new

    buffer if the filename does not exist.

    C-x C-s save-buffer Save file.C-x C-c save-buffers-kill-emacs Exit Emacs possibly saving modified

    (unsaved) buffers.

    C-x i filename insert-file Insert contents offilename at cursor

    position.

    C-x C-wfilename

    write-file Write buffer contents to named file

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    4/22

    4

    Copy /user/vlsi/.emacs to your home

    directory.

    touch vlsi_env in your .appl directory

    makes xemacs invoke the correct binary

    regardless of platform

    creates alias "eclean" to clean up pesky saveand crash files.

    (x)emacs: Setup

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    5/22

    5

    (x)emacs: Windows

    Keystrokes Command Name ActionC-x 2 split-window-vertically Split the selected window into 2

    windows, over/under

    C-x 1 delete-other-windows Close all but the current window.C-x 0 kill-window Close the current window.C-x o other-window Make the next window the current

    window. Move to the next window.

    (note 1)

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    6/22

    6

    (x)emacs: Help

    Keystrokes Command Name ActionC-h t help-with-tutorial Run the Emacs tutorial.C-h k

    key-sequence

    describe-key What command does this keystroke

    sequence, and what does it do?

    C-h a

    concept

    command-apropos What commands are involved with this

    concept?C-h fcommand

    describe-function Gives online help for a given command

    name.

    C-h wcommand

    where-is What is the key binding for this

    command?

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    7/22

    7

    (x)emacs: Command Control

    Keystrokes omma ame ctioESC x execute-extended-command

    re ix or entering any Comma

    ame

    listed.C-g keyboard-quit Quit current command.

    C-x u advertised-undo Undo previous command(s) (repeatable).

    C-x ESC (note

    1)

    repeat-complex-command

    dit and re-evaluate last complex

    command, or

    th rom last.

    ESC nnn digital argument. nnn is a repeat count

    or the next command.

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    8/22

    8

    (x)emacs: Cursor Movement

    Keystrokes Command Name ActionC-f

    forward-char Move forward character (right).

    C-b

    backward-char Move backward character (left).

    C-p

    previous-line Move to previous line (up).

    C-n

    next-line Move to next line (down).

    C-vPAGE DOWN

    scroll-up Move forward one screen.

    ESC v

    PAGE

    Pscroll-down Move backward one screen

    ESC END

    end-of-buffer Move to the end of the buffer.

    C-a beginning-of-line Move to the beginning of line.C-e end-of-line Move to the end of line.F8 goto-line Go to line n of file.

    C-l recenter Redraw screen with the current line inthe center.

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    9/22

    9

    (x)emacs: Cut, Copy, Paste

    Keystrokes Comma ame ctio

    C-d delete-character

    elete character under cursor.

    DEL delete-back ard-char

    elete previous character.

    C-k kill-line

    elete rom cursor to end o line

    C-SPACE

    C-@

    1

    set-mark-command Set mark

    here point is.

    C-w

    SHFT-DEL

    F2

    kill-region

    elete the region.

    ESC w

    C-INSERT

    SHFT-F2

    kill-ring-save opy the region.

    C-y

    SHFT-INSERT

    F3

    yank

    aste most recently killed or copied text.

    Hughes roprietary II

  • 8/6/2019 Design Tools Overview

    10/22

    10

    (x)emacs: Search and Replace

    Keystrokes Comma ame ctio

    C-s

    searchstring

    RETURN

    isearch- or

    ard Start incremental search or

    ard; ollo

    by search string.

    lso, ind next

    occurrence (for

    ard) ofsearch string.

    C-r

    searchstring

    RETURN

    isearch-back

    ard Start incremental search back

    ard;

    lso,

    find next occurrence (back ard) of

    search string.

    ESC %

    from-string

    to-string

    query-replace

    eplace some occurrences offrom-string!

    ith to-string.

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    11/22

    11

    (x)emacs: Keyboard Macros

    Making it all worth while!

    "

    ssential # ommands

    Keystrokes Comman ame ctionC-x (

    F4

    start-kbd-macro Start macro definition.

    C-x )

    F5

    end-kbd-macro$

    nd macro definition.

    C-x e

    F6

    call-last-kbd-macro$

    xecute last macro defined.

    ESC n C-x e

    ESC n F6

    digit-argument and

    call-last-kbd-macro

    %

    xecute the last macro definedn times.

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    12/22

    12

    (x)emacs: Wrapup

    Keystrokes Comma ame ctio

    print-buffer&

    rint current buffer to lp.

    untabify'

    hange all tabs into the eqivalent

    number ofspaces.' -x ' -l do

    (

    ncase-region ' onvert region to lo(

    er case.

    C-x C-u upcase-region ) onvert region to upper case.

    shell ) reates a buffer running shell-mode.

    C-x v v vc-next-action 0 o to the next logical version control

    state.

    C-x v u vc-revert-buffer Thro1

    a1

    ay changes since the last

    checked-in revision.

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    13/22

    13

    Verilint Run from the Block Source Directory.

    G I and batch mode interface.

    G I is usually the best choice, but you may want

    to perform regression runs with the batch mode.

    See ASIC Design Methodology Guidelines for

    HOWTO. Save disableds file to block_name.sta. This

    should be checked into RCS before block freeze.

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    14/22

    14

    Verilint Accepts same command line syntax as Verilog-

    XL.

    G I command line:vg -f block_name.f

    Batch Mode command line:verilint -f block_name.f >> verilint.out

    verilint -help Make sure error/warning# is turned on under

    Preferences->Miscellaneous->Lint in G I.

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    15/22

    15

    Verilint

    Errors are almost always important.

    Some/Most Warnings can be ignored.

    Deciding on what is important is gained through

    experience. There is no reference telling you whatto ignore and what to fix. You must understand

    each warning on your own!

    Avoid commenting file (//Verilint on/off) but do so

    when needed. Note that disabling individual casesare by line number, which has a tendency to

    change as the code changes.

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    16/22

    16

    ../../../verilog/source/uart/uart.vWARNING: (W446) Reading from an output port: txd../../../verilog/source/uart/uart_brg.vWARNING: (W498) Not all the bits of the vector are used:data_inWARNING: (W446) Reading from an output port: cmp_out[9:0]WARNING: (W549) Asynchronous flipflop is inferred:cmp_out[9:0]

    WARNING: (W549) Asynchronous flipflop is inferred: brg_clk

    W446: A declared output is used in an equation or module port pin list of an instantiated

    sub-module. This is harmless usually will "Disable: In Design" for this warning.

    W498: Not all the bits of the vector are used. sually harmless, but worth investigating

    on a case by case basis. May want to "Disable: In File" or "Here". You may also choose

    to Comment Here.

    W549: Asynchronous flipflop is inferred. This is a flipflop with an asynchronous Set or

    Reset: This is almost always what you want. usually will "Disable: In Design" for this

    warning.

    Verilint: Example

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    17/22

    17

    Verilint: Interactive Presentation

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    18/22

    18

    Verilog-XL Simulation

    To be supplied.

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    19/22

    19

    NC-Verilog Simulation

    To be supplied.

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    20/22

    20

    Signal Scan

    To be supplied.

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    21/22

    21

    Debussy

    To be supplied.

    Hughes Proprietary II

  • 8/6/2019 Design Tools Overview

    22/22

    22

    0-In

    To be supplied.

    Hughes Proprietary II