试想这样一种场景,有两款不同的FPGA板卡,它们的功能代码90%都是一样的,但是两个板卡的管脚分配完全不同,一般情况下,我们需要设计两个工程,两套代码,之后还需要一直维护两个版本。
那么有没有一种自动化的方式,实现一个工程,编译出一个程序文件,下载到这两个不同的板卡上,都可以正常运行呢?
本文以开发板A和开发板B为例,介绍如何实现一套FPGA工程无缝兼容两款管脚不同的板卡?
两款开发板的时钟信号分别为clk_a和clk_b,分别位于两个不同的芯片管脚,两个开发板的FPGA型号完全一致,外部时钟的频率也一样
首先需要判断当前是哪款板卡?实现方式是通过两个计数器,分别对时钟信号进行计数,由于两款板子的时钟信号分别位于不同的管脚,所以只能有一个计数器会累加,并达到目标值,这样就实现了板卡型号的自动区分。
具体代码如下:
/*********************************************************************
* Copyright © blog.csdn.net/whik1194
* ModuleName : board_sel.v
*
本文探讨如何使一个FPGA工程能够无缝兼容具有不同管脚分配的两款开发板。通过时钟信号计数器区分板卡类型,并根据结果选择合适的输入输出,实现了板卡间的兼容。这种方式适用于固件升级的Golden镜像工程,但要求FPGA型号和晶振频率相同或部分兼容。
订阅专栏 解锁全文
1411

被折叠的 条评论
为什么被折叠?



