Fri, 13 Aug 2010 10:41:29 +0100
Initial commit, GPIO v3.1
1 <?xml version="1.0" encoding="UTF-8"?>
2 <Component Name="gpio" Text="GPIO" Type="IO" Ver="3.1" Help="gpio\document\gpio.htm">
3 <MasterSlavePorts>
4 <SlavePort Prefix="GPIO" Name="GP I/O Port" Type="DATA,DMAR,DMAW"/>
5 </MasterSlavePorts>
6 <ClockPort Name="CLK_I" Description="Clock one"/>
7 <ResetPort Name="RST_I" Description="Reset"/>
8 <Interrupt Name="IRQ_O" Active="high" IRQ=""/>
9 <ExternalPorts>
10 <ExternalPort Name="PIO_IN" Type="input" Width="DATA_WIDTH" Condition="INPUT_PORTS_ONLY" />
11 <ExternalPort Name="PIO_BOTH_IN" Type="input" Width="INPUT_WIDTH" Condition="BOTH_INPUT_AND_OUTPUT" />
12 <ExternalPort Name="PIO_OUT" Type="output" Width="DATA_WIDTH" Condition="OUTPUT_PORTS_ONLY" />
13 <ExternalPort Name="PIO_BOTH_OUT" Type="output" Width="OUTPUT_WIDTH" Condition="BOTH_INPUT_AND_OUTPUT" />
14 <ExternalPort Name="PIO_IO" Type="inout" Width="DATA_WIDTH" Condition="TRISTATE_PORTS" />
15 </ExternalPorts>
16 <DeviceDriver InitRoutine="MicoGPIOInit" StructName="MicoGPIOCtx_t">
17 <DDInclude Include = "LookupServices.h"/>
18 <DDstruct>
19 <DDSElem MemberName = "name" MemberType = "const char*" Type = "Parm" Value = "InstanceName" Format="string"/>
20 <DDSElem MemberName = "base" MemberType = "unsigned int" Type = "Parm" Value = "BASE_ADDRESS" />
21 <DDSElem MemberName = "lookupReg" MemberType = "DeviceReg_t" Type="uninitialized" Value=""/>
22 <DDSElem MemberName = "intrLevel" MemberType = "unsigned int" Type = "Interrupt" Value = "IRQ_LEVEL" />
23 <DDSElem MemberName = "output_only" MemberType = "unsigned int" Type = "Parm" Value = "OUTPUT_PORTS_ONLY" />
24 <DDSElem MemberName = "input_only" MemberType = "unsigned int" Type = "Parm" Value = "INPUT_PORTS_ONLY" />
25 <DDSElem MemberName = "in_and_out" MemberType = "unsigned int" Type = "Parm" Value = "BOTH_INPUT_AND_OUTPUT" />
26 <DDSElem MemberName = "tristate" MemberType = "unsigned int" Type = "Parm" Value = "TRISTATE_PORTS" />
27 <DDSElem MemberName = "data_width" MemberType = "unsigned int" Type = "Parm" Value = "DATA_WIDTH" />
28 <DDSElem MemberName = "input_width" MemberType = "unsigned int" Type = "Parm" Value = "INPUT_WIDTH" />
29 <DDSElem MemberName = "output_width" MemberType = "unsigned int" Type = "Parm" Value = "OUTPUT_WIDTH" />
30 <DDSElem MemberName = "intr_enable" MemberType = "unsigned int" Type = "Parm" Value = "IRQ_MODE" />
31 <DDSElem MemberName = "prev" MemberType = "void *" Type = "uninitialized" Value = "" />
32 <DDSElem MemberName = "next" MemberType = "void *" Type = "uninitialized" Value = "" />
33 </DDstruct>
34 </DeviceDriver>
35 <Files>
36 <File Name="../components/gpio/rtl/verilog/gpio.v" />
37 <File Name="../components/gpio/rtl/verilog/tpio.v" />
38 </Files>
39 <Parms>
40 <Parm Name="InstanceName" Value="gpio" Type="string" isiname="true" Text="Instance Name"/>
41 <Parm Name="BASE_ADDRESS" Value="0x80000000" Type="Integer" isba="true" Text="Base Address"/>
42 <Parm Name="SIZE" Value="128" Type="Integer" issize="true" Text="Size" Enable="false"/>
43 <Parm Name="ADDRESS_LOCK" Type="Define" Value="undef" Text="Lock Address"/>
44 <Parm Name="DISABLE" Type="Define" Value="undef" isuse="true" Text="Disable Component"/>
45 <Parm Name="OUTPUT_PORTS_ONLY" Type="define" Value="def" GROUP="XFER_MODE" Text="Output Ports Only" isparm="true" />
46 <Parm Name="INPUT_PORTS_ONLY" Type="define" Value="undef" GROUP="XFER_MODE" Text="Input Ports Only" isparm="true"/>
47 <Parm Name="TRISTATE_PORTS" Type="define" Value="undef" GROUP="XFER_MODE" Text="Tristate Ports" isparm="true"/>
48 <Parm Name="BOTH_INPUT_AND_OUTPUT" Type="define" Value="undef" GROUP="XFER_MODE" Text="Both Input and Output" isparm="true"/>
49 <Parm Name="DATA_WIDTH" Type="Integer" ValueRange="1-32" Value="1" NotCondition="BOTH_INPUT_AND_OUTPUT" Text="Data Width" isparm="true"/>
50 <Parm Name="INPUT_WIDTH" Type="Integer" ValueRange="1-32" Value="1" Condition="BOTH_INPUT_AND_OUTPUT" Text="Input Width" isparm="true"/>
51 <Parm Name="OUTPUT_WIDTH" Type="Integer" ValueRange="1-32" Value="1" Condition="BOTH_INPUT_AND_OUTPUT" Text="Output Width" isparm="true"/>
52 <Parm Name="IRQ_MODE" Type="define" Value="undef" Text="IRQ Mode" isparm="true"/>
53 <Parm Name="LEVEL" Type="define" Value="undef" GROUP="IMODE" Condition="IRQ_MODE" Text="Level" isparm="true"/>
54 <Parm Name="EDGE" Type="define" Value="def" GROUP="IMODE" Condition="IRQ_MODE" Text="Edge" isparm="true"/>
55 <Parm Name="EITHER_EDGE_IRQ" Type="define" Value="undef" Group="EMODE" Condition="EDGE" Text="Either Edge" isparm="true"/>
56 <Parm Name="POSE_EDGE_IRQ" Type="define" Value="def" Group="EMODE" Condition="EDGE" Text="Postive Edge" isparm="true"/>
57 <Parm Name="NEGE_EDGE_IRQ" Type="define" Value="undef" Group="EMODE" Condition="EDGE" Text="Negative Edge" isparm="true"/>
58 </Parms>
59 <GUIS Columns="2" Help="component_help\lm32.htm" Name="GPIO">
60 <GUI Widget="Text" Span="1" Name="InstanceName" Width="40"/>
61 <GUI Widget="Text" Span="1" Name="BASE_ADDRESS"/>
62 <GUI Widget="Group" Span="1" Name="XFER_MODE" Text="Port Types" Columns="1"/>
63 <GUI Widget="Radio" Span="1" Name="OUTPUT_PORTS_ONLY"/>
64 <GUI Widget="Radio" Span="1" Name="INPUT_PORTS_ONLY"/>
65 <GUI Widget="Radio" Span="1" Name="TRISTATE_PORTS"/>
66 <GUI Widget="Radio" Span="1" Name="BOTH_INPUT_AND_OUTPUT"/>
68 <GUI Widget="Group" Span="1" Text="Port Width" Columns="2"/>
69 <GUI Widget="Spinner" Span="1" Name="DATA_WIDTH"/>
70 <GUI Widget="Spinner" Span="1" Name="INPUT_WIDTH"/>
71 <GUI Widget="Spinner" Span="1" Name="OUTPUT_WIDTH"/>
73 <GUI Widget="Group" Span="1" Name="IRQ_MODE" Text="IRQ Mode" Columns="1"/>
74 <GUI Widget="Check" Span="1" Name="IRQ_MODE"/>
75 <GUI Widget="Radio" Span="1" Name="LEVEL"/>
76 <GUI Widget="Radio" Span="1" Name="EDGE"/>
78 <GUI Widget="Group" Span="1" Text="Edge Response" Columns="1"/>
79 <GUI Widget="Radio" Span="1" Name="EITHER_EDGE_IRQ"/>
80 <GUI Widget="Radio" Span="1" Name="POSE_EDGE_IRQ"/>
81 <GUI Widget="Radio" Span="1" Name="NEGE_EDGE_IRQ"/>
82 </GUIS>
83 </Component>