第1章:设计流租命令行设计流程图13.Makefile肿本辅录(第2部分,共3部分)all:smart.log $(PROJECT).asm.rpt$(PROJECT).tan.rptclean:rm-rf*.rpt*.chgsmart.log*.htm*.eqn*.pin*.sof*.pofdbmap:smart.log $(PROJECT).map.rptfit:smart.log $(PROJECT).fit.rptasm:smart.log $(PROJECT).asm.rpttan:smart.log $(PROJECT).tan.rptsmart:smart.log##########################################Executable Configuration########################################################MAP_ARGS ---family=StratixFIT_ARGS=--part=EP1S20F484C6ASM_ARGS =TAN_ARGS =######################################################### Target implementations########################################################STAMP = echo done >$(PROJECT).map.rpt:map.chg $(SOURCE_FILES)quartus_map $(MAP_ARGS)$(PROJECT)$(STAMP) fit.chgs(PROJECT).fit.rpt: fit.chg $(PROJECT).map.rptquartus_fit $(FIT_ARGS) $(PROJECT)$(STAMP)asm.chg$(STAMP)tan.chg$(PROJECT).asm.rpt: asm.chg $(PROJECT).fit.rptquartus_asm $(ASM_ARGS)$(PROJECT)$(PROJECT).tan.rpt:tan.chg$(PROJECT).fit.rptquartus_tan $(TAN_ARGS)$(PROJECT)smart.log:$(ASSIGNMENT_FILES)quartus_sh--determine_smart_action $(PRoJEcT)>smart.log#########################################################Project initialization###################################################排##############$(ASSIGNMENT_FILES) :quartus_sh --prepare $(PROJECT)26QUARTUSI简介ALTERA公司
第 1 章 : 设计流程 命令行设计流程 26 QUARTUS II 简介 ALTERA 公司 all: smart.log $(PROJECT).asm.rpt $(PROJECT).tan.rpt clean: rm -rf *.rpt *.chg smart.log *.htm *.eqn *.pin *.sof *.pof db map: smart.log $(PROJECT).map.rpt fit: smart.log $(PROJECT).fit.rpt asm: smart.log $(PROJECT).asm.rpt tan: smart.log $(PROJECT).tan.rpt smart: smart.log ################################################################### # Executable Configuration ################################################################### MAP_ARGS = -family=Stratix FIT_ARGS = -part=EP1S20F484C6 ASM_ARGS = TAN_ARGS = ################################################################### # Target implementations ################################################################### STAMP = echo done > $(PROJECT).map.rpt: map.chg $(SOURCE_FILES) quartus_map $(MAP_ARGS) $(PROJECT) $(STAMP) fit.chg $(PROJECT).fit.rpt: fit.chg $(PROJECT).map.rpt quartus_fit $(FIT_ARGS) $(PROJECT) $(STAMP) asm.chg $(STAMP) tan.chg $(PROJECT).asm.rpt: asm.chg $(PROJECT).fit.rpt quartus_asm $(ASM_ARGS) $(PROJECT) $(PROJECT).tan.rpt: tan.chg $(PROJECT).fit.rpt quartus_tan $(TAN_ARGS) $(PROJECT) smart.log: $(ASSIGNMENT_FILES) quartus_sh -determine_smart_action $(PROJECT) > smart.log ################################################################### # Project initialization ################################################################### $(ASSIGNMENT_FILES): quartus_sh -prepare $(PROJECT) 图 13. Makefile 脚本摘录 ( 第 2 部分,共 3 部分 )
第1章:设计流租设计方法和设计规划图13.Makefile聊本辅录(第3部分,共3部分)map.chg:$(STAMP) map.chgfit.chg:$(STAMP) fit.chgtan.chg:$(STAMP)tan.chgasm.chg:$(STAMP) asm.chg有关信息请参阁使用命今行可执行文件Quartusll Help中的“Overview:UsingCommand-Line Executables"Altera网站上QuartusllHandbook第2巷"Command-Line Scripting"Tcl命今和Td脚本Quartus IlHelp中的"Overview:UsingTclfromtheUserInterface","Overview:UsingTcl Scripting"以及“API FunctionsforTcl"Altera网站上QuartusllHandbook第2卷"Tcl Scripting"Altera网站上Quartusll ScriptingReferenceManual设计方法和设计规划在建立新设计时,应重视考虑Quartusll软件提供的设计方法。例如LogicLock功能提供自上而下或自下而上的设计方法,以及自上而下渐进式编译设计流程和基于块的设计流程。不管是否使用EDA设计输入和综合工具,都可以使用这些设计流程。自上而下与自下而上的设计方比较在自上而下的设计流程中,整个设计只有一个输出网表,您可以对整个设计进行跨设计边界和层次结构的优化处理,而且管理起来也比较容易。27ALTERA公司QUARTUSII简介
第 1 章 : 设计流程 设计方法和设计规划 ALTERA 公司 QUARTUS II 简介 27 设计方法和设计规划 在建立新设计时,应重视考虑 Quartus II 软件提供的设计方法。例如, LogicLock 功能提供自上而下或自下而上的设计方法,以及自上而下渐进式 编译设计流程和基于块的设计流程。不管是否使用 EDA 设计输入和综合工 具,都可以使用这些设计流程。 自上而下与自下而上的设计方法比较 在自上而下的设计流程中,整个设计只有一个输出网表,您可以对整个设计 进行跨设计边界和层次结构的优化处理,而且管理起来也比较容易。 map.chg: $(STAMP) map.chg fit.chg: $(STAMP) fit.chg tan.chg: $(STAMP) tan.chg asm.chg: $(STAMP) asm.chg 图 13. Makefile 脚本摘录 ( 第 3 部分,共 3 部分 ) f 有关信息 请参阅 使用命令行可执行文件 Quartus II Help 中的 “Overview: Using Command-Line Executables” Altera 网站上 Quartus II Handbook 第 2 卷 “Command-Line Scripting” Tcl 命令和 Tcl 脚本 Quartus II Help 中的 “Overview: Using Tcl from the User Interface”、“Overview: Using Tcl Scripting”以及 “API Functions for Tcl” Altera 网站上 Quartus II Handbook 第 2 卷 “Tcl Scripting” Altera 网站上 Quartus II Scripting Reference Manual
第1章:设计流租设计方法和设计规划在自下而上的设计方法中,每个设计模块具有单独的网表。此功能允许您单独编译每个模块,并对每个模块应用不同的优化技巧。修改单个模块不会影响其宅模块的优化。自下而上的设计还有助于在其宅设计中重新使用设计模块。自上而下渐进式编译设计流程自上而下渐进式编译设计流程重新使用以前的编译结果,确保只对修改过的设计重新编译,因此能够保持设计性能不变,节省编译时问。处理其他设计分区时,可以只修改设计中关键单元的布局,也可以只对设计的指定部分限定布局,使Compiler能够自动优化设计的其余部分,从而提高了设计时序。在渐进式编译流程中,可以为设计分区分配一个设计输入实例,然后使用TimingClosureFloorplan和LogicLock功能为分区分配一个器件物理位置,进行完整的设计编译。在编译过程中,Compiler将综合和适配结果保存在工程数据库中。第一次编译之后,如果对设计做进一步的修改,只有改动过的分区需要重新编译。设计修改完成后,所有分区合并,进行完整的编译。可指定是否只需要进行渐进式综合,以节省编译时问,还是进行完整的渐进式编译,以保持性能不文,并节省大量编译时问。由于渐进式编译流程能够防止Compiler跨分区边界进行优化,因此Compiler不会象常规编译邸样对面积和时序进行大量优化。为获得最佳的面积和时序结果,Altera建议记录设计分区的输入和输出,尽量将设计分区数量控制在合理范图内,避免跨分区边界建立过多的关键路径,不要建立太小的分区,如数量少于1000的逻辑单元和AdaptiveLogicModules(ALM)分区。关于分区分配和渐进式编译流程其他步骤的详细信息,请参阅以下章节:0第3章,“约束输入”第57页“分配设计分区”。0第4章“综合”第78页“进行渐进式综合”。第5章“市局布线”第83页“进行完整的渐进式编译”。O第6章“基于模块的设计”第107页“在自上而下渐进式编译流程中使0用LogicLock区域”。第9章“时序逼近”第153页“使用渐进式编译达到时序逼近”。第12章“调试”第181页“渐进式编译使用SignalTapllLogic0Analyzer"。28QUARTUSIl简介ALTERA公司
第 1 章 : 设计流程 设计方法和设计规划 28 QUARTUS II 简介 ALTERA 公司 在自下而上的设计方法中,每个设计模块具有单独的网表。此功能允许您单 独编译每个模块,并对每个模块应用不同的优化技巧。修改单个模块不会影 响其它模块的优化。自下而上的设计还有助于在其它设计中重新使用设计模 块。 自上而下渐进式编译设计流程 自上而下渐进式编译设计流程重新使用以前的编译结果,确保只对修改过的 设计重新编译,因此能够保持设计性能不变,节省编译时间。处理其他设计 分区时,可以只修改设计中关键单元的布局,也可以只对设计的指定部分限 定布局,使 Compiler 能够自动优化设计的其余部分,从而提高了设计时序。 在渐进式编译流程中,可以为设计分区分配一个设计输入实例,然后使用 Timing Closure Floorplan 和 LogicLock 功能为分区分配一个器件物理位置, 进行完整的设计编译。在编译过程中,Compiler 将综合和适配结果保存在工 程数据库中。第一次编译之后,如果对设计做进一步的修改,只有改动过的 分区需要重新编译。设计修改完成后,所有分区合并,进行完整的编译。可 指定是否只需要进行渐进式综合,以节省编译时间,还是进行完整的渐进式 编译,以保持性能不变,并节省大量编译时间。 由于渐进式编译流程能够防止 Compiler 跨分区边界进行优化,因此 Compiler 不会象常规编译那样对面积和时序进行大量优化。为获得最佳的面 积和时序结果,Altera 建议记录设计分区的输入和输出,尽量将设计分区数 量控制在合理范围内, 避免跨分区边界建立过多的关键路径,不要建立太小 的分区,如数量少于 1000 的逻辑单元和 Adaptive Logic Modules (ALM) 分 区。 关于分区分配和渐进式编译流程其他步骤的详细信息,请参阅以下章节: <> 第 3 章,“约束输入”第 57 页 “分配设计分区” 。 <> 第 4 章 “综合”第 78 页 “进行渐进式综合”。 <> 第 5 章 “布局布线”第 83 页 “进行完整的渐进式编译”。 <> 第 6 章“基于模块的设计”第 107 页“在自上而下渐进式编译流程中使 用 LogicLock 区域”。 <> 第 9 章 “时序逼近”第 153 页 “使用渐进式编译达到时序逼近”。 <> 第 12 章 “调试”第 181 页 “渐进式编译使用 SignalTap II Logic Analyzer
第1章:设计流租设计方法和设计规划有买信息清参四使用QuartusIl渐进式编译、渐进式综合Altera网站上QuartusllHandbook第1券以及渐进式编译流程"Quartus ll IncrementalCompilation"QuartusIl Help中的“Overview:UsingIncremental Compilation"和"Overview:Using Incremental Synthesis自下而上基于LogicLock的设计流程在基于模块的自下而上LogicLock设计流程中,可以独立设计和优化每个模块,在项层设计中集成所有已优化的模块,然后验证总体设计。每个模块具有单独的网表,在综合和优化之后可以将宅们整合在项层设计中。在项层设计中,每个模块都不影响其宅模块的性能。一般基于模块的设计流程可以在棋块化、分层、渐进式和团队设计流程中使用。可以对每个节点和各个层次模块进行LogicLock约束,例如,对关键路径进行基于路径的通配符LogicLock分配,有利于实现跨越多个设计模块的关键路径。可以在基于模块的设计流程中使用EDA设计输入和综合工具,设计和综合各个模块,然后将各模块整合到Quartusll软件的顶层设计中,也可以在EDA设计输入和综合工具中完整地进行设计,综合基于模块的设计。关于基于模块设计流程的详细信息,请参考第101页,第6章:基于模块的设计。请参间有头信息Altera网站上Quartus ll Handbook第1巷使用Quartusl渐进式编泽和渐进式综合"Quartus Il Incremental Compilation"Quartus IlHelp中的“Overview:UsingIncrementalCompilation"和"Overview:UsingIncremental Synthesis"29ALTERA公司QUARTUSII简介
第 1 章 : 设计流程 设计方法和设计规划 ALTERA 公司 QUARTUS II 简介 29 自下而上基于 LogicLock 的设计流程 在基于模块的自下而上 LogicLock 设计流程中,可以独立设计和优化每个模 块,在顶层设计中集成所有已优化的模块,然后验证总体设计。每个模块具 有单独的网表,在综合和优化之后可以将它们整合在顶层设计中。在顶层设 计中,每个模块都不影响其它模块的性能。一般基于模块的设计流程可以在 模块化、分层、渐进式和团队设计流程中使用。 可以对每个节点和各个层次模块进行 LogicLock 约束,例如,对关键路径进 行基于路径的通配符 LogicLock 分配,有利于实现跨越多个设计模块的关键 路径。 可以在基于模块的设计流程中使用 EDA 设计输入和综合工具,设计和综合 各个模块,然后将各模块整合到 Quartus II 软件的顶层设计中,也可以在 EDA 设计输入和综合工具中完整地进行设计,综合基于模块的设计。关于基 于模块设计流程的详细信息,请参考第 101 页,第 6 章:基于模块的设计。 f 有关信息 请参阅 使用 Quartus II 渐进式编译、渐进式综合 以及渐进式编译流程 Altera 网站上 Quartus II Handbook 第 1 卷 “Quartus II Incremental Compilation” Quartus II Help 中的 “Overview: Using Incremental Compilation”和 “Overview: Using Incremental Synthesis” f 有关信息 请参阅 使用 Quartus II 渐进式编译和渐进式综合 Altera 网站上 Quartus II Handbook 第 1 卷 “Quartus II Incremental Compilation” Quartus II Help 中的 “Overview: Using Incremental Compilation”和 “Overview: Using Incremental Synthesis
第1章:设计流租设计方法和设计规划30QUARTUSIl简介ALTERA公司
第 1 章 : 设计流程 设计方法和设计规划 30 QUARTUS II 简介 ALTERA 公司