OpenCores
URL https://opencores.org/ocsvn/wb_fifo/wb_fifo/trunk

Subversion Repositories wb_fifo

[/] [wb_fifo/] [trunk/] [model/] [vhdl/] [packages/] [pkg-tlm.vhdl] - Diff between revs 2 and 7

Show entire file | Details | Blame | View Log

Rev 2 Rev 7
Line 57... Line 57...
                message:t_msg;
                message:t_msg;
                trigger:boolean;
                trigger:boolean;
        end record t_bfm;
        end record t_bfm;
 
 
        procedure write(
        procedure write(
                signal request:out t_bfm;               --FIXME use inout because Quartus doesn't yet allow reading of "out" within a procedure. VHDL-2008 allows this, and QuestaSim works fine.
                signal request:out t_bfm;               --FIXME use inout if tool doesn't support reading from out ports.
                address:in t_addr;                              -- used only for non-stream interfaces.
                address:in t_addr;                              -- used only for non-stream interfaces.
                data:in t_msg
                data:in t_msg
        );
        );
 
 
        procedure read(
        procedure read(
                signal request:out t_bfm;               --FIXME use inout because Quartus doesn't yet allow reading of "out" within a procedure. VHDL-2008 allows this, and QuestaSim works fine.
                signal request:out t_bfm;               --FIXME use inout if tool doesn't support reading from out ports.
                address:in t_addr                               -- used only for non-stream interfaces.
                address:in t_addr                               -- used only for non-stream interfaces.
        );
        );
end package tlm;
end package tlm;
 
 
package body tlm is
package body tlm is
        procedure write(
        procedure write(
                signal request:out t_bfm;               --FIXME use inout because Quartus doesn't yet allow reading of "out" within a procedure. VHDL-2008 allows this, and QuestaSim works fine.
                signal request:out t_bfm;               --FIXME use inout if tool doesn't support reading from out ports.
                address:in t_addr;                              -- used only for non-stream interfaces.
                address:in t_addr;                              -- used only for non-stream interfaces.
                data:in t_msg
                data:in t_msg
        ) is begin
        ) is begin
                request.address<=address;
                request.address<=address;
                request.message<=data;
                request.message<=data;
                request.trigger<=not request.trigger;
                request.trigger<=not request.trigger;
        end procedure write;
        end procedure write;
 
 
        procedure read(
        procedure read(
                signal request:out t_bfm;               --FIXME use inout because Quartus doesn't yet allow reading of "out" within a procedure. VHDL-2008 allows this, and QuestaSim works fine.
                signal request:out t_bfm;               --FIXME use inout if tool doesn't support reading from out ports.
                address:in t_addr                               -- used only for non-stream interfaces.
                address:in t_addr                               -- used only for non-stream interfaces.
        ) is begin
        ) is begin
                request.address<=address;
                request.address<=address;
                request.trigger<=not request.trigger;
                request.trigger<=not request.trigger;
                --report "request.address: " & to_hstring(request.address);
                --report "request.address: " & to_hstring(request.address);

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.