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

Subversion Repositories wrimm

[/] [wrimm/] [trunk/] [Example/] [WrimmExample_Top.vhd] - Blame information for rev 8

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 8 barryw
--Propery of Tecphos Inc.  See License.txt for license details
2
--Latest version of all project files available at http://opencores.org/project,wrimm
3
--See WrimmManual.pdf for the Wishbone Datasheet and implementation details.
4
--See wrimm subversion project for version history
5 6 barryw
 
6
library ieee;
7
  use ieee.std_logic_1164.all;
8
  use ieee.numeric_std.all;
9
 
10
  use work.WrimmPackage.all;
11
 
12
entity Wrimm_Top is
13
  port (
14
    WishboneClock       : in  std_logic;
15
    WishboneReset       : out std_logic;
16
 
17
    MasterPStrobe       : in  std_logic;
18
    MasterPWrEn         : in  std_logic;
19
    MasterPCyc          : in  std_logic;
20
    MasterPAddr         : in  WbAddrType;
21
    MasterPDataToSlave  : in  WbDataType;
22
    MasterPAck          : out std_logic;
23
    MasterPErr          : out std_logic;
24
    MasterPRty          : out std_logic;
25
    MasterPDataFrSlave  : out WbDataType;
26
 
27
    MasterQStrobe       : in  std_logic;
28
    MasterQWrEn         : in  std_logic;
29
    MasterQCyc          : in  std_logic;
30
    MasterQAddr         : in  WbAddrType;
31
    MasterQDataToSlave  : in  WbDataType;
32
    MasterQAck          : out std_logic;
33
    MasterQErr          : out std_logic;
34
    MasterQRty          : out std_logic;
35
    MasterQDataFrSlave  : out WbDataType;
36
 
37
    StatusRegA          : in  std_logic_vector(0 to 7);
38
    StatusRegB          : in  std_logic_vector(0 to 7);
39
    StatusRegC          : in  std_logic_vector(0 to 7);
40
 
41
    SettingRegX         : out std_logic_vector(0 to 7);
42
    SettingRstX         : in  std_logic;
43
    SettingRegY         : out std_logic_vector(0 to 7);
44
    SettingRstY         : in  std_logic;
45
    SettingRegZ         : out std_logic_vector(0 to 7);
46
    SettingRstZ         : in  std_logic;
47
 
48
    TriggerRegR         : out std_logic;
49
    TriggerClrR         : in  std_logic;
50
    TriggerRegS         : out std_logic;
51
    TriggerClrS         : in  std_logic;
52
    TriggerRegT         : out std_logic;
53
    TriggerClrT         : in  std_logic;
54
 
55
    rstZ                : in  std_logic);  --Global asyncronous reset for initialization
56
end entity Wrimm_Top;
57
 
58
architecture structure of Wrimm_Top is
59
 
60
  component Wrimm is
61
    port (
62
      WbClk             : in  std_logic;
63
      WbRst             : out std_logic;
64
      WbMasterIn        : in  WbMasterOutArray; --Signals from Masters
65
      WbMasterOut       : out WbSlaveOutArray;  --Signals to Masters
66
    --  WbSlaveIn         : out WbMasterOutArray;
67
    --  WbSlaveOut        : in  WbSlaveOutArray;
68
      StatusRegs        : in  StatusArrayType;
69
      SettingRegs       : out SettingArrayType;
70
      SettingRsts       : in  SettingArrayBitType;
71
      Triggers          : out TriggerArrayType;
72
      TriggerClr        : in  TriggerArrayType;
73
      rstZ              : in  std_logic);                         --Asynchronous reset
74
  end component Wrimm;
75
 
76
  signal masterQOut           : WbSlaveOutType;
77
  signal masterQIn            : WbMasterOutType;
78
 
79
begin
80
    MasterQAck          <= masterQOut.ack;
81
    MasterQErr          <= masterQOut.err;
82
    MasterQRty          <= masterQOut.rty;
83
    MasterQDataFrSlave  <= masterQOut.data;
84
 
85
    masterQIn.strobe    <= MasterQStrobe;
86
    masterQIn.wren      <= MasterQWrEn;
87
    masterQIn.cyc       <= MasterQCyc;
88
    masterQIn.addr      <= MasterQAddr;
89
    masterQIn.data      <= MasterQDataToSlave;
90
 
91
  instWrimm: Wrimm
92
    --generic map(
93
    --  MasterParams      => ,
94
    --  SlaveParams       => ,
95
    --  StatusParams      => StatusParams,
96
    --  SettingParams     => SettingParams,
97
    --  TriggerParams     => TriggerParams)
98
    port map(
99
      WbClk                 => WishboneClock,
100
      WbRst                 => WishboneReset,
101
      WbMasterIn(P).strobe  => MasterPStrobe,
102
      WbMasterIn(P).wren    => MasterPWrEn,
103
      WbMasterIn(P).cyc     => MasterPCyc,
104
      WbMasterIn(P).addr    => MasterPAddr,
105
      WbMasterIn(P).data    => MasterPDataToSlave,
106
      WbMasterIn(Q)         => masterQIn,
107
      WbMasterOut(P).ack    => MasterPAck,
108
      WbMasterOut(P).err    => MasterPErr,
109
      WbMasterOut(P).rty    => MasterPRty,
110
      WbMasterOut(P).data   => MasterPDataFrSlave,
111
      WbMasterOut(Q)        => masterQOut,
112
      --WbSlaveIn         => ,
113
      --WbSlaveOut        => ,
114
      StatusRegs(StatusA)   => StatusRegA,
115
      StatusRegs(StatusB)   => StatusRegB,
116
      StatusRegs(StatusC)   => StatusRegC,
117
      SettingRegs(SettingX) => SettingRegX,
118
      SettingRegs(SettingY) => SettingRegY,
119
      SettingRegs(SettingZ) => SettingRegZ,
120
      SettingRsts(SettingX) => SettingRstX,
121
      SettingRsts(SettingY) => SettingRstY,
122
      SettingRsts(SettingZ) => SettingRstZ,
123
      Triggers(TriggerR)    => TriggerRegR,
124
      Triggers(TriggerS)    => TriggerRegS,
125
      Triggers(TriggerT)    => TriggerRegT,
126
      TriggerClr(TriggerR)  => TriggerClrR,
127
      TriggerClr(TriggerS)  => TriggerClrS,
128
      TriggerClr(TriggerT)  => TriggerClrT,
129
      rstZ                  => rstZ);             --Asynchronous reset
130
 
131
end architecture structure;

powered by: WebSVN 2.1.0

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