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

Subversion Repositories axi4_tlm_bfm

[/] [axi4_tlm_bfm/] [trunk/] [rtl/] [packages/] [pkg-tlm.vhdl] - Diff between revs 10 and 12

Show entire file | Details | Blame | View Log

Rev 10 Rev 12
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:inout 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 because Quartus doesn't yet allow reading of "out" within a procedure. VHDL-2008 allows this, and QuestaSim works fine.
                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:inout 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 because Quartus doesn't yet allow reading of "out" within a procedure. VHDL-2008 allows this, and QuestaSim works fine.
                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:inout 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 because Quartus doesn't yet allow reading of "out" within a procedure. VHDL-2008 allows this, and QuestaSim works fine.
                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:inout 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 because Quartus doesn't yet allow reading of "out" within a procedure. VHDL-2008 allows this, and QuestaSim works fine.
                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.