提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
常见转换说明
%A 浮点数、十六进dao制数字和p-记法(C99)
%c 一个字符
%d 有符号十进制整数
%e 浮点数、e-记数法
%E 浮点数、E-记数法
%f 浮点数、十进制记数法
%g 根据数值不同自动选择%f或%e.
%G 根据数值不同自动选择%f或%e.
%i 有符号十进制数(与%d相同)
%o 无符号八进制整数
%p 指针
%s 字符串
%u 无符号十进制整数
%x 使用十六进制数字0f的无符号十六进制整数
%X 使用十六进制数字0f的无符号十六进制整数
%% 打印一个百分号 使用printf ()函数 printf()的基本形式: printf("格式控制字符串",变量列表);
原文链接:https://blog.csdn.net/weixin_41194129/article/details/107714134
一、FPGA中的时序约束
电路中的建立时间和保持时间其实跟生活中的红绿灯很像,建立时间是指在绿灯(clk的上升沿)亮起之前行人或者车辆(data数据)在路口提前等待的时间(只允许绿灯亮起的一刹那在路口的车辆才允许通行),而保持时间,则是绿灯亮起后必须保持的时间,这样行人或者数据才能够通过这个十字路口,否则hold时间就不满足。
同时,红绿灯默认都是周期性的(clk也是周期性的),车辆不允许在两个相邻的红绿灯之间通过的时间超过一个clk的周期(组合逻辑时延不能过大)
建立时间(Tsu):是指在时钟沿到来之前数据从不稳定到稳定所需的时间,如果建立的时间不满足要求,在时钟上升沿,寄存器将不能正确采到数据值。如下图(左)所示:
保持时间(Th):是指在时钟上升沿后数据保持稳定的时间,如果保持时间不满足要求那么数据同样也不能被正确采集到。保持时间示意图如下图(右)所示:
说明: OSC : 系统时钟
ASSP.CLk :外部器件寄存器的时钟
ASSP.Q :外部器件数据输出
FPGA.D :FPGA数据输入
FPGA.CLK :FPGA内部寄存器的时钟
Tclk1 :系统时钟到外部器件之间的延时
Tclk2 :系统时钟到FPGA之间的延时
Tco :数据经过外部器件寄存器输出后相对于ASSP.CLK的偏移
Tpcb :数据在pcb电路板上的延时
FTsu :FPGA上寄存器的建立时间要求
FTh :FPGA上寄存器的保持时间要求
setup slack :建立时间余量,必须大于等于0才能满足建立时间的时序要求
hold slack :保持时间余量,必须大于等于0才能满足保持时间的时序要求 T: 系统时钟频率
二、详细说明
1.数据到达时间
2. 启动沿(launch)和锁存沿(latch)
启动沿:数据被launch的时钟边个启动沿,一般都会产生一个新的数据!
锁存沿:数据被latch的时钟边沿;也就是说,每一个锁存沿,都会有一个新的数据被保存!
3.数据到达时间(DAT:data arrival time)
DAT=启动沿+Tclk1+Tco+Tdata;
4.数据建立需要时间(DRTsu:data require time (setup))
5. 建立时间裕量(Setup Slack)
6.保持时间裕量(hold slack)
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。