当前位置:网站首页>Hongke shares | how to test and verify complex FPGA designs (1) -- entity or block oriented simulation
Hongke shares | how to test and verify complex FPGA designs (1) -- entity or block oriented simulation
2022-07-29 06:44:00 【Hongke Industrial Communication Division】
stay IP In the process of nuclear development , Faced with many key technologies , such as IP Nuclear specifications 、 Interface based design 、IP Nuclear test access structure standard 、IP Nuclear verification and packaging . about IP Nuclear verification , It is mainly to establish reference models and test platforms , Then carry out regression test and formal verification . The model referenced here is mainly used to verify the system function and RTL Comparison and verification of the model , This model mainly uses Verilog HDL Wait for language to construct . The establishment of the test platform is in parallel with the design of sub modules , Build verification environment and develop test cases , And aim at IP The behavior level model of the core debugs the test environment and test cases , So that the synchronization is ready for simulation test RTL level IP Nuclear verification environment and test cases .
Simulation and verification are the basis for developing any high-quality FPGA Of RTL The basis of the coding process . In this series of articles , We will share the key steps in our design process :
• Entity oriented / Simulation of blocks : By generating excitation on each input signal and verifying RTL Does the code behave as expected , For each IP Different modules of the core carry entities / Simulation of blocks .
• Global oriented simulation : Once different modules are individually verified , It means that the next step will be the whole IP The simulation is a single UUT( Tested unit ).
• (On) Hardware testing : Although the extended simulation plan provides good credibility , But there are still many corner Cannot be verified in a virtual environment . For these cases , Need a hardware based test plan , This is also the last step to achieve high-quality results .
In this article , We will describe the first step :IP How the entity or block level of simulation is completed .
“ Entity or block oriented simulation ” This step means that the validation is in IP Correct operation of specific entities or modules with specific operations in the core . Every IP Nuclei are made up of many entities or blocks , To test them , Each entity will have different test platforms , Execute the design by observing the output of the design when the input is stimulated . This will help check the expected behavior .
Take an example to understand everything well . under these circumstances , We will explain our Ethernet switch IP Core filter database .
Filter database storage MAC Address and related information to make frame forwarding decisions . It is a hash based memory , Each address entry has some storage for filtering data bin. The hash algorithm also generates an index that filters the database memory .

There are three main processes for filtering database execution : Study 、 Search and aging .
• The learning process is responsible for saving frames when different conditions are met .
• The search process is to search in the filter database and obtain the forwarding port mask of the frame .
• The aging process deletes the old according to the given time period MAC entry .

In this simulation MAC In the specific case of table , Always try to test all the mechanisms that make up the filtering database function . In this sense , It's like learning different MAC, Different queries 、 Aging is done in parallel , Finally, it needs to be cleared MAC Table and verify that all entries have been deleted . Besides , Study and always be able to test possible corner Cases are also very important .
Testing and verification are complex FPGA The second key step of the design will be introduced in the following updated articles . Once formed IP All entities of the nuclear work as expected , Global simulation will work .
边栏推荐
- day10_异常处理&枚举
- 3、 Wide area communication network
- Use of for statement in Verilog
- How to pre circumvent the vulnerabilities of unsafe third-party components?
- day12_ Multithreading
- Hongke education you want to enter the field of TSN? Hongke teaches you how to build TSN test system
- Network Security Learning (II)
- Merkletree builds QT implementation UI
- FPGA - odd even frequency division and decimal frequency division code routine
- Plugin location in mavan
猜你喜欢
随机推荐
How to use SFTP command to access SFTP server on the development board
day14_ Unit test & Date common class & String common class
What if the 80443 port of the website server has been maliciously attacked?
MySQL 事物四种隔离级别分析
What is the lifecycle of automated testing?
Merkletree builds QT implementation UI
Is it OK to directly compare the size of two numbers in FPGA?
Hongke white paper | how to use TSN time sensitive network technology to build a digital factory in industry 4.0?
apisix健康检查测试
How to pre circumvent the vulnerabilities of unsafe third-party components?
Those vulnerability attacks on app
网站受DDoS攻击的表现以及查看方法
Explain the difference between FIR filter and IIR filter in detail
Common server faults and their solutions
Verilog中for语句的使用
Huawei switch ce12808 import and export configuration file
HOG+SVM实现行人检测
day04_ array
day12_多线程
非常实用的 Shell 和 shellcheck








