当前位置:网站首页>FPGA programming experience
FPGA programming experience
2022-07-28 20:30:00 【Quack~】
Some important principles
1、 When modeling sequential circuits , Non blocking assignment
2、 Latch circuit modeling , Non blocking assignment
3、 use always When a block writes combinational logic , Assignment with blocking
4、 In the same always When both sequential and combinational logic circuits are established in the block , Non blocking assignment
5、 In the same always Do not use both non blocking and blocking assignments in blocks
6、 No more always Assign a value to the same variable in the block
# Follow the above principles , It is helpful to write integrable hardware correctly , And can eliminate 90%~100% Competitive risk phenomenon that may occur during simulation .
Timing error
Continuous use of combinatorial logic may lead to timing errors , This is because the data path is too long ,
resolvent : Add registers on the long path for data buffering .
1、 High speed data processing uses less combinatorial logic , Because the data rate is too fast , Prone to competitive risk .
2、 High speed data stream processing , First cache ,
3、 For high-speed data processing , Try to use non blocking statements , Because of the use of continuous blocking statements, the data flow is fast , It will cause timing errors when it is actually implemented , Originally, what the blocking statement realizes is that the result becomes the same as that of the non blocking statement .
4、 You can't perform complex operations in one step .
边栏推荐
- [C language] Gobang game [array and function]
- LVS deployment Dr cluster
- Vivado designs PC and ram
- plt. What does it mean when linestyle, marker, color equals none in plot()
- Shanghai Jiaotong University joined hands with Taobao to set up a media computing laboratory: promoting the development of key technologies such as video super score
- 3、 Are formal and actual parameters in a programming language variables?
- [C language] shutdown game [loop and switch statement]
- 4. Const and difine and the problem of initializing arrays with const and define
- Representation of base and number 2
- The product power is greatly improved, and the new Ford Explorer is released
猜你喜欢

同质化代币与 NFT 结合,如何使治理结构设计更灵活?

Raspberrypico analytic PWM
![Teach you how to draw a map with ArcGIS [thermal map]](/img/16/993da4678667884a98e1d82db37d69.png)
Teach you how to draw a map with ArcGIS [thermal map]

Music says

Raspberrypico serial communication

83. (cesium home) how the cesium example works

Scheduled backup of MySQL database under Windows system

Linxu 【基本指令】

9. Pointer of C language (1) what is pointer and how to define pointer variables

CM4 development cross compilation tool chain production
随机推荐
Common instructions of vim software
Storage of C language data in memory (1)
Raspberry pie creation self start service
How to use pycharm to quickly create a flask project
Solve the cookie splitting problem (DP)
Does any elder brother know how to solve the huge flinksql log
[C language] step jumping problem [recursion]
Regular symbol description
How can Plato obtain premium income through elephant swap in a bear market?
Item exception handling in SSM
Introduction to seven kinds of polling (practice link attached)
Commands related to obtaining administrator permissions
熊市下PLATO如何通过Elephant Swap,获得溢价收益?
1. C language variable type, global variable, local variable
私有化部署的即时通讯平台,为企业移动业务安全保驾护航
Character device drive structure
DOS common commands
Usage Summary of thymeleaf
读取json配置文件,实现数据驱动测试
[link url]