(Verilog) Setting a Net to a Logic Value
Verification | 2009/03/04 18:21
The $deposit system task allows you to set a net to a particular value and then to simulate
with the net set to that new value. The value change is propagated throughout the nets and
registers being driven by the variable that has been set. The syntax is as follows:

$deposit(variable, value);

The $deposit task can be used within any Verilog-XL procedural block. You can define the time at which the net is to be given a new value using the standard procedural constructs. The task can also be used on the interactive command line.

Use this system task as a debugging or design initialization aid. You should not use it as a
representation of actual circuitry.

Common uses for the $deposit system task include the following:

  • To initialize large portions or all of a circuit either at the beginning of or during a simulation. You can select the nodes to be deposited to yourself, or use PLI code to extract the node names.
  • To stop the simulator during a debugging session and to use the command on the interactive command line to set a new value.
  • To reset a circuit to a known state after simulation in order to retry a different debug route.
  • To set parts of a circuit to analyze intricate circuit details (common for switch level simulation).
  • To break feedback loops to set them to a known state.
In the syntax, variable is the name of the net or register whose value is being changed. The variable can be a net or register type but not a parameter, and it can be a vector or scalar object that can be expanded or compacted.

The second parameter, value, is a numerical or logical value in standard Verilog-XL notation. Bit and part selects are not allowed.

If the width of the value is smaller than the range of the variable, an error message is generated. If the width of the value is larger than the range of the variable, the MSBs are truncated and a warning is issued.

X and Z states can also be deposited.

Here are some examples of using $deposit:
$deposit(sig, 1);
$deposit(bus, ’hA2);
$deposit(bus4, ’bZ01x);

p.s. 좋은 Tip알려준 yangk에게 감사.. ^^
2009/03/04 18:21 Donny 

Trackback http://www.donny.co.kr/tt/trackback/64
Name
Password
Homepage
  Secret
Description
 

BLOG main image
Chip Designer, Donny (drdonny@gmail.com)
전체 (133)
Portfolio(Eng.) (20)
Design (8)
Microprocessor (11)
Verification (5)
Technology (7)
Lecture (13)
Silicon Valley (2)
Travel (6)
Family (37)
KoreaInlineCup (1)
Donny Thinks (23)
Wishlist (0)
Microprocessor 재희 MIPI 마이크로프로세서 집적회로설계 DSI DDI 두개골 유합증 Verilog ARM MDDI Synthesis Qualcomm 인테리어 Display Driver IC HSSI 애플 재인 simplecore Synopsys
2011/10
2011/03
2011/01
2010/12
2010/11
이미 늦었을..
    01/20 - 지금쯤이면...
좋은 자료 ..
    01/10 - estwingz
좋은자료 감..
    2011 - 최수연
iverilog lf..
    2011 - 아놔
좋은 자료 ..
    2011 - 김두상
반도체, 칩..
    2009 - :::: for Ne..
Synopsys 버..
    2008 - Processor A..
Coding styl..
    2008 - Processor A..
Dreamer GUN..
Natural Bor..
Processor A..
지극히 개인..
64
59
125817

태터툴즈 배너