FC2カウンター FPGAの部屋 2005年06月
fc2ブログ

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

FPGAの部屋

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

for generateで生成した分散RAMの初期化方法

Xilinx社のスパルタン3スタータキットで、分散RAMを複数生成して、RAMブロックを作った。
for generateでRAM16X1DのDual Portの分散RAMをインスタンスしたのだが、初期値を入れる段になってはたと困った。
初期値を入れるには、generic map(INIT => x"0000")というように入れるのだが、for generateで作ってあるので、個々の値は入らない。(attribute分でも初期値が入るが、これはシミュレーション用ではなく、論理合成用のようだ。ちなみにattributeの書き方もわからない)
FPGA Information Ltd.'s Home pageのBBSで聴いてみたが、www.fpga-faq.orgで検索してみたら、わかった。
下に例を示す。

component RAM16X1D
generic (
INIT : bit_vector(15 downto 0) := X"0000"
);

port (
DPO : out std_ulogic;
SPO : out std_ulogic;

A0 : in std_ulogic;
A1 : in std_ulogic;
A2 : in std_ulogic;
A3 : in std_ulogic;
D : in std_ulogic;
DPRA0 : in std_ulogic;
DPRA1 : in std_ulogic;
DPRA2 : in std_ulogic;
DPRA3 : in std_ulogic;
WCLK : in std_ulogic;
WE : in std_ulogic
);
end component;
--attribute INIT : bit_vector;
type ram_init_values_array is array (1 downto 0) of bit_vector(15 downto 0);
constant ram_init_values : ram_init_values_array := (x"5555", x"AAAA");
begin
  gen_distram : for i in 1 downto 0 generate
--     attribute INIT of U: label is ram_init_values(i);
  begin
    U : RAM16X1D
  generic map(
    INIT => ram_init_values(i))
  port map(
    dpo => dpo(i),
    spo => spo(i),
    a0 => a(0),
    a1 => a(1),
    a2 => a(2),
    a3 => a(3),
    d => d(i),
    dpra0 => dpra(0),
    dpra1 => dpra(1),
    dpra2 => dpra(2),
    dpra3 => dpra(3),
    wclk => clk,
    we => we
  );
end generate gen_distram;
  1. 2005年06月21日 18:56 |
  2. VHDLの書き方
  3. | トラックバック:0
  4. | コメント:0

SPARCプロセッサのソース

SPARCプロセッサのソースコードがGNU GPLライセンスで公開されたそうだ。
http://pc.watch.impress.co.jp/docs/2005/0530/spf06.htmに書いてあったのだがLEON3というSPARC V8プロセッサ互換のIPがダウンロードできるそうだ。
http://www.gaisler.com/のDownloadのページからgrlib- eval -1.0.tar.gzを展開して、見てみたがマニュアルを読まなくては、よくわからないため取りあえず断念。
leon2-1.0.28-xst.tar.gzをダウンロードしてみたらXilinxのISEのプロジェクトがあったのでやってみたが、プロジェクトに入っているソースが足らないためエラーになってしまった。
どうやら、WindowsだとCygwinをいれて、xconfigしないとだめなようだ。暇になったらやってみようと思う。
  1. 2005年06月02日 09:49 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0