Fault icon indicating copy to clipboard operation
Fault copied to clipboard

Fault switches not working

Open Prince-Joy opened this issue 4 years ago • 10 comments

@donn I am facing issues with fault, after completion of the installation procedure, when I am trying to get version using fault --version/-V It's showing me the help menu every time, not only that, only subcommand are working like

  1. fault synth --top xyz -l xyz.lib xyz.v > its working
  2. fault cut xyz.netlist.v > its also working but when I am trying to run fault --cellModel xyz.v filename its not working instead showing help menu every time. image image

Prince-Joy avatar Feb 11 '21 10:02 Prince-Joy

If you check the resulting help menu, you will notice that one other option is required, namely --clock.

Please add the missing option and retry.

donn avatar Feb 11 '21 11:02 donn

Thank you so much @donn , I am facing another issue can you please look into it. image

Though I am using different liberty now, but facing another issue, need some help image

Prince-Joy avatar Feb 12 '21 07:02 Prince-Joy

For the first issue, try updating IcarusVerilog, I recall having this issue myself with older versions.

Tap is @Manarabdelaty territory. Manar?

donn avatar Feb 13 '21 13:02 donn

@Prince-Joy Can you make sure of the following ? 

  • if the reset signal is asynchronous, you will need to add it to the ignored inputs during simulation; using --ignoring.This is because generating a test pattern for an asynchronous reset could arbitrarily reset the circuit if it is set to either 0 or  1. (You will need to specify the --ignoring for the main option and and both the chain and tap sub-commands)

If this is not the case with your design, can you post the chained.v file and .bin files ?

Manarabdelaty avatar Feb 13 '21 14:02 Manarabdelaty

@donn I am using the latest iverilog from github https://github.com/steveicarus/iverilog, can you send me any link of iverilog which is working fine. @Manarabdelaty In my code reset is synchronous, image reference: asic-world After running the following commands image I got the error: image

chained.v and json file

up_counter.netlist.v.chained.v.txt up_counter.netlist.v.cut.v.tv.json.compacted.json.txt

Prince-Joy avatar Feb 15 '21 03:02 Prince-Joy

@Prince-Joy I'm facing similar issues. When I try to run anything using osu035, I get the same at Test Vector generation. This is bypassed when nangate is used. However, at fault asm I encounter the mismatch of json and scan chain registers. I tried ignoring clock and reset with the help of fault -i command but the same error. Also, there seems to be a mismatch of just 1 input and scan register each time.

PiyushSaini97 avatar Jun 29 '21 18:06 PiyushSaini97

@Prince-Joy I found the reason for mismatch. Please ensure that you ignore your reset signal for TV generation step by appending -i reset option to fault command (your clock automatically gets ignored when --clock command is used. While running fault chain command, you are ignoring reset and clock using --reset and --clock respectively. If you had not ignored this at TV generation step then you basically got one extra test vector input as compared to the total scan chain register.

@donn please verify whether this explanation is correct or not.

PiyushSaini97 avatar Jun 30 '21 19:06 PiyushSaini97

That's actually correct, yeah. You're supposed to add the reset to -i.

Maybe for consistency, I should add the --reset option to the fault command.

donn avatar Jun 30 '21 19:06 donn

But wouldn't that cause issue for the designs that don't necessarily use reset? For example, in the folder /Benchmarks/ISCAS_89, some of the designs don't use reset. I tried running s298.v. The module does not contain reset(or none of the inputs resemble a reset signal).

s298

I tried creating TV for the same but ran into an error. And without much idea I cant consider any of the input as reset. error_s298

Please clarify if I misunderstood.

PiyushSaini97 avatar Jun 30 '21 19:06 PiyushSaini97

Good point, though the thing is I don't think it would be easy to make scan chains that cannot be reset. I'll have to discuss with the team whether we want to support no-reset designs.

donn avatar Jun 30 '21 21:06 donn