使用tcl文件分配管脚

之前在进行简单的设计的时候,分配管脚比较少,就用的pin planner一个一个输入。现在在做一个大的系统,这样做就太麻烦,在网上搜到了用tcl文件分配管脚的方法。

步骤如下:

首先生成tcl文件,具体做法是project--Generate Tcl Files for project,注意不要勾选include default assignments选项,第一次勾选了之后,提示错误。

然后在文件中间按照下面的格式对管脚进行分配即可。

set_location_assignment PIN_N8 -to RESET

生成的Tcl文件如下,#相当于注释的作用:

# Copyright (C) 1991-2013 Altera Corporation
# Your use of Altera Corporation‘s design tools, logic functions
# and other software and tools, and its AMPP partner logic
# functions, and any output files from any of the foregoing
# (including device programming or simulation files), and any
# associated documentation or information are expressly subject
# to the terms and conditions of the Altera Program License
# Subscription Agreement, Altera MegaCore Function License
# Agreement, or other applicable license agreement, including,
# without limitation, that your use is for the sole purpose of
# programming logic devices manufactured by Altera and sold by
# Altera or its authorized distributors.  Please refer to the
# applicable agreement for further details.

# Quartus II: Generate Tcl File for Project
# File: DAQ.tcl
# Generated on: Fri Feb 26 15:12:54 2016

# Load Quartus II Tcl Project package
package require ::quartus::project

set need_to_close_project 0
set make_assignments 1

# Check that the right project is open
if {[is_project_open]} {
    if {[string compare $quartus(project) "DAQ"]} {
        puts "Project DAQ is not open"
        set make_assignments 0
    }
} else {
    # Only open if not already open
    if {[project_exists DAQ]} {
        project_open -revision DAQ DAQ
    } else {
        project_new -revision DAQ DAQ
    }
    set need_to_close_project 1
}

# Make assignments
if {$make_assignments} {
    set_global_assignment -name FAMILY "Cyclone IV E"
    set_global_assignment -name DEVICE EP4CE10F17C8
    set_global_assignment -name ORIGINAL_QUARTUS_VERSION 13.0
    set_global_assignment -name PROJECT_CREATION_TIME_DATE "16:14:35  FEBRUARY 23, 2016"
    set_global_assignment -name LAST_QUARTUS_VERSION 13.0
    set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
    set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
    set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85
    set_global_assignment -name DEVICE_FILTER_PACKAGE FBGA
    set_global_assignment -name DEVICE_FILTER_PIN_COUNT 256
    set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 8
    set_global_assignment -name ERROR_CHECK_FREQUENCY_DIVISOR 1
    set_global_assignment -name EDA_SIMULATION_TOOL "ModelSim-Altera (Verilog)"
    set_global_assignment -name EDA_OUTPUT_DATA_FORMAT "VERILOG HDL" -section_id eda_simulation
    set_global_assignment -name USE_CONFIGURATION_DEVICE OFF
    set_global_assignment -name CRC_ERROR_OPEN_DRAIN OFF
    set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL"
    set_global_assignment -name CYCLONEII_RESERVE_NCEO_AFTER_CONFIGURATION "USE AS REGULAR IO"
    set_global_assignment -name RESERVE_DATA0_AFTER_CONFIGURATION "USE AS REGULAR IO"
    set_global_assignment -name RESERVE_DATA1_AFTER_CONFIGURATION "USE AS REGULAR IO"
    set_global_assignment -name RESERVE_FLASH_NCE_AFTER_CONFIGURATION "USE AS REGULAR IO"
    set_global_assignment -name RESERVE_DCLK_AFTER_CONFIGURATION "USE AS REGULAR IO"
    set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -rise
    set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -fall
    set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -rise
    set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -fall
    set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
    set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
    set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
    set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW"
    set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)"
    set_global_assignment -name QSYS_FILE Qsys_files/HardCore.qsys
    set_global_assignment -name QIP_FILE PLL.qip
    set_global_assignment -name BDF_FILE DAQ.bdf
    set_global_assignment -name VERILOG_FILE AD_conv.v
    set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top

    set_location_assignment PIN_N8 -to RESET
    set_location_assignment PIN_E1 -to SYS_CLK

    #SDRAM
    set_location_assignment PIN_A14 -to SdramClk    

    set_location_assignment PIN_D5 -to DQ[0]
    set_location_assignment PIN_B5 -to DQ[1]
    set_location_assignment PIN_D6 -to DQ[2]
    set_location_assignment PIN_C6 -to DQ[3]
    set_location_assignment PIN_B6 -to DQ[4]
    set_location_assignment PIN_B7 -to DQ[5]
    set_location_assignment PIN_D8 -to DQ[6]
    set_location_assignment PIN_C8 -to DQ[7]
    set_location_assignment PIN_A9 -to DQ[8]
    set_location_assignment PIN_A8 -to DQ[9]
    set_location_assignment PIN_A7 -to DQ[10]
    set_location_assignment PIN_A6 -to DQ[11]
    set_location_assignment PIN_A5 -to DQ[12]
    set_location_assignment PIN_A4 -to DQ[13]
    set_location_assignment PIN_A3 -to DQ[14]
    set_location_assignment PIN_A2 -to DQ[15]

    set_location_assignment PIN_B11 -to ADDR[0]
    set_location_assignment PIN_D12 -to ADDR[1]
    set_location_assignment PIN_B12 -to ADDR[2]
    set_location_assignment PIN_B13 -to ADDR[3]
    set_location_assignment PIN_C16 -to ADDR[4]
    set_location_assignment PIN_B16 -to ADDR[5]
    set_location_assignment PIN_C15 -to ADDR[6]
    set_location_assignment PIN_A15 -to ADDR[7]
    set_location_assignment PIN_B14 -to ADDR[8]
    set_location_assignment PIN_C14 -to ADDR[9]
    set_location_assignment PIN_C11 -to ADDR[10]
    set_location_assignment PIN_A13 -to ADDR[11]
    set_location_assignment PIN_A12 -to ADDR[12]

    set_location_assignment PIN_B10 -to BA[0]
    set_location_assignment PIN_D11 -to BA[1]

    set_location_assignment PIN_B8 -to DQM[0]
    set_location_assignment PIN_A10 -to DQM[1]

    set_location_assignment PIN_A11 -to CKE
    set_location_assignment PIN_D9 -to nCAS
    set_location_assignment PIN_B9 -to nCS
    set_location_assignment PIN_C9 -to nRAS
    set_location_assignment PIN_E9 -to nWE

    #FLASH

    set_location_assignment PIN_H1 -to DCLK_EPCS
    set_location_assignment PIN_D2 -to SCE_EPCS
    set_location_assignment PIN_C1 -to SDO_EPCS
    set_location_assignment PIN_H2 -to DATA0_EPCS

    # Close project
    if {$need_to_close_project} {
        project_close
    }
}

然后加载tcl文件,对bdf文件分配管脚,具体操作如下:

tools--Tcl scripts,弹出对话框,选择要加载的tcl文件,点击Run即可。

时间: 2024-11-08 21:13:49

使用tcl文件分配管脚的相关文章

我的 FPGA 学习历程(09)—— 实验点亮单个数码管

数码管是一种常见的用于显示的电子器件,根据数码管大致可以分为共阴极和共阳极两种,下图所示的是一个共阳极的数码管的电路图(摘自金沙滩工作室的 51 开发板电路图),我的 AX301 开发板与这张图的情况类似,几乎所有的教科书上都会讲到数码管的原理,这里我就不再详述了. 由于多个数码管的段选信号(下图中的 DB0~DB7)是共用的,想要显示多个数字需要用到动态扫描,动态扫描电路需要使用时钟.冒然的使用时钟会使得初学者不知所措,所以在这篇基础的组合逻辑电路中只点亮单个数码管,这样就不必涉及到时钟了.时

使用Tcl脚本分配FPGA管脚

自动生成Tcl文件 Project -> Generate Tcl File for Project... 弹出如下对话框,设置脚本路径. 编辑引脚 使用set_location_assignment分配管脚如下: 第一次配制时,没有set_location_assignment语句,自已在set_global_assignment语句下一行添加即可. 执行Tcl脚本 Tools -> Tcl Scripts... 选中刚新建的Tcl文件,点击Run运行即可! 答疑解惑 1. 为什么Tcl中没

(qsf文件 、 tcl文件 和 csv(txt)文件的区别) FPGA管脚分配文件保存、导入导出方法

来源: http://blog.sina.com.cn/s/blog_3ef1296d0101aob6.html 三.FPGA管脚分配文件保存方法 使用别人的工程时,有时找不到他的管脚文件,但可以把他已经绑定好的管脚保存下来,输出到文件里. 方法一: 查看引脚绑定情况,quartus -> assignment -> Pins,打开FPGA引脚界面,在这个界面的菜单中可以保存引脚文件为csv格式(表格形式)和tcl格式. 步骤:File -> Export… -> 选择保存名字和保

在Quartus中如何使用TCL脚本文件配制管脚

quartus软件分配管脚的方法有两种,一是选择菜单"assignments->pins"进入管脚分配视图手动分配:第二种方法是利用tcl脚本文件自动分配.这里我来介绍第二种方法. 1.生成tcl文件,按图例顺序操作 其中Tcl Script File name 是文件路径 2 找到"set_location_assignment"字段编辑管脚. 第一次配制时,没有set_location_assignment语句,自已在set_global_assignme

在Quartus使用TCL脚本文件配制管脚 《本人亲测》

方法一:Import Assignments步骤1: 使用记事本或类似软件新建一个txt文件(或csv文件),按如下格式编写管脚分配内容(不同的开发版,其内容也不同,本文以我使用的DIY_DE2开发板为范例).[这种方式格式最为简单] 注意:To和Location两个关键字中间有一个半角逗号.    图1 pin.txt 步骤2: 在QII软件中,选择"Assignments -> Import Assignments".如图所示,导入xxx.txt或者xxx.csv文件即可 图

Quartus II管脚批量分配文件(.tcl)格式

1 package require ::quartus::project 2 3 set_location_assignment PIN_E1 -to clk 4 set_location_assignment PIN_A11 -to data[0] 5 set_location_assignment PIN_A12 -to data[1] 原文地址:https://www.cnblogs.com/yllinux/p/8277745.html

锤子:如何不再砸自己的脚

靠着一把铁锤砸烂了西门子,老罗的情怀砸进了众多消费者的心里,他的锤子手机也伴随着情怀拿到了足量的订单.而近日,罗永浩和他的锤子手机再一次聚焦了全民的视线,不过这次,他挥舞的锤子却是砸在了自己的脚上,虽然暂不致命,但至少会疼上好一阵子. 锤子砸脚1.0: 富士康考问生产能力 "过去的十来天,可能是锤子科技创立以来最艰难的十来天,我们的产能比计划中的最坏结果还要差."罗永浩与他的锤子在微博上称,目前锤子在"产线欠磨合"."工人装配操作不熟练". &q

【NS2】TCL debug (转载)

1.使用NS2进行模拟,就不可避免的会接触TCL/OTCL和C/C++.两者配合使用.一般设置场景啊,业务流啊,都使用TCL/OTCL来编写脚 本.要进行路由实验模拟的话,同一类的实验,这些脚本基本上是差不多的.所以其实没有必要在这种脚本语言上花费太多的时间.最主要的就是用C/C++来实 现自己的路由算法,这才是考验你基本功的地方. 2.算法出来之后,就开始模拟了.要使得自己写的新路由算法能在NS2上跑,就需 要修改一些文件,使得NS2能够认识你的路由算法.主要包括NS2_HOME/ns-2.3

如何利用TCL文件给FPGA分配引脚

利用TCL文件来配置FPGA引脚十分方便,不仅可以配置引脚,还可以修改器件,配置示使用引脚为三态,时序约束等等,因此一般情况下我们都选择利用该法法来对FPGA的引脚进行配置,具体步骤如下: (1) 建立一个TCL文件,其实很简单,点击New选项,选项卡中选择TclScript File文件即可,也可以直接新建一个文件,然后将其后缀名改为tcl即可. (2) 编写tcl文件,下面举一个例子: #----------------------------------------------------