In this column, we will introduce "technical information on FPGA that is surprisingly unknown, but makes a difference if you know it."
From FPGA beginners to veterans, the contents can be used widely, so please keep in touch with us until the end.
[Part 1] What is the first thing you ask a designer who cares about design quality?
FPGAs don't work "as you think", they work "as you make them"!
"Verification" is an important task in order to confirm the movement as "created".
Because many of the bugs exist outside of "as you thought".
Verification method
FPGA verification methods vary from company to company.
Verification methods differ even among competitors making the same application product.
It's hard to know what kind of verification the neighboring company is doing.
For example, Company A has a low product yield, and even if the manufacturer analyzes the target parts, most of them are judged to be non-defective. If the cause of the problem remains unknown, various problems will occur later.
And when you deeply analyze some problems, the causes and countermeasures are often the same. ).
On the other hand, Company B has a high product yield and a short development period even if there is a change in specifications, and they are developing smoothly.
What to ask Company A is...
The first three things I would like to ask Company A are:
(1) Do you have your own original design and verification flow?
(2) Do you have your own design and verification rules?
(3) Are the designer and the verifier separate personnel?
Companies that leave (1) and (2) to the person in charge or the tool may experience problems when the designer moves.
Even if you have your own flow and rules, it is also important whether you are “reviewing” them.
Even if there are golden flows and rules created by designers called legends in the company, they need to be reviewed after a few years.
And let's manage the flow and rules of design and verification by the organization.
Everyone knows that (2) is important, but in Japan, it seems that it is often left to one person in charge.
You're lucky if you don't have any problems, but it's terrible to blame the designer when you find a bug.
By all means, I would like you to cover it with an organization like overseas design.
Why it's better to have separate designers and verifiers
The reasons why it is better to separate the designer and the verifier are as follows.
The designer understands the specifications and creates a circuit that works "as I thought."
Conversely, the verifier finds the designer's "misunderstanding of the specifications" and "unexpected behavior" that the designer does not notice.
In this way, design and verification have opposite ideas, so a veteran designer with a lot of design experience (failure experience?) Is in charge of verification,
Dividing up the design work to less experienced people improves the skill level of the entire team.
Alternatively, you can ask an experienced verification contractor.
If it is difficult to divide the person in charge, at least at random verification using ABV (assertion-based verification),
It is recommended to verify "unexpected movement".