我没有用过ACTEL的FPGA,对它的环境和IO配置一无所知。以下内容依据Altera和Xilinx的调试经验,仅供参考。
//------仅供参考
a.首先,你这代码其实是个BUF,它对布局布线我个人理解无影响。
b.通常情况下,Altera和Xilinx对时钟输入管脚要求添加时钟BUF(本地时钟)或者BUFG(全局时钟Global)。部分高速IO或者专用IO也需要添加IO-BUF(例如Xilinx里要求添加BUFIO)。
c.添加的BUF通常以代码形式添加在源文件中(也有添加到引脚约束文件里的)。
d.但是,某些人员在写代码时可能忽略了BUF的添加,将单端时钟输入管脚直接引用连接到代码逻辑中。这种情况下,编译器会依据你的代码布局布线范围决定是否自动添加BUF。
//------参考结论
所以,如果是对于Altera或者Xilinx而言,写代码时可以跳过时钟BUF的添加。
对于Actel,可以试试不添加BUF,即忽略该段代码。将其他顶层所有使用clk_1的地方改为直接用clk。
- BUFIO BUFIO_inst (
- //------output
- .O (O),
- //------input
- .I (I)
- );
我没有用过ACTEL的FPGA,对它的环境和IO配置一无所知。以下内容依据Altera和Xilinx的调试经验,仅供参考。
//------仅供参考
a.首先,你这代码其实是个BUF,它对布局布线我个人理解无影响。
b.通常情况下,Altera和Xilinx对时钟输入管脚要求添加时钟BUF(本地时钟)或者BUFG(全局时钟Global)。部分高速IO或者专用IO也需要添加IO-BUF(例如Xilinx里要求添加BUFIO)。
c.添加的BUF通常以代码形式添加在源文件中(也有添加到引脚约束文件里的)。
d.但是,某些人员在写代码时可能忽略了BUF的添加,将单端时钟输入管脚直接引用连接到代码逻辑中。这种情况下,编译器会依据你的代码布局布线范围决定是否自动添加BUF。
//------参考结论
所以,如果是对于Altera或者Xilinx而言,写代码时可以跳过时钟BUF的添加。
对于Actel,可以试试不添加BUF,即忽略该段代码。将其他顶层所有使用clk_1的地方改为直接用clk。
- BUFIO BUFIO_inst (
- //------output
- .O (O),
- //------input
- .I (I)
- );
3
举报
-
卿小小_9e6:
单端时钟可以这样操作,差分时钟就别这样了。
如果时钟接入到时钟管理模块(PLL或者MMCM等),它的输入时钟可以配置是否需要添加BUF。
-
-