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.

How correctly to verify simple digital circuit?

Status
Not open for further replies.

Grigory

Newbie level 4
Joined
Mar 30, 2011
Messages
7
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,325
Hello,

How correctly to verify some simple digital circuit at a RTL level?
For example floating-point shifter, I'm really concerned about it.

There are many kinds of verification and I can't choose a right. Perhaps I need functional verification, do I?

I usually verify simple digital circuit in the following way. Firstly, I take input extreme values, e.g. 0, 1, unit vector, etc.
After that I take many input values, about several thousands.

Thanks
 

Yes you can verify your Design at various levels ,If you are doing it for somefpga based design there are many options
like
1.Behavioral simulation
2.Post Translate Simulation
3.Post Map simulation
4.Post route

---------- Post added at 06:51 ---------- Previous post was at 06:50 ----------

You can chose for random stimulus or test a range of values .
 

I'm interesting in only the first level, i.e. level there is verilog module. I want to make sure that this module does right. When I chose random a range of values and correct error, one seems there are special values that finds all errors at once. For example if adder add 1 to 2 correctly then add 4 to 1 will be correctly too.
 

Ok ,Are you interested in a general solution or in a particular solution ,If general solution ,inorder to test your hardware you can use Test vectors generated by Matlab .simply create some scripts to generate the vectors as well as answers then do the simulation and the output written to a file ,then again use another script to compare the original answer with the answer output by simulation stage .

Scripts can be written in perl ,Tcl/Tk.But the Matlab scripting is simple as it is similar to C .And Matlab happens to be a strong numerical computational platform as well .So comprehensive verification is possible with the help of Matlab .


But the Tcl,Perl can do lot of other things ,I have just pointed out the ease with which you can generate the test vector in matlab
 

Pini_1, I will read it.

Blooz, it's interesting idea, but this approach leads to brute force, doesn't it?
 

Pini_1, I will read it.

Blooz, it's interesting idea, but this approach leads to brute force, doesn't it?

Yes Grigory ,it's a brute force attempt ...But the comfort lies in the fact that the test bench is generated by script .so we need a simple script .Other Wise the best approach is definitely going for a Random stimulus ....Many of those Simulators support a random stimulus.
Any way Writing Test Bench is the recommended Strategy and only test the combination you wish.If we can Identify some critical values to be tested that could be a great leap forward .But how to Identify the critical values that may produce an abnormal result is a challenging question . It would be a great help to many If we can find some method that can identify such critical values .
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top