新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 3系列FPGA中使用LUT構(gòu)建分布式RAM(4)

        3系列FPGA中使用LUT構(gòu)建分布式RAM(4)

        作者: 時間:2017-10-13 來源:網(wǎng)絡(luò) 收藏

        前面講了分布式的方方面面,下面以_16S為例,分別給出其在VHDL和Verilog HDL下面的模板代碼(在ISE Project Navigator中選擇 Edit--- Language Templates,然后選擇VHDL 或者Verilog, 最后是Synthesis Templates --- ,在中也有具體調(diào)用過程的描述)。CORE Generator可以產(chǎn)生類似的代碼以供行為仿真使用,它們可以在ISE Project Navigator中雙擊.coe文件看到。

        本文引用地址:http://www.104case.com/article/201710/365632.htm

        VHDL Template Example
        --
        -- Module: RAM_16S
        --
        -- DescripTIon: VHDL instanTIaTIon template
        -- Distributed RAM
        -- Single Port 16 x 1
        -- Can also be used for RAM16X1S_1
        --
        -- Device: Spartan-3 Family
        --
        ---------------------------------------------------------------------
        --
        -- Components DeclaraTIons:
        --
        component RAM16X1S
        -- pragma translate_off
        generic (
        -- RAM initialization (“0” by default) for functional simulation:
        INIT : bit_vector := X0000
        );
        -- pragma translate_on
        port (
        D : in std_logic;
        WE : in std_logic;
        WCLK : in std_logic;
        A0 : in std_logic;
        A1 : in std_logic;
        A2 : in std_logic;
        A3 : in std_logic;
        O : out std_logic
        );
        end component;
        --
        ---------------------------------------------------------------------
        --
        -- Architecture section:
        --
        -- Attributes for RAM initialization (0 by default):
        attribute INIT: string;
        --
        attribute INIT of U_RAM16X1S: label is 0000;
        --
        -- Distributed RAM Instantiation
        U_RAM16X1S: RAM16X1S
        port map (
        D => , -- insert Data input signal
        WE => , -- insert Write Enable signal
        WCLK => , -- insert Write Clock signal
        A0 => , -- insert Address 0 signal
        A1 => , -- insert Address 1 signal
        A2 => , -- insert Address 2 signal
        A3 => , -- insert Address 3 signal
        O => -- insert Data output signal
        );
        --
        ---------------------------------------------------------------------
        R
        Verilog Template Example
        //
        // Module: RAM_16S
        //
        // Description: Verilog instantiation template
        // Distributed RAM
        // Single Port 16 x 1
        // Can also be used for RAM16X1S_1
        //
        // Device: Spartan-3 Family
        //
        //-------------------------------------------------------------------
        //
        // Syntax for Synopsys Express
        // synopsys translate_off
        defparam
        //RAM initialization (“0” by default) for functional simulation:
        U_RAM16X1S.INIT = 16h0000;
        // synopsys translate_on
        //Distributed RAM Instantiation
        RAM16X1S U_RAM16X1S (
        .D(), // insert input signal
        .WE(), // insert Write Enable signal
        .WCLK(), // insert Write Clock signal
        .A0(), // insert Address 0 signal
        .A1(), // insert Address 1 signal
        .A2(), // insert Address 2 signal
        .A3(), // insert Address 3 signal
        .O() // insert output signal
        );
        // synthesis attribute declarations
        /* synopsys attribute
        INIT 0000
        */

        CORE Generator產(chǎn)生分布式RAM、同步FIFO和異步FIFO的說明文檔可以分別在如下網(wǎng)址找到。
        ? CORE Generator: 分布式RAM模塊

        ? CORE Generator: 同步FIFO模塊

        ? CORE Generator: 異步FIFO模塊



        關(guān)鍵詞: FPGA LUT RAM

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 林周县| 蓝田县| 兴业县| 宁波市| 都安| 永平县| 阳山县| 玛纳斯县| 松阳县| 东宁县| 龙南县| 龙陵县| 桑日县| 会泽县| 古田县| 天等县| 洪江市| 湘乡市| 泰兴市| 乌拉特后旗| 浠水县| 呼玛县| 都安| 卢氏县| 分宜县| 怀安县| 高碑店市| 蒙自县| 宝山区| 青铜峡市| 岳普湖县| 横山县| 双鸭山市| 三台县| 麻阳| 开化县| 资阳市| 专栏| 嘉兴市| 敖汉旗| 论坛|