当前位置:网站首页>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 .
边栏推荐
- Arrays & object & System & Math & random & Packaging
- day04_数组
- MQTT服务器搭建以及使用MQTT.fx测试
- Shell脚本-全局变量、局部变量、环境变量
- Hongke solution | a unique solution to realize seamless integration at low cost in Digital Substations
- 自动化测试的生命周期是什么?
- 超低成本DDoS攻击来袭,看WAF如何绝地防护
- FIR filter design (2) -- vivado calls IP core to design FIR filter
- 三、广域通信网
- IPv6 representation and configuration cases
猜你喜欢
day15_泛型
day12_多线程
SDN拓扑发现原理
Arrays & object & System & Math & random & Packaging
After the EtherCAT master station is disconnected, how to ensure that the target system is not affected by the fault?
LDAP简述及统一认证说明
day04_数组
Day16 set
Floating point addition and subtraction method of vivado IP core floating point
Why are the job requirements for software testing in 2022 getting higher and higher? Is there any secret in it?
随机推荐
day13_ Under multithreading
day10_ Exception handling & enumeration
day14_ Unit test & Date common class & String common class
day17_ Under collection
Floating point multiplication and division of vivado IP core floating point
基于FPGA的IIR型滤波器设计
Several misunderstandings about DDoS
三、广域通信网
DDoS攻击与CC攻击的区别
Hongke automation SoftPLC | Hongke kPa modk operation environment and construction steps (2) -- modk operation environment construction
Hongke share | FPGA implementation of pass through and store and forward switching delay
网络安全学习(一)
day04_ array
vmstat 内存消耗查询
Design and simulation code of 4-bit subtracter based on FPGA
How to use SFTP command to access SFTP server on the development board
day06_类与对象
Online multiplayer chat room based on UDP communication
How to pre circumvent the vulnerabilities of unsafe third-party components?
Advanced socket programming (options and control information)