UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 2146

8.1i CPLD XC9500/XL/XV CPLDFit - マクロセル/信号を低電力モードに設定する方法

説明

キーワード : 7.1i, 6.3i, 6.2i, 6.1i, 5.2i, 5.1i, 4.1i, 3.1i, 2.1i, 1.5i, XC9500, 9500, 9500XL, 9500XV, macrocell, low power, lowpwr, pwr_mode, マクロセル, 低電力

ISE Foundation /WebPACK で、フィッタ プロパティのグローバル オプションを使用してすべてのマクロセルに対しデフォルトの電力モードを設定できます。 オプションには、 標準、低電力、タイミング ドリブンの 3 つがあります。

- [Standard」は、すべてのマクロセルを高速モードに設定します。
- "Low" specifies that all macrocells are in low-power mode.
- [Timing-Driven] は、タイミング制約が満たされているかぎり、すべてのマクロセルを低電力モードに設定します。

Design Manager (M1.x/2.1i/3.xi) では、このオプションは [Design] -> [Implement] -> [Edit Template] にあります。

しかし、デザイン入力方法によっては、LOWPWR (XACT-CPLD の場合) または PWR_MODE (M1.x およびそれ以降のバージョン) 属性を使って、特定のマクロセル/信号を低電力モードにする方法があります。

次の内容がこのアンサー レコードには記載されています。
ソリューション 1: Schematic および UCF
ソリューション 2: ABEL
ソリューション 3: XST VHDL
ソリューション 4: XST Verilog

PWR_MODE の詳細は、『ライブラリ ガイド』を参照してください。

ソリューション

1

UCF で低電力モードにするには
net mynet PWR_MODE = LOW;
または
inst myinstance PWR_MODE = LOW;

グローバル デフォルトを低電力に変更し、特定のマクロセルを高速に指定したい場合は、"LOW" を "STD" に置き換えます。

回路図
1. 属性を配置したいインスタンスをダブルクリックします。
[New] をクリックします。
3. [Attribute Name] に "pwr_mode" と入力します。
4. 低電力の場合は "low"、高速の場合は "std" と入力します。
4. [OK] をクリックします。

2

ABEL

ABEL には次のプロパティ ステートメントが含まれます。

xilinx property 'pwr_mode low signal_1 signal_2';

このステートメントで、signal_1 および signal_2 が低電力モードに設定されます。 デザインのその他の信号はデフォルトの電力モードのままになります。グローバル オプションが変更されていない場合は "Standard" です。


次の XABEL 例は XEPLD プロパティの PWR_MODE ステートメントの使用方法を説明しています。

module PWRTEST
Title 'pwrtest'

" D F/F with asynchronous Reset

Declarations:

DIN PIN;
CLK PIN;
RESET PIN;
DOUT PIN istype 'reg';

xilinx property 'pwr_mode low dout';

Equations:

DOUT.CLK = CLK;
DOUT.ACLR = RESET;
DOUT := DIN;

end PWRTEST

3

XST VHDL

次の宣言文を一度記述します。
attribute PWR_MODE : string;

次に低電力モードにしたい各信号に対し、一度ずつ次の宣言文を記述します。
attribute PWR_MODE of signal_name : signal is "low";

コード例

library IEEE;
use IEEE.std_logic_1164.all;

entity simple is
port (
din : in std_logic;
clk : in std_logic;
reg_out : buffer std_logic );
end simple;

architecture simple_arch of simple is
attribute PWR_MODE : string;
attribute PWR_MODE of reg_out : signal is "low";
begin

process (din, clk)
begin
if (clk'event and clk= '1') then
reg_out <= din;
end if;
end process;

end simple_arch;

4

XST Verilog

低電力モードに設定したい各式に対し次の宣言文を記述します。(コメント区切り文字も含めます)
//synthesis attribute PWR_MODE of reg_out is "low";

コード例

module ver_simple(din,clk,reg_out);
input din;
input clk;
output reg_out;

reg reg_out;

//synthesis attribute PWR_MODE of reg_out is "low";

always @(posedge clk)
begin
reg_out <= din;
end
endmodule
AR# 2146
作成日 04/30/1997
最終更新日 11/12/2006
ステータス アクティブ
タイプ 一般