• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Simulation is too slow

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 125
  • Views 20182
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Simulation is too slow

BaaB
BaaB over 7 years ago

I am having a problem with running time in ADE L. I wrote a zero detector circuit in verilog A and added this to my schematic. However, I don't know why this caused the simulation is very very slow. It ran OK before adding this.

The circuit is somewhat complex and I am afraid of Cadence Online Support because it is usually slow to get response and not solve the problem. 

I would like to attach the output log with some warning about delay buffer and the zero dectector circuit in verilog A. Hope someone can tell me what is wrong here.

zero detector circuit in verilog A:

// VerilogA for SIMO, zeroDet, veriloga

`include "constants.vams"
`include "disciplines.vams"

module zeroDet(vin1,vin2,vout);
input vin1,vin2;
output vout;

//parameter delay=1n, trf=1n;

electrical vin1,vin2,vout;
real y1;

analog begin

if(V(vin1,vin2) > 0) begin
y1 = 1 ;
end

else begin
y1 = 0;
end

V(vout) <+ y1;end
//transition(y1,delay,trf)

endmodule

Output log:


Cadence (R) Virtuoso (R) Spectre (R) Circuit Simulator
Version 12.1.1.048 32bit -- 4 Jun 2013
Copyright (C) 1989-2013 Cadence Design Systems, Inc. All rights reserved worldwide. Cadence, Virtuoso and Spectre are registered trademarks of Cadence Design Systems, Inc. All others are the property of their respective holders.

Includes RSA BSAFE(R) Cryptographic or Security Protocol Software from RSA Security, Inc.

User: Huan Host: cnsl HostID: F88F4396 PID: 8973
Memory available: 15.8044 GB physical: 25.2701 GB
CPU Type: Intel(R) Xeon(R) CPU X5550 @ 2.67GHz
Processor PhysicalID CoreID Frequency
0 1 0 2660.1
1 1 1 2660.1
2 1 2 2660.1
3 1 3 2660.1
4 0 0 2660.1
5 0 1 2660.1
6 0 2 2660.1
7 0 3 2660.1


Simulating `input.scs' on cnsl at 2:14:00 PM, Thur Apr 26, 2018 (process id: 8973).
Current working directory: /home3/Huan/simulation/SIMO/spectre/schematic/netlist
Command line:
/tool/MMSIM12/tools/spectre/bin/32bit/spectre input.scs +escchars \
+log ../psf/spectre.out +inter=mpsc \
+mpssession=spectre0_18098_3 -format psfxl -raw ../psf \
+lqtimeout 900 -maxw 5 -maxn 5
spectre pid = 8973

Loading /tool/MMSIM12/tools.lnx86/cmi/lib/5.0/libinfineon_sh.so ...
Loading /tool/MMSIM12/tools.lnx86/cmi/lib/5.0/libphilips_o_sh.so ...
Loading /tool/MMSIM12/tools.lnx86/cmi/lib/5.0/libphilips_sh.so ...
Loading /tool/MMSIM12/tools.lnx86/cmi/lib/5.0/libsparam_sh.so ...
Loading /tool/MMSIM12/tools.lnx86/cmi/lib/5.0/libstmodels_sh.so ...
Reading file: /home3/Huan/simulation/SIMO/spectre/schematic/netlist/input.scs
Reading file: /home3/Huan/Process/MS018/Project/SIMO/sah_ideal/veriloga/veriloga.va
Reading link: /tool/MMSIM12/tools.lnx86/spectre/etc/ahdl/constants.h
Reading file: /tool/MMSIM12/tools.lnx86/spectre/etc/ahdl/constants.vams
Reading link: /tool/MMSIM12/tools.lnx86/spectre/etc/ahdl/discipline.h
Reading file: /tool/MMSIM12/tools.lnx86/spectre/etc/ahdl/disciplines.vams
Reading file: /home3/Huan/Process/MS018/Project/SIMO/errComp/veriloga/veriloga.va
Reading file: /home3/Huan/Process/MS018/Project/SIMO/not_gate/veriloga/veriloga.va
Reading file: /home3/Huan/Process/MS018/Project/SIMO/and_gate/veriloga/veriloga.va
Reading file: /home3/Huan/Process/MS018/Project/SIMO/adder_4/veriloga/veriloga.va
Reading file: /home3/Huan/Process/MS018/Project/SIMO/comparator/veriloga/veriloga.va
Reading file: /home3/Huan/Process/MS018/Project/SIMO/or_gate/veriloga/veriloga.va
Reading file: /home3/Huan/Process/MS018/Project/SIMO/nand_gate/veriloga/veriloga.va
Reading file: /home3/Huan/Process/MS018/Project/SIMO/nor_gate/veriloga/veriloga.va
Reading file: /home3/Huan/Process/MS018/Project/SIMO/soft_voltage_clamp/veriloga/veriloga.va
Reading file: /home3/Huan/Process/MS018/Project/SIMO/integrator/veriloga/veriloga.va
Reading file: /home3/Huan/Process/MS018/Project/SIMO/zeroDet/veriloga/veriloga.va

Time for NDB Parsing: CPU = 150.976 ms, elapsed = 155.938 ms.
Time accumulated: CPU = 150.976 ms, elapsed = 155.938 ms.
Peak resident memory used = 25.3 Mbytes.

Existing shared object for module sah_ideal is up to date.
Installed compiled interface for sah_ideal.
Existing shared object for module errComp is up to date.
Installed compiled interface for errComp.
Existing shared object for module not_gate is up to date.
Installed compiled interface for not_gate.
Existing shared object for module and_gate is up to date.
Installed compiled interface for and_gate.
Existing shared object for module adder_4 is up to date.
Installed compiled interface for adder_4.
Existing shared object for module comparator is up to date.
Installed compiled interface for comparator.
Existing shared object for module or_gate is up to date.
Installed compiled interface for or_gate.
Existing shared object for module nand_gate is up to date.
Installed compiled interface for nand_gate.
Existing shared object for module nor_gate is up to date.
Installed compiled interface for nor_gate.
Existing shared object for module soft_voltage_clamp is up to date.
Installed compiled interface for soft_voltage_clamp.
Existing shared object for module integrator is up to date.
Installed compiled interface for integrator.
Existing shared object for module zeroDet is up to date.
Installed compiled interface for zeroDet.

Time for Elaboration: CPU = 51.992 ms, elapsed = 52.4008 ms.
Time accumulated: CPU = 203.968 ms, elapsed = 208.664 ms.
Peak resident memory used = 28.6 Mbytes.


Time for EDB Visiting: CPU = 2.999 ms, elapsed = 2.60115 ms.
Time accumulated: CPU = 206.967 ms, elapsed = 211.671 ms.
Peak resident memory used = 29.1 Mbytes.


Notice from spectre during topology check.
Only one connection to node `net076'.


Circuit inventory:
nodes 85
adder_4 1
and_gate 11
capacitor 10
comparator 2
delay 1
errComp 1
inductor 1
integrator 1
nand_gate 2
nor_gate 2
not_gate 16
or_gate 2
relay 17
resistor 13
sah_ideal 4
soft_voltage_clamp 1
vcvs 5
vsource 10
zeroDet 1


Notice from spectre during initial setup.
Multithreading Enabled: 4 threads on system with 8 available processors.


Time for parsing: CPU = 6 ms, elapsed = 118.267 ms.
Time accumulated: CPU = 212.967 ms, elapsed = 330.276 ms.
Peak resident memory used = 30 Mbytes.

Entering remote command mode using MPSC service (spectre, ipi, v0.0, spectre0_18098_3, ).

Warning from spectre.
WARNING (SPECTRE-16707): Only tran supports psfxl format, result of other analyses will be in psfbin format.


***********************************************
Transient Analysis `tran': time = (0 s -> 1 ms)
***********************************************
Trying `homotopy = gmin' for initial conditions.
Trying `homotopy = source' for initial conditions.
Trying `homotopy = dptran' for initial conditions..
DC simulation time: CPU = 75.989 ms, elapsed = 76.937 ms.
Important parameter values:
start = 0 s
outputstart = 0 s
stop = 1 ms
step = 1 us
maxstep = 20 us
ic = all
useprevic = no
skipdc = no
reltol = 1e-03
abstol(V) = 1 uV
abstol(I) = 1 pA
temp = 27 C
tnom = 27 C
tempeffects = all
errpreset = moderate
method = traponly
lteratio = 3.5
relref = sigglobal
cmin = 0 F
gmin = 1 pS

tran: time = 1.002 us (100 m%), step = 490.8 as (49.1 p%)

Warning from spectre at time = 1.00202 us during transient analysis `tran'.
WARNING (CMI-2080): Saved timepoints in delay buffer have exceeded `32768'. Simulation may take too many timesteps.
Warning from spectre at time = 1.00202 us during transient analysis `tran'.
WARNING (CMI-2080): Saved timepoints in delay buffer have exceeded `32768'. Simulation may take too many timesteps.
Warning from spectre at time = 1.00202 us during transient analysis `tran'.
WARNING (CMI-2080): Saved timepoints in delay buffer have exceeded `32768'. Simulation may take too many timesteps.
Warning from spectre at time = 1.00202 us during transient analysis `tran'.
WARNING (CMI-2080): Saved timepoints in delay buffer have exceeded `32768'. Simulation may take too many timesteps.
Warning from spectre at time = 1.00202 us during transient analysis `tran'.
WARNING (CMI-2080): Saved timepoints in delay buffer have exceeded `32768'. Simulation may take too many timesteps.
Further occurrences of this warning will be suppressed.

tran: time = 1.002 us (100 m%), step = 755.2 as (75.5 p%)
tran: time = 1.002 us (100 m%), step = 493.5 as (49.3 p%)
tran: time = 1.002 us (100 m%), step = 140.4 as (14 p%)
tran: time = 1.002 us (100 m%), step = 348 as (34.8 p%)
tran: time = 1.002 us (100 m%), step = 248.1 as (24.8 p%)
tran: time = 1.002 us (100 m%), step = 321.3 as (32.1 p%)
tran: time = 1.002 us (100 m%), step = 384.6 as (38.5 p%)
tran: time = 1.002 us (100 m%), step = 446 as (44.6 p%)
tran: time = 1.002 us (100 m%), step = 151.6 as (15.2 p%)
tran: time = 1.002 us (100 m%), step = 830.9 as (83.1 p%)
tran: time = 1.002 us (100 m%), step = 695.7 as (69.6 p%)
tran: time = 1.002 us (100 m%), step = 220.8 as (22.1 p%)
tran: time = 1.002 us (100 m%), step = 282.9 as (28.3 p%)
tran: time = 1.002 us (100 m%), step = 562.8 as (56.3 p%)
tran: time = 1.002 us (100 m%), step = 642 as (64.2 p%)
tran: time = 1.002 us (100 m%), step = 225.3 as (22.5 p%)
tran: time = 1.002 us (100 m%), step = 148.1 as (14.8 p%)
tran: time = 1.002 us (100 m%), step = 915 as (91.5 p%)
tran: time = 1.002 us (100 m%), step = 632.7 as (63.3 p%)
tran: time = 1.002 us (100 m%), step = 527.6 as (52.8 p%)
tran: time = 1.002 us (100 m%), step = 180.3 as (18 p%)
tran: time = 1.002 us (100 m%), step = 566.3 as (56.6 p%)
tran: time = 1.002 us (100 m%), step = 591 as (59.1 p%)
tran: time = 1.002 us (100 m%), step = 837.2 as (83.7 p%)
tran: time = 1.002 us (100 m%), step = 658.2 as (65.8 p%)
tran: time = 1.002 us (100 m%), step = 379 as (37.9 p%)
tran: time = 1.002 us (100 m%), step = 471.4 as (47.1 p%)
tran: time = 1.002 us (100 m%), step = 394.4 as (39.4 p%)
tran: time = 1.002 us (100 m%), step = 551.7 as (55.2 p%)
tran: time = 1.002 us (100 m%), step = 468 as (46.8 p%)
tran: time = 1.002 us (100 m%), step = 322.9 as (32.3 p%)
tran: time = 1.002 us (100 m%), step = 353.9 as (35.4 p%)
tran: time = 1.002 us (100 m%), step = 735.7 as (73.6 p%)
tran: time = 1.002 us (100 m%), step = 639.1 as (63.9 p%)
tran: time = 1.002 us (100 m%), step = 690.1 as (69 p%)
tran: time = 1.002 us (100 m%), step = 242.6 as (24.3 p%)
tran: time = 1.002 us (100 m%), step = 400.8 as (40.1 p%)
tran: time = 1.002 us (100 m%), step = 362.4 as (36.2 p%)
tran: time = 1.002 us (100 m%), step = 506.2 as (50.6 p%)
tran: time = 1.002 us (100 m%), step = 841.1 as (84.1 p%)
tran: time = 1.002 us (100 m%), step = 850.6 as (85.1 p%)
tran: time = 1.002 us (100 m%), step = 264.6 as (26.5 p%)
tran: time = 1.002 us (100 m%), step = 141.3 as (14.1 p%)
tran: time = 1.002 us (100 m%), step = 229 as (22.9 p%)
tran: time = 1.002 us (100 m%), step = 705.7 as (70.6 p%)
tran: time = 1.002 us (100 m%), step = 506.6 as (50.7 p%)
tran: time = 1.002 us (100 m%), step = 313.8 as (31.4 p%)
tran: time = 1.003 us (100 m%), step = 480.5 as (48 p%)
tran: time = 1.003 us (100 m%), step = 127.8 as (12.8 p%)
tran: time = 1.003 us (100 m%), step = 703.2 as (70.3 p%)
tran: time = 1.003 us (100 m%), step = 428.7 as (42.9 p%)
tran: time = 1.003 us (100 m%), step = 171.1 as (17.1 p%)
tran: time = 1.003 us (100 m%), step = 504.6 as (50.5 p%)
tran: time = 1.003 us (100 m%), step = 634.3 as (63.4 p%)
tran: time = 1.003 us (100 m%), step = 474.1 as (47.4 p%)
tran: time = 1.003 us (100 m%), step = 151.8 as (15.2 p%)
tran: time = 1.003 us (100 m%), step = 641.6 as (64.2 p%)
tran: time = 1.003 us (100 m%), step = 537.7 as (53.8 p%)
tran: time = 1.003 us (100 m%), step = 790.7 as (79.1 p%)
tran: time = 1.003 us (100 m%), step = 755.7 as (75.6 p%)
tran: time = 1.003 us (100 m%), step = 328.9 as (32.9 p%)
tran: time = 1.003 us (100 m%), step = 233.1 as (23.3 p%)
tran: time = 1.003 us (100 m%), step = 206.6 as (20.7 p%)
tran: time = 1.003 us (100 m%), step = 448.3 as (44.8 p%)
tran: time = 1.003 us (100 m%), step = 296.2 as (29.6 p%)
tran: time = 1.003 us (100 m%), step = 131.8 as (13.2 p%)
tran: time = 1.003 us (100 m%), step = 552.3 as (55.2 p%)
tran: time = 1.003 us (100 m%), step = 179.4 as (17.9 p%)
tran: time = 1.003 us (100 m%), step = 190.1 as (19 p%)
tran: time = 1.003 us (100 m%), step = 557.9 as (55.8 p%)
tran: time = 1.003 us (100 m%), step = 154.7 as (15.5 p%)
tran: time = 1.003 us (100 m%), step = 923.5 as (92.3 p%)
tran: time = 1.003 us (100 m%), step = 927.9 as (92.8 p%)
tran: time = 1.003 us (100 m%), step = 265.8 as (26.6 p%)
tran: time = 1.003 us (100 m%), step = 599 as (59.9 p%)
tran: time = 1.003 us (100 m%), step = 368.4 as (36.8 p%)
tran: time = 1.003 us (100 m%), step = 306.9 as (30.7 p%)
tran: time = 1.003 us (100 m%), step = 772.4 as (77.2 p%)
tran: time = 1.003 us (100 m%), step = 514 as (51.4 p%)
tran: time = 1.003 us (100 m%), step = 561.6 as (56.2 p%)
tran: time = 1.003 us (100 m%), step = 661.2 as (66.1 p%)
tran: time = 1.003 us (100 m%), step = 154.6 as (15.5 p%)
tran: time = 1.003 us (100 m%), step = 176.5 as (17.6 p%)
tran: time = 1.003 us (100 m%), step = 153.4 as (15.3 p%)
tran: time = 1.003 us (100 m%), step = 277.7 as (27.8 p%)
tran: time = 1.003 us (100 m%), step = 554.4 as (55.4 p%)
tran: time = 1.003 us (100 m%), step = 483.7 as (48.4 p%)
tran: time = 1.003 us (100 m%), step = 553.4 as (55.3 p%)
tran: time = 1.003 us (100 m%), step = 875.3 as (87.5 p%)
tran: time = 1.003 us (100 m%), step = 523.8 as (52.4 p%)
tran: time = 1.003 us (100 m%), step = 819.8 as (82 p%)
tran: time = 1.003 us (100 m%), step = 228.4 as (22.8 p%)
tran: time = 1.003 us (100 m%), step = 319.6 as (32 p%)
tran: time = 1.003 us (100 m%), step = 534 as (53.4 p%)
tran: time = 1.003 us (100 m%), step = 287 as (28.7 p%)
tran: time = 1.003 us (100 m%), step = 202.2 as (20.2 p%)
tran: time = 1.003 us (100 m%), step = 532.1 as (53.2 p%)
tran: time = 1.003 us (100 m%), step = 851.3 as (85.1 p%)
tran: time = 1.003 us (100 m%), step = 153.5 as (15.4 p%)
tran: time = 1.003 us (100 m%), step = 666.7 as (66.7 p%)
tran: time = 1.003 us (100 m%), step = 316.2 as (31.6 p%)
tran: time = 1.003 us (100 m%), step = 225.9 as (22.6 p%)
tran: time = 1.003 us (100 m%), step = 317.1 as (31.7 p%)
tran: time = 1.003 us (100 m%), step = 609.6 as (61 p%)
tran: time = 1.003 us (100 m%), step = 730.3 as (73 p%)
tran: time = 1.003 us (100 m%), step = 259.4 as (25.9 p%)
tran: time = 1.003 us (100 m%), step = 413.2 as (41.3 p%)
tran: time = 1.003 us (100 m%), step = 682.6 as (68.3 p%)
tran: time = 1.003 us (100 m%), step = 190.5 as (19.1 p%)
tran: time = 1.003 us (100 m%), step = 508.9 as (50.9 p%)
tran: time = 1.003 us (100 m%), step = 755.1 as (75.5 p%)
tran: time = 1.003 us (100 m%), step = 395.8 as (39.6 p%)
tran: time = 1.003 us (100 m%), step = 726 as (72.6 p%)
tran: time = 1.003 us (100 m%), step = 634.6 as (63.5 p%)
tran: time = 1.003 us (100 m%), step = 415.1 as (41.5 p%)
tran: time = 1.003 us (100 m%), step = 505.3 as (50.5 p%)
tran: time = 1.003 us (100 m%), step = 676.2 as (67.6 p%)
tran: time = 1.003 us (100 m%), step = 398.9 as (39.9 p%)
tran: time = 1.003 us (100 m%), step = 309.7 as (31 p%)
tran: time = 1.003 us (100 m%), step = 843 as (84.3 p%)
tran: time = 1.003 us (100 m%), step = 607.9 as (60.8 p%)
tran: time = 1.003 us (100 m%), step = 699 as (69.9 p%)
tran: time = 1.003 us (100 m%), step = 274.8 as (27.5 p%)
tran: time = 1.003 us (100 m%), step = 152.3 as (15.2 p%)
tran: time = 1.003 us (100 m%), step = 357.8 as (35.8 p%)
tran: time = 1.003 us (100 m%), step = 310.5 as (31.1 p%)
tran: time = 1.003 us (100 m%), step = 157.7 as (15.8 p%)
tran: time = 1.003 us (100 m%), step = 252.6 as (25.3 p%)
tran: time = 1.003 us (100 m%), step = 941.9 as (94.2 p%)
tran: time = 1.003 us (100 m%), step = 451.2 as (45.1 p%)
tran: time = 1.003 us (100 m%), step = 277.1 as (27.7 p%)
tran: time = 1.003 us (100 m%), step = 388.5 as (38.8 p%)
tran: time = 1.003 us (100 m%), step = 260.8 as (26.1 p%)
tran: time = 1.003 us (100 m%), step = 452.5 as (45.2 p%)
tran: time = 1.003 us (100 m%), step = 194.4 as (19.4 p%)
tran: time = 1.003 us (100 m%), step = 350.3 as (35 p%)

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 7 years ago

    A couple of problems I see with your Verilog A model:

    1. It probably should use @(cross...) to detect where the V(vin1,vin2) crosses 0 (at the moment, it will just be at wherever there is a timestep
    2. You should use transition (not sure why it's commented out) to handle the discontinuity with y1.

    If you use the "diagnose" switch (a button on the Setup->Environment form; if you're using too old a version, you can add +diagnose in the userCmdLineOption field on that form) it should give some more feedback on issues related to timestep collapsing and run the linter on the veriloga code. 

    That said, I just noticed you're using a 5 year old simulator version - you really should use something more recent than MMSIM131 (ideally SPECTRE161 or SPECTRE171). The +diagnose option may not be in the version you're using (I can't remember).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • BaaB
    BaaB over 7 years ago in reply to Andrew Beckett

    Thanks a lot, Andrew. 

    Because the MMSIM is installed on server of university, it is not easy for me to get update soon.

    I checked the zero detector alone and it works fine although the simulation is slow too. I tried the transition but the result was worse than not using so I commented out. 

    I am not sure what is the adtantage of @(cross...) function compared to my version above. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 7 years ago in reply to BaaB

    The advantage of @(cross) is that it causes the simulator to take a timestep at (or rather very near) the crossing point; without this, the model would only be evaluated wherever there already is a timestep placed by the simulator, and so you won't have much control over where the decision to go high or low is. The discontinuity in the output can cause a challenge with convergence, which is why I also recommended transition.

    However, it's really hard to see what's wrong without being able to see the circuit and the other models. You may have ended up with a feedback loop which causes the timestep to collapse. The circuit doesn't look large, so I'm guessing the problem is fairly simple - but it would be pure guesswork to figure it out without any real data.

    I suggest you find a way to report this to customer support though your university program. That way somebody may be able to take a look at your testcase.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • BaaB
    BaaB over 7 years ago in reply to Andrew Beckett

    Dear Andrew,

    I couldn't find "diagnose" switch (a button on the Setup->Environment form) as you said. Where is the Setup button?

    May I report custormer support to other place not through my university in Korea? 
    I am disappointed with support here. I created some cases but support is too long and not effective. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Saloni Chhabra
    Saloni Chhabra over 7 years ago in reply to BaaB

    The setup button is in ADE. I don't know which IC version you are using, so you can add the user command-line option '+diagnose' yourself if you don't see the option to Enable Diagnostic Mode. But this option may not work with MMSIM121 as this version is very very old, but you can give it a try.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Saloni Chhabra
    Saloni Chhabra over 7 years ago in reply to BaaB

    The setup button is in ADE. I don't know which IC version you are using, so you can add the user command-line option '+diagnose' yourself if you don't see the option to Enable Diagnostic Mode. But this option may not work with MMSIM121 as this version is very very old, but you can give it a try.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information