- 博客(8)
- 收藏
- 关注
原创 F S B L (First Stage Boot Loader)加载 (一)
fsbl是elf文件,是运行的第一个用户应用程序,基本工作是将逻辑从flash复制到RAM中。用户对所有所有的可编程元素的定义可以借助Bootgen工具组装成一个可引导的映像。fsbl就是来打开这个单一的映像的。
2024-11-19 18:59:53 874
原创 VITIS2023报错:Error while launching program: Memory write error at 0xFFFC0000. Cannot read register sc
硬件必须重启,vitis program FPGAbit后再在vivado里烧一遍bit和ltx ,取消vitis program bit之后run。猜测应该是系统运行之后,再次FSBL 初始化的时候什么冲突导致的,但是之前一样的操作不会出现这个问题,很奇怪。不initialized using the FSBL会出现报错1。initialized using the FSBL 会出现报错2。运行第二次会出现报错1或者报错2。run点快了之后出现报错3。
2024-11-19 16:03:14 323
原创 CDMA各寄存器配置
bit[5:0]Reserved,SG模式下可用 ,CDMACR.IDLE = 1时写入,写入此字段的描述符地址必须对齐到64字节边界(8个64bit),示例是0x00,0x40,0x80。c). 写一个有效指针到通道CURDESC_PNTR寄存器(0x08),如果选择的地址空间大于32,则写入CURDESC_PNTR_MSB以指定当前描述符指针的高位。Simple模式下可用,CDMACR.IDLE = 1时写入,写入BTT寄存器会启动Simple模式DMA传输,不允许值为零(0),会导致DMA内部错误。
2024-11-08 13:25:29 654
原创 FPGA中计数器的使用与资源优化
可以使用几行 Verilog 行构建一个快速高效的二进制计数器。例如,这是一个 10位计数器。此类计数器从 0 计数到 1023,(2^10=1024),然后回滚 0 以继续其过程。由于隐藏的进位链,它占用的资源很少,并且在 FPGA 中运行速度快。这种写法会创建一大块 logic,比如这里就会用一个 10bit AND 门,计数器位宽越大消耗资源越多,有点浪费。假设设计中需要一个每 1024 clock拉高一次的 “tick” 信号。虽然原理相同,但进位链是不会消耗额外的资源。
2024-11-08 10:57:10 199
原创 vivado版本对比
实测得到,在一个Block RAM资源占用率超过60%的项目中,Synthesis的速度和实体机相差不大,但是Implementation速度在实体机跑了85分钟,而在虚拟机跑了52分钟。xilinx的FAE: 尽量用最新的偶数版本,奇数版本是增加了新特性,偶数版本是修bug。增加了对 Vitis AI 的集成支持,并提供了更多的 IP 核和开发板支持。论坛有大神解释称是windows的Vivado的GUI日志打印的效率低,因此。项目对新特性和最新设备的依赖性不强,需要兼容较老的操作系统和硬件平台。
2024-10-10 15:13:07 2110
原创 复位的几种类型
但rst和a不在同一时钟域下,rst复位释放后,触发器会需要一点恢复时间才能采样数据a,称为Recovering time。虽然这样在Recovering time后能稳定采样a信号,但相比同步复位同步释放没啥优势且仍然需要稳定的clk。既能在没有时钟的情况下复位,又可以在复位释放后所有触发器同步开始采样。2、异步复位异步释放:(存在 Recovering time)需要保持rst和a在同一时钟域下,且clk需要是持续稳定的。3、同步复位异步释放:(不推荐)4、异步复位同步释放:(推荐)
2024-08-07 12:00:51 219
原创 解决HLS不能同时打开多个窗口的问题
删除该路径下的workspace即可,或者把整个文件夹删掉,它自己也会重建。2018HLS在上限打开50个工程之后,有时会出现不能同时打开多个工程。
2024-07-09 16:37:25 239
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人