- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 FPGA时序约束笔记3
基于明德扬FPGA时序约束教程过程:例1:其中上游器件:下游器件:约束思路:对于input delay,最大延时就是2.4ns,最小就是1.3ns对于output delay,由于线路延时使得setup更恶劣,使得hold更容易满足,setup的要求需要相应提高,hold的要求可以相应降低。设置要求为:2.5ns,-0.7ns对于时序例外,RST_N属于有数据没时钟的异步情况。需要设置一个虚拟时钟。虚拟时钟关注复位键的最小变化,如1ns的毛刺,则需要设置虚拟时钟为1000Mh
2020-12-08 12:06:27 412
原创 FPGA时序约束笔记2
两个边沿,只是一种命名方式,不需要太在意其中的意义中心思想是要以两个CLK为起点来进行计算。数据到达时间,从launch edge开始,到第二个寄存器D有数据的时间而时钟到达时间是capture edge到达的时间,仅和时钟延时有关因此我们可已得到数据的要求时间(SETUP,HOLD),就是capture edge分别减去Tsu(SETUP);和加上Thd(HOLD)时钟要求时间减去我的时钟到达时间就是时钟余量(SETUP)注意此时的数据要求时间是一个周期时间+capture时钟延时
2020-12-06 13:00:56 825
原创 FPGA时序约束笔记
建立时间:触发器输入端在时钟到来之前至少有多长时间才可以再变 ,不妨称之为Thd保持时间:输入端在到达之后至少保持多长时间才可以,不妨称之为Tsu (set up)D触发出发后输出端肯定存在一定的延时,称之为TcoD触发器之间可能会存在若干的线路延时,例如组合逻辑延时,称之为Tdata显然,为保证两个触发器正常工作,需要满足时间:T>= Tdata+Tus+Tco(实际上时钟频率也可能存在延时,时钟的延时反而会缓解这个问题,但会出现其它情况,先不考虑)这样我们就得到了最大时钟频率f=1/
2020-12-02 12:46:17 804
原创 PSPICE理想恒功率负载(CPL)建立方法
P=UI。说白了就是根据两端电压控制流过的电流从而实现恒定的功率。上图中GVALUE中25就是设定的功率值,除以两端的电压就是所需要流过的电流。但是,考虑到没有电压输入的时候,显然应该做断路处理:如果所需功率直接除以电压值则所需电流十分庞大,利用ETABLE对不需要的电压范围进行设限,及输入电压为0时,ETABLE输出一个十分大的值,则流过的电流极小。同样可以设一个上线值模拟过压保护。...
2020-11-10 21:16:38 2838 1
原创 platform与设备树
要掌握什么笔者认为,platform最大的好处有两点:一是驱动分离,二是更加简单,采用了自动匹配的方法,不用搜索设备树去找节点。实际上,platfrom由三部分组成:bus、driver、device。一般而言(也是力求最简单的情况下),bus已经被linux自己写好了,device用设备树描述。所以驱动开发者只需要对driver进行操作即可。而这个driver和普通的驱动的套路相差不大。用...
2020-04-28 17:31:48 1550
原创 LINUX下ZYNQ自定义IP中断驱动要点
中断驱动基础及常用API设备树表示需要在vivado中将PL的部分引入IRQ_F2P连号即可。自定义IP的设备树可以很容易通过HDF文件和PETALINUX自动生成,具体命令为:先配置下环境:source *petalinux目录*/setting.shhsihsi后:open_hw_design *hdf文件目录*set_repo_path *device-tree-xlnx...
2020-04-25 15:10:32 1665 1
原创 Linux下ZYNQ中GPIO中断号获取
gpio_to_irq使用提供的gpio_to_irq是最佳的选择,设备树配置起来也比较方便,都不需要将中断父结点设置为gpio0。 key { compatible = "zynq,led"; status = "okay"; key-gpio = <&gpio...
2020-04-22 15:05:08 4404
原创 ZYNQ的GPIO子系统应用
设备树设置:由于ZYNQ的引脚分配应该在VIVADO中硬件设计时完全确定,且在应用时往往不需要再对引脚进行分配,所以并不需要对pinctrl子系统所需要的设备树进行配置。但是,对于某个功能来说,例如点亮LED,需要对LED所需要的GPIO进行相关的描述,可以在顶层.dts补充内容,例如:#define GPIO_ACTIVE_HIGH 0#define GPIO_ACTIVE_LOW 1...
2020-04-19 20:45:08 518
原创 Eigen/Core: No such file or directory 解决
在学习SLAM的时候免不了使用Eigen,但是可能出现 Eigen/Core: No such file or directory等错误。使用Kdevelop时需要添加如下位置但是此时自动Makefile编译后仍会报错,简单的方法是在Linux里做一个链接sudo ln -sf eigen3/Eigen Eigensudo ln -sf eigen3/unsupported unsupp...
2019-10-03 15:16:00 5254 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人