当前位置:网站首页>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 .
边栏推荐
- Leetcode question brushing record
- Ansible(自动化软件)
- etcd原理
- Online multiplayer chat room based on UDP communication
- Common server faults and their solutions
- day03_ 2_ task
- Floating point square root of vivado IP core floating point
- Hongke will share the EtherCAT demo for you and teach you how to quickly transition from other protocols to EtherCAT industrial bus
- Merkletree builds QT implementation UI
- 如何在开发板上使用sftp命令访问sftp-server
猜你喜欢
随机推荐
pairs和ipairs的区别
Advanced socket programming (options and control information)
Shell脚本-全局变量、局部变量、环境变量
10种常见的软件架构模式
Hongke shares | why EtherCAT is the best solution to improve the performance of the control system?
centos 部署postgresql 13
LDAP简述及统一认证说明
JMM 内存模型概念
解决分频模块modelsim下仿真输出为stx的错误
day06_ Classes and objects
What is WAF protection
FIR filter design (1) -- using the FDATool toolbox of MATLAB to design FIR filter parameters
day15_ generic paradigm
day09_ Static & Final & code block & abstract class & Interface & internal class
What is the lifecycle of automated testing?
Condition 条件对象源码浅读
Hongke white paper | how to use TSN time sensitive network technology to build a digital factory in industry 4.0?
day04_ array
Network Security Learning (II)
The difference between DDoS attack and CC attack

![[interview questions] the latest software test interview questions in 2022 (400) [with answers] continue to update](/img/72/445d78bdd6c921cc5a0843f056c435.png)






