发 帖  
  • 发布了文章 2021-4-26 11:13
    同步控制信号 对于读/写时钟相互独立的FIFO(读/写时钟独立意味着这两个时钟是异步的,例如来自于不同的MMCM),要确保相应的控制信号只在与之对应的时钟域内被使用。如下图所示,除了rst对整个FIFO进行异步复位外,其余信号都与各自的时钟...
    0
    3047次阅读
    0条评论
  • 发布了文章 2021-4-9 11:29
    在FPGA设计中,我们遵循的原则之一是同步电路,即所有电路是在同一时钟下同步地处理数据。这个概念可进一步展开,即不局限于同一时钟,只要时钟之间是同步关系,这是因为目前的芯片规模越来越大,设计越来越复杂,往往需要多个时钟同时运算。...
    0
    3747次阅读
    0条评论
  • 发布了文章 2021-4-1 10:27
    对于寄存器,如果没有明确指定其初始值,Vivado会根据其类型(FDCE/FDRE/FDPE/FDRE)设定合适的初始值。有些工程师喜欢使用复位信号,对所有的寄存器进行上电复位,使其在处理数据之前达到期望初始状态。...
    0
    8498次阅读
    0条评论
  • 发布了文章 2021-3-27 09:52
    在Versal ACAP中,同一个CLB内同一列的LUT是可以级联的,这是与前一代FPGA UltraScale+系列的一个显著不同点。这里我们先看看Versal中LUT的结构,如下图所示(图片来源:Figure4, am005)。   可...
    1
    4089次阅读
    0条评论
  • 发布了文章 2021-3-12 14:58
    进一步扩展,如果每个通道有多个与之对应的Kernel,会是什么情形呢?如下图所示。图中,每个通道有4个Kernel。从而,最终输出有4个通道。输出每个通道的计算方式与上图保持一致。...
    0
    2240次阅读
    0条评论
  • 发布了文章 2021-3-3 14:49
    先看一个二维滤波器,如下图所示。滤波器是一个3x3的矩阵,输入数据是一个5x5的矩阵。输入矩阵中的红色方框(下文称之为滑窗)是一个激活区域(ActiveRegion),这个区域的大小与滤波器大小一致,均为3x3方阵。激活区域与滤波器对应系数...
    0
    6259次阅读
    0条评论
  • 发布了文章 2021-2-14 11:42
    各种类型的Memory在FPGA设计中被广泛使用,例如单端口RAM、简单双端口RAM、真双端口RAM、单端口ROM以及双端口ROM。这些RAM或ROM都可通过coe文件的形式定义其初始值。那么可能在实际应用中会出现这样一种情形:设计的其他部...
    0
    3414次阅读
    0条评论
  • 发布了文章 2021-2-11 11:43
      在生成ROM时需要提供coe文件,如下图所示。这个coe文件本质上就是Memory的初始化文件,Xilinx对其有具体的格式要求。   coe文件格式 coe文件格式要求如下图所示,其中前两行是固定的。其中第一行定义了Radix,可以是...
    0
    9724次阅读
    0条评论
  • 发布了文章 2021-2-11 11:27
    Versal中的三个引擎Versal芯片是业界第一款自适应加速计算平台(ACAP:Adaptive Compute Acceleration Platform),同时也是一款异构计算平台,因为它将三种引擎集成于其中。这三种引擎是:标量引擎(...
    1
    4296次阅读
    0条评论
  • 发布了文章 2021-2-2 17:07
    对于逻辑级数较高的路径,常用的方法之一是在其中插入流水寄存器,将路径打断,从而降低逻辑延迟,这在HDL代码中实现起来比较容易。此外,从RTL代码风格角度讲,对于关键模块,设计时常将其输入/输出端口寄存。这起到了隔离关键路径的作用。 但是,如...
    0
    3696次阅读
    0条评论
  • 发布了文章 2021-2-2 16:41
    C++中的vector vector(向量)是一种序列式容器,类似于数组,但比数组更优越。一般来说数组不能动态拓展,因此在程序运行的时候不是浪费内存,就是造成越界。而vector正好弥补了这个缺陷,它的特征是相当于可拓展的数组(动态数组),...
    0
    9811次阅读
    0条评论
  • 发布了文章 2021-2-2 16:39
    MMCM的一个重要功能就是过滤抖动,更准确地说是改善抖动。使用MMCM时,建议直接调用IP Core Clocking Wizard,而不要使用原语。   如果MMCM仅仅用作改善抖动,那么要求输出时钟频率和输入时钟频率一致。此时要格外关注...
    0
    3772次阅读
    0条评论
  • 发布了文章 2020-12-30 16:23
      在ISE中,可以很方便地生成RTL模块的实例化模板,Vivado其实也有这个功能,只是要通过Tcl命令实现,而且这个命令隐藏的比较深。以Vivado 2020.2为例,在菜单下选择Tools,点击其中的XHub Stores,确保Des...
    0
    5155次阅读
    0条评论
  • 发布了文章 2020-12-17 09:24
    问题1:对于DFX(Dynamic FunctioneXchange)设计,如果出现如下Error信息,该如何解决?        ERROR:[DRC HDPR-6]Logic illegally placed:Cell 'scl_OBU...
    0
    5291次阅读
    0条评论
  • 发布了文章 2020-12-5 09:47
    Vivado提出了UFDM(UltraFast Design Methodology)设计方法学,其核心思想是尽可能在设计初期发现潜在问题并解决。毕竟,越是在后期发现问题,越难发现关键问题,解决起来越费力,甚至会出现牵一发而动全身的被动局面...
    0
    4860次阅读
    0条评论
ta 的专栏

成就与认可

  • 获得 3 次赞同

    获得 0 次收藏
关闭

站长推荐 上一条 /9 下一条

返回顶部