安德鲁

[原创].在Quartus II中分配管脚的两种常用方法.[Quartus II]

0
阅读(2440)

示范程序

seg7_test.v

 
01 /*
02  * seg7 x 8 查找表测试文件
03  */
04  
05 module seg7_test(
06   input         CLOCK_50,
07    
08   output [7:0]  SEG7_DIG,
09   output [7:0]  SEG7_SEG
10 );
11  
12 seg7_8_LUT u0(
13   .i_clock(CLOCK_50),
14   .i_turn_off(8'b1100_0000),  // 熄灭位[此处取第7、6位
15   .i_dp(8'b0000_0100),        // 小数点位[此处取第2位
16   .i_data(32'hAB_CDEF),       // 欲显数据[16进制
17    
18   .o_dig(SEG7_DIG),
19   .o_seg(SEG7_SEG)
20 );
21  
22 endmodule

此例化文件共需要17个管脚。接下来我和大家一起讨论使用QII分配管脚的两种常用方法。

方法一:Import Assignments

步骤1:使用记事本或类似软件新建一个txt文件(或csv文件),按如下格式编写管脚分配内容(不同的开发版,其内容也不同,本文以我使用的艾米电子2C8开发版为范例)。

注意:To和Location两个关键字中间有一个半角逗号。

图1 pin.txt

步骤2:在QII软件中,选择“Assignments —— Import Assignments”。如图所示,导入xxx.txt文件即可。

图2 导入pin.txt

步骤3:在QII软件中,选择“Assignments —— Pin”标签(或者点击image按钮) ,打开Pin Planner,验证管脚是否分配正确。

图3 验证管脚是否分配正确

方法二:source xxx.tcl

步骤1:在QII软件中,使用“Assignments —— Remove Assignments”标签,移除管脚分配内容,以确保此次操作,分配的管脚没有因为覆盖而出现错误的情况。

图4 Remove Assignments

注:在未执行任何管脚分配操作新工程中,可跳过步骤1。

步骤2:使用记事本或类似软件新建一个tcl文件,按如下格式编写管脚分配内容(不同的开发版,其内容也不同,本文以我使用的艾米电子2C8开发版为范例)。

注意关键字set_location_assignment和-to的用法。

图5 pin.tcl

步骤3:执行pin.tcl

方法1:在QII软件中,使用“View —— Utility Windows —— Tcl Console”标签,打开Quartus II Tcl Console。执行语句:

图6 source pin.tcl

方法2:在QII软件中,使用“Tools —— Tcl Scripts …”标签,打开Tcl Scripts。

图7 Tcl Scripts

选择pin.tcl,选择“Run”标签,执行Tcl文件。

步骤4:同方法1的步骤3。