标签 FPGA 下的文章

HAPS系统中的UMRBus

基本概念UMRBus是HAPS系统中用于在用户Host PC和HAPS系统(FPGA板卡)之间进行通信的一个总线协议。UMRBus定义了从硬件到软件的一整套交互协议,可以让用户方便的将上位机软件和HAPS系统进行软件上的集成。除了支持数据交互之外,UMRBus还支持硬件中断的定义,每一个UMRBus的实例都可以定义一个中断触发信号和16位位宽的中断类型信号的传输,UMRBus中断还包含了握手...

继续阅读 »

TCL语言小试

搞芯片的要是不会tcl真的有点说不过去,虽然严格上我并不算是搞芯片的,但是tcl还是有必要了解一下的,因为FPGA里面还是要用到很多tcl脚本的。下面我们就根据一个具体的例子来看看tcl是怎么读取二进制文件的。先看需求现在我们要把一个二进制的文件通过tcl读取并转换成一个列表,二进制文件通常是我们程序生成的一个bin文件,转换成列表之后可以用于更新Memory或者仿真等操作。程序编写都说Go...

继续阅读 »

后仿中搞定ROM Overlay

我们知道在一些特殊的调试场合,我们可能需要进行综合后,或者布局布线后的仿真。这个具体的仿真步骤我们在前面的文章中已经做过介绍,这里就不再赘述。今天我们要研究的问题是后仿中的ROM Overlay,ROM Overlay其实就是对运行的ROM程序进行修改,前面文章中我们也专门介绍了如何对生成的FPGA bit进行Overlay操作。这里我们来看看在后仿中如何进行如何进行ROM Overlay操...

继续阅读 »

FPGA中Gate clock的处理

今天我们来看看FPGA porting时候对ASIC中Clock Gate的处理。我们知道ASIC设计中为了功耗考虑,常常会有大量的Clock Gate。而对这样的ASIC做FPGA验证的时候,这些Gate Clock会成为一个很大的障碍,因为FPGA中并没有这么多Clock Gate,并且Clock Gate会极大的影响FPGA设计的时序。因此,为了更好的实现FPGA的porting,我们...

继续阅读 »

Windows命令行呀,想说爱你不容易

最近依然还是在搞内个HAPS FPGA,在准备ROM更新FPGA bit文件相关工具的时候,碰到了一个非常奇怪的问题。我们先来看看问题是什么样子的。问题描述在更新FPGA bit中ROM的程序的时候,我们一般不能直接用elf文件,因为elf文件中会有一些我们无法用到的偏移信息,所以我们需要用一个自定义的脚本产生相应的mem文件,然后通过这个mem文件更新我们的FPGA bit文件。mem文件...

继续阅读 »