- 博客(16)
- 资源 (2)
- 问答 (2)
- 收藏
- 关注
原创 15、 Uart串口通信
由基础知识知50M系统时钟—波特率为115200条件下传输1bit需要计数个数为434。那么1Byte(串口传输格式为:1bit起始位+8bit数据位+1bit停止位)是不是循环计数10次434就可以传输完毕。观察上图,Buad_Flag信号(通道2)表示了传输1Bit传输的间隔,每遇到1个Buad_Flag=1的信号,数据线上切换1次数据,图中序号①-⑩分别为10bit数据的采样点,采样点处提取数据为0101_0101(0x55),低位在前。直接上图:图中描述了1Byte数据传输的示意图,重点都在图里!
2023-09-04 10:29:58
4343
原创 13、 触发器和锁存器
受时钟控制的边沿触发,只有在时钟触发时才采样当前的输入产生输出,当然因为锁存器和触发器二者都是时序逻辑,所以输出不但同当前的输入相关,还同上一时间的输出相关。是边沿敏感的存储单元,数据存储的动作由某一信号的上升或者下降沿行同步的。(钟控D触发器其实就是D锁存器,边沿D触发器才是真正的D触发器)是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,尽当锁存器处于使能状态时,输出才会随着数据输入发生变化。同其所有的输入信号相关,是电平触发,当输入信号变化时锁存器就变化,没有时钟端,属于。
2023-09-03 19:57:57
631
原创 12、 三种复位方式
针对毛刺问题,给rst_n_s再添加一级时钟延迟,即可保证rst_n_s的有效时间 > 时钟周期,因而能够避免毛刺带来的复位不完全这一问题。所谓异步复位,同步释放就是在复位信号到来的时候不受时钟信号的同步,而是在复位信号释放的时候受到时钟信号的同步。② 由于大多数的逻辑器件的目标库内的DFF都只有异步复位端口,所以,倘若采用同步。异步复位电路中,如果rst_n有一短暂有效期(毛刺),这样可能会导致复位不完全,系统出现混乱。异步复位是指,只要复位信号有效即进行复位操作,而不管时钟上升沿是否到来。
2023-09-03 19:38:06
484
原创 11、 亚稳态
这个时间的意义是,异步控制信号在时钟上升沿后仍需保持Tremoval的稳定时间,如果保证不了这个去除时间,也就是说这个异步控制信号的解除与“有效时钟沿”离得太近,那么依旧不能保证这一异步控制信号能正常执行。在跨时钟域信号传输时,由于源寄存器时钟和目的寄存器时钟相移未知,所以源寄存器数据发出数据,数据可能在任何时间到达异步时钟域的目的寄存器,所以无法保证满足目的寄存器Tsu和Th的要求,从而出现亚稳态。也就是说,电路处于中间态的时间变长,使得电路“反应”迟钝,这就是“亚稳态”。对异步信号进行同步处理;
2023-09-03 17:25:24
179
原创 10、 竞争与冒险
两个输入信号同时向相反方向的逻辑电平跳变的现象(即一个由1变为0,另一个从0变为1)。因竞争导致在输出端可能产生尖峰脉冲的现象。
2023-09-03 16:37:24
552
原创 9、FPGA跨时钟域设计
建立时间( setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间。保持时间( hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间。相当于保护时间,这里要求建立时间容限大于等于0。保持时间容限也要求大于等于0。
2023-09-02 22:02:59
219
1
原创 8、 状态机
FPGA是并行执行的,如果想要处理具有前后顺序的事件就需要引入状态机。状态机简写为 FSM(Finite State Machine),也称为同步有限状态机,我们一般简称为状态机,之所以说“”是因为状态机中所有的进行的,而“”则是说的。
2023-09-02 21:33:32
355
原创 7、16位除法器
因为除数要与被除数按位对齐,相减。为什么被除数要补位?因为被除数要移位超过自身原有位数。原理: 11010 / 101 = 101…16位触除法器仅仅改变被除数和除数补零个数。
2023-09-02 17:32:50
154
原创 6、任意小数分频
因为 8 < N < 9 , 所以两个整数分频系数是8和9。接着要计算87个clk_out周期分别有多少个是8分频和9分频的。然后采用若干种(一般是两种)整数分频在87个原周期clk_in内产生10个新时钟周期clk_out。小数分频器是分频器中最难的一种,而且不能像整数分频那样得到均匀且占空比为50%的分频输出。小数分频,8.7分频,87个输入上升沿对应10个输出上升沿。可得x = 3,y=7。
2023-09-02 17:04:10
603
2
原创 2、按键消抖
抖动时间的长短由按键的机械特性决定,一般为 5ms~10ms。根据抖动的时间为 5ms~10ms,我们产生一个 20ms 的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当系统检测到按键为低电平时 cnt_20ms 计数器就计数,当检测到按键为高电平时 cnt_20ms 计数器就清零。
2023-09-02 15:42:59
830
原创 FFT&DFT 实现 编程实现基于时间抽取的基2的FFT算法 亲测有效 欢迎下载
编程实现基于时间抽取的基2的FFT算法要求:实现任意长度的基于时间抽取的基2的FFT算法,统计算法运行所需时间,与DFT的直接实现进行运行时间对比,与现存的FFT算法运行时间进行对比。运行结果实现FFT算法部分代码://-------------------倒序实现int daoxu(int a,int n){ int i,b,result=0; for(i=0;i<n...
2018-11-24 14:33:16
1476
数字IC设计笔试面试经典100题.pdf
2023-08-01
用C语言实现FFT算法的编写,可与DFT时间作比较
2018-11-24
程序调试正确,keil5生成hex文件不正确,编译器优化掉了
2022-07-10
关于cortex-m0 取指仿真时序分析过程
2022-05-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人