Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^5: extract text from multi-line context (Verilog::VCD)

by toolic (Bishop)
on Aug 18, 2014 at 13:22 UTC ( [id://1097849]=note: print w/replies, xml ) Need Help??


in reply to Re^4: extract text from multi-line context (Verilog::VCD)
in thread extract text from multi-line context

I'm glad you like the module!

This gets you a little further:

use warnings; use strict; use Verilog::VCD qw(:all); my $vcd= parse_vcd('sample.vcd'); my $i = 0; for my $code (keys %{ $vcd }) { for my $net (@{ $vcd->{$code}->{nets} }) { print "V$i ($net->{name}) vsource type=pwl wave=[0p 0]\n"; $i++; } } __END__ V0 (VBGOK_H) vsource type=pwl wave=[0p 0] V1 (YOUT_RC_CAL) vsource type=pwl wave=[0p 0] V2 (CLKO_RXADC_96M) vsource type=pwl wave=[0p 0] V3 (AGC_IF_CAP[2:0]) vsource type=pwl wave=[0p 0] V4 (AGC_IF_CAP[2:0]) vsource type=pwl wave=[0p 0] V5 (BBAGC_AVWIN[1:0]) vsource type=pwl wave=[0p 0] V6 (BBAGC_AVWIN[1:0]) vsource type=pwl wave=[0p 0] V7 (CKO_HFOSC_2DIV12) vsource type=pwl wave=[0p 0] V8 (XO32K_VCOUT) vsource type=pwl wave=[0p 0] V9 (YOUT_RC_CAL_PGA) vsource type=pwl wave=[0p 0] V10 (ABB_BIAS_EN) vsource type=pwl wave=[0p 0] V11 (TXMIX_EN) vsource type=pwl wave=[0p 0] V12 (BBPLL_CLKO_DIG_96M) vsource type=pwl wave=[0p 0]

If you need more help, you have to describe what your desired "wave=..." means. How does this relate to your VCD file data? How does "199p" relate to your VCD data for BBPLL_CLKO_DIG_96M? Show the code you've written and describe in detail how your actual output differs from your desired output.

Replies are listed 'Best First'.
Re^6: extract text from multi-line context (Verilog::VCD)
by herman4016 (Acolyte) on Aug 19, 2014 at 02:55 UTC

    1.the original vcd file "$dumpoff $end" "#3537871350",so 't0' is 3537871350 , output is 0p
    2. because the vcd file output will be Cadence spectre analog input ,so for example BBPLL_CLKO_DIG_96M's time squence 't0' value is '0' , and the next time squence 't1' value is '1', I want to insert time sequence t1-1 and value '0', vice versa...
    3. value '0' output is '0', value '1' output is 'VDD/2'

    so the output wave of BBPLL_CLKO_DIG_96M is
    [ 0p 0 (3537876550-3537871350-1)p 0 (3537876550-3537871350)p VDD/2 (3537881760-3537871350-1)p VDD/2 (3537881760-3537871350)p 0 (3537886970-3537871350-1)p 0 (3537886970-3537871350)p VDD/2 ...... ]
    ps. please calculate the result in ()

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1097849]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (6)
As of 2024-04-24 11:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found