Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Atlas, Process is interrupted by signal SEGV

Status
Not open for further replies.

yjhb1989

Newbie level 2
Joined
Jan 18, 2014
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
14
I recently did some simulation work on MSM device by Atlas. When defining one trap level in the device, the program can work successfully. However, when adding another trap level, the results show no difference and the program says " Process interrupted by signal SEGV".

Does anyone have the same problem or know how to solve it? Your assistance must be appreciated.
 

SIGSEGV means your program caused a segmentation fault. I don't know anything about an MSM, but you should double check your code.
 

Thanks for your reply.
I checked my program and hardly found any evident errors. Since I am a beginner of Atlas(Silvaco), could you please offer some specific examples causing SIGSEGV?
 

I do PC programming, so I can't be a lot of help with this, but I doubt the two are terribly dissimilar. A seg fault is an error in which your program has tried to access memory it doesn't have permission to access. You may have a loop that's stepping outside of its allowed memory:

Code:
char array[5];

for(int i = 0; i < 7; i++)
{
    print array[i];
}
Here the for loop will run through elements 0-6 of the array, but the array only holds 5 elements, numbered 0-4. Just after the fifth loop, the program will hit an error. Whether or not this is error sends SIGSEGV depends on the system.

Most often, a seg fault is caused by a pointer being NULL. If you have deleted or freed any object, then reference it later, you'll get a seg fault as thanks.

Code:
char array[5] = { 0x00, 0x00, 0x00, 0x00, 0x00 };
delete array;
print array[2]; // SIGSEGV is thrown
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top