FC2カウンター FPGAの部屋 QuartusⅡでSignalTapⅡを試してみるまでの準備6(入力、出力ピンの制約とタイミング制約2)
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

QuartusⅡでSignalTapⅡを試してみるまでの準備6(入力、出力ピンの制約とタイミング制約2)

QuartusⅡでSignalTapⅡを試してみるまでの準備5(入力、出力ピンの制約とタイミング制約)”でTimeQuest をいじってみたが、もう少しいじってみた。

まずは、前回の続き。前回は、LocateダイアログでChip Plannerを選択したが、今度はTechnology Map Viewer を選択してみた。そうしたら、QuartusⅡ本体にTechnology Map Viewer が立ち上がり、HDLの階層構造が見え、実際のインスタンス同士の配線が見えた。
Quartus2_signaltap2_20_090716.png

さて、TimeQuest でタイミング制約を付加する方法はどうやるかなのだが、多分、Constraintsメニューから制約するんだと思う?Set Output Delay... を選択してみる。
Quartus2_signaltap2_21_090716.png

Set Output Delay ダイアログが開く。Clock name にPLLで生成された25MHzクロックを選択して、Delay value は適当に6ns くらいにする。Targets にVGAの信号を全部選択して、Run ボタンをクリックした。
Quartus2_signaltap2_22_090716.png

そうしたら、TimeQuest の背景や文字が黄色になっちゃいました。
Quartus2_signaltap2_23_090716.png

これどうするんだろう。そうかもう一度、QuartusⅡでコンパイルする必要があるな?その前にTimeQuestのConstraintsメニューからWrite SDC... をしないと、SDCファイルに制約が書き込まれていないようだ。(TimeQuest を終了するときにセーブするためのダイアログが出ました)
SDCファイルは下のように変更された。

## Generated SDC file "CharDispCtrlerTest.sdc"

## Copyright (C) 1991-2009 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.


## VENDOR  "Altera"
## PROGRAM "Quartus II"
## VERSION "Version 9.0 Build 184 04/29/2009 Service Pack 1 SJ Web Edition"

## DATE    "Fri Jul 17 05:09:50 2009"

##
## DEVICE  "EP2C5Q208C8"
##


#**************************************************************
# Time Information
#**************************************************************

set_time_format -unit ns -decimal_places 3



#**************************************************************
# Create Clock
#**************************************************************

create_clock -name {clk} -period 20.000 -waveform { 0.000 10.000 } [get_ports {clk}]


#**************************************************************
# Create Generated Clock
#**************************************************************

derive_pll_clocks -use_tan_name


#**************************************************************
# Set Clock Latency
#**************************************************************



#**************************************************************
# Set Clock Uncertainty
#**************************************************************



#**************************************************************
# Set Input Delay
#**************************************************************



#**************************************************************
# Set Output Delay
#**************************************************************

set_output_delay -add_delay  -clock [get_clocks {pll_module:pll_module_inst|altpll:altpll_component|_clk0}]  6.000 [get_ports {VGA_BLUE}]
set_output_delay -add_delay  -clock [get_clocks {pll_module:pll_module_inst|altpll:altpll_component|_clk0}]  6.000 [get_ports {VGA_GREEN}]
set_output_delay -add_delay  -clock [get_clocks {pll_module:pll_module_inst|altpll:altpll_component|_clk0}]  6.000 [get_ports {VGA_HSYNC}]
set_output_delay -add_delay  -clock [get_clocks {pll_module:pll_module_inst|altpll:altpll_component|_clk0}]  6.000 [get_ports {VGA_RED}]
set_output_delay -add_delay  -clock [get_clocks {pll_module:pll_module_inst|altpll:altpll_component|_clk0}]  6.000 [get_ports {VGA_VSYNC}]


#**************************************************************
# Set Clock Groups
#**************************************************************



#**************************************************************
# Set False Path
#**************************************************************



#**************************************************************
# Set Multicycle Path
#**************************************************************



#**************************************************************
# Set Maximum Delay
#**************************************************************



#**************************************************************
# Set Minimum Delay
#**************************************************************



#**************************************************************
# Set Input Transition
#**************************************************************



QuartusⅡでコンパイルしたら、Fitterでエラーになってしまった。どうやら、このclkピンではPLLはつなげないと言っているような???どうして?
Quartus2_signaltap2_24_090716.png

Pin Planner で見てみると、clkの番号が違っていた。PIN_23に接続のところがPIN_32になってしまった。失敗。早速修正。
Quartus2_signaltap2_25_090716.png

これでもう一度コンパイル。今度は成功。Timing Analyzer からみたtco も6nsの制約をみたした。
Quartus2_signaltap2_26_090716.png

(2009/09/03 追記)
この状態ではTimeQuestのタイミング制約が使われていませんでした。SettingsダイアログでTimeQuestを使うように変更しないとだめでした。詳しくは、”SOPC Builderを使ってみる3(IOピンやタイミング制約を加えてテスト)”をご覧ください。
  1. 2009年07月17日 05:35 |
  2. QuartusⅡ
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/1176-176bb8f5
この記事にトラックバックする(FC2ブログユーザー)