1.1 --- a/dma.xml Fri Aug 13 10:43:05 2010 +0100 1.2 +++ b/dma.xml Sat Aug 06 01:48:48 2011 +0100 1.3 @@ -1,9 +1,9 @@ 1.4 <?xml version="1.0" encoding="UTF-8"?> 1.5 -<Component Name="wb_dma_ctrl" Text="DMA" Type="IO" Ver="3.1" Help="wb_dma_ctrl\document\dma.htm"> 1.6 +<Component Name="wb_dma_ctrl" Text="DMA" Type="IO" Ver="3.3" Help="wb_dma_ctrl\document\dma.htm" Processor="LM32,LM8" LatticeFamily="All" Device="All"> 1.7 <MasterSlavePorts> 1.8 - <MasterPort Prefix="MA" Name="Read Master Port" Type="DMAR" Priority="2" /> 1.9 - <MasterPort Prefix="MB" Name="Write Master Port" Type="DMAW" Priority="3"/> 1.10 - <SlavePort Prefix="S" Name="Control Port" Type="DATA"/> 1.11 + <MasterPort Prefix="MA" Port="MA" Name="Read Master Port" Type="DMAR" Priority="2"/> 1.12 + <MasterPort Prefix="MB" Port="MB" Name="Write Master Port" Type="DMAW" Priority="3"/> 1.13 + <SlavePort Prefix="S" Port="S" Name="Control Port" Type="DATA"/> 1.14 </MasterSlavePorts> 1.15 <ClockPort Name="CLK_I " Description="Clock one"/> 1.16 <ResetPort Name="RST_I " Description="Reset"/> 1.17 @@ -14,18 +14,24 @@ 1.18 <File Name="../components/wb_dma_ctrl/rtl/verilog/wb_dma_ctrl.v" /> 1.19 </Files> 1.20 <DeviceDriver InitRoutine="MicoDMAInit" StructName="MicoDMACtx_t"> 1.21 - <DDInclude Include="LookupServices.h"/> 1.22 + <DDInclude Include="LookupServices.h" Processor="LM32"/> 1.23 + <DDInclude Include="stddef.h" Processor="LM8"/> 1.24 + <DDIRQ IRQAPI="MicoDMAISR" Parameter="InstanceName" Include="MicoDMA.h" Processor="LM8"/> 1.25 + <DDPreProcessor Name="__MICODMA_USER_IRQ_HANDLER__" Processor="LM8"/> 1.26 <DDstruct> 1.27 - <DDSElem MemberName = "name" MemberType = "const char*" Type = "Parm" Value = "InstanceName" Format="string"/> 1.28 - <DDSElem MemberName = "base" MemberType = "unsigned int" Type = "Parm" Value = "BASE_ADDRESS" /> 1.29 - <DDSElem MemberName = "lookupReg" MemberType = "DeviceReg_t" Type = "uninitialized" Value=""/> 1.30 - <DDSElem MemberName = "irq" MemberType = "unsigned int" Type = "Interrupt" Value = "IRQ_LEVEL" /> 1.31 - <DDSElem MemberName = "maxLength" MemberType = "unsigned int" Type = "Parm" Value = "LENGTH_WIDTH" /> 1.32 - <DDSElem MemberName = "flags" MemberType = "unsigned int" Type = "uninitialized" Value = "" /> 1.33 - <DDSElem MemberName = "pCurr" MemberType = "void *" Type = "uninitialized" Value = "" /> 1.34 - <DDSElem MemberName = "pHead" MemberType = "void *" Type = "uninitialized" Value = "" /> 1.35 - <DDSElem MemberName = "prev" MemberType = "void *" Type = "uninitialized" Value = "" /> 1.36 - <DDSElem MemberName = "next" MemberType = "void *" Type = "uninitialized" Value = "" /> 1.37 + <DDSElem MemberName="name" MemberType="const char*" Type = "Parm" Value="InstanceName" Format="string" Processor="LM32,LM8"/> 1.38 + <DDSElem MemberName="base" MemberType="unsigned int" Type="Parm" Value="BASE_ADDRESS" Port="S" Processor="LM32"/> 1.39 + <DDSElem MemberName="base" MemberType="size_t" Type="Parm" Value="BASE_ADDRESS" Port="S" Processor="LM8"/> 1.40 + <DDSElem MemberName="wb" MemberType="unsigned char" Type="Parm" Value="WB_DAT_WIDTH" Port="S"/> 1.41 + <DDSElem MemberName="lookupReg" MemberType="DeviceReg_t" Type="uninitialized" Value="" Processor="LM32"/> 1.42 + <DDSElem MemberName="irq" MemberType="unsigned int" Type="Interrupt" Value="IRQ_LEVEL" Processor="LM32"/> 1.43 + <DDSElem MemberName="irq" MemberType="unsigned char" Type="Interrupt" Value="IRQ_LEVEL" Processor="LM8"/> 1.44 + <DDSElem MemberName="maxLength" MemberType="unsigned int" Type="Parm" Value="LENGTH_WIDTH" Processor="LM32"/> 1.45 + <DDSElem MemberName="flags" MemberType="unsigned int" Type="uninitialized" Value="" Processor="LM32"/> 1.46 + <DDSElem MemberName="pCurr" MemberType="void *" Type="uninitialized" Value="" Processor="LM32"/> 1.47 + <DDSElem MemberName="pHead" MemberType="void *" Type="uninitialized" Value="" Processor="LM32"/> 1.48 + <DDSElem MemberName="prev" MemberType="void *" Type="uninitialized" Value="" Processor="LM32"/> 1.49 + <DDSElem MemberName="next" MemberType="void *" Type="uninitialized" Value="" Processor="LM32"/> 1.50 </DDstruct> 1.51 </DeviceDriver> 1.52 <PMIDef> 1.53 @@ -33,20 +39,30 @@ 1.54 <Module Name="pmi_fifo_dc" /> 1.55 </PMIDef> 1.56 <Parms> 1.57 - <Parm Name="InstanceName" Value="dma" Type="string" isiname="true" Text="Instance Name"/> 1.58 - <Parm Name="BASE_ADDRESS" Value="0x80000000" Type="Integer" isba="true" Text="Base Address"/> 1.59 - <Parm Name="FIFO_IMPLEMENTATION" Value="EBR" Type="String" ListValues="EBR,LUT" Text="FIFO Implementation" isparm="true"/> 1.60 - <Parm Name="SIZE" Value="128" Type="Integer" issize="true" Text="Size" Enable="false"/> 1.61 - <Parm Name="DISABLE" Type="define" Value="undef" isdisable="true" Text="Disable Component"/> 1.62 - <Parm Name="ADDRESS_LOCK" Type="Define" Value="undef" Text="Lock Address "/> 1.63 - <Parm Name="LENGTH_WIDTH" Value="16" Type="Integer" ValueRange="1-32" Text="Length Width" isparm="true"/> 1.64 + <Parm Name="InstanceName" Value="dma" Type="string" isiname="true" Text="Instance Name"/> 1.65 + <Parm Name="BASE_ADDRESS" Port="S" Value="0x80000000" Type="Integer" isba="true" Text="Base Address"/> 1.66 + <Parm Name="FIFO_IMPLEMENTATION" Value="EBR" Type="String" ListValues="EBR,LUT" Text="FIFO Implementation" isparm="true"/> 1.67 + <Parm Name="SIZE" Port="S" Value="128" Type="Integer" issize="true" Text="Size" Enable="false"/> 1.68 + <Parm Name="DISABLE" Value="undef" Type="define" isdisable="true" Text="Disable Component"/> 1.69 + <Parm Name="ADDRESS_LOCK" Value="undef" Type="Define" Text="Lock Address "/> 1.70 + <Parm Name="RETRY_TIMEOUT" Value="16" Type="Integer" ValueRange="1-255" Text="Retry Timeout" isparm="true"/> 1.71 + <Parm Name="LENGTH_WIDTH" Value="32" Type="Integer" ValueRange="1-32" Text="Length Width" isparm="false"/> 1.72 + <Parm Name="WB_DAT_WIDTH" Port="S" Value="32" Type="List" ListValues="8,32" OType="Integer" Text="Control Port Data Bus Width" isparm="true"/> 1.73 + <Parm Name="WB_ADR_WIDTH" Port="S" Value="32" Type="Integer" OType="Integer" Text="WISHBONE Address Bus Width" isparm="true"/> 1.74 + <Parm Name="WB_DAT_WIDTH" Port="MA" Value="32" Type="List" ListValues="8,32" OType="Integer" Text="Read/Write Ports Data Bus Width" isparm="true" SetValTo="MB"/> 1.75 + <Parm Name="WB_ADR_WIDTH" Port="MA" Value="32" Type="Integer" OType="Integer" Text="WISHBONE Address Bus Width" isparm="true"/> 1.76 + <Parm Name="WB_DAT_WIDTH" Port="MB" Value="32" Type="List" ListValues="8,32" OType="Integer" Text="WISHBONE Data Bus Width" isparm="true"/> 1.77 + <Parm Name="WB_ADR_WIDTH" Port="MB" Value="32" Type="Integer" OType="Integer" Text="WISHBONE Address Bus Width" isparm="true"/> 1.78 </Parms> 1.79 <GUIS Columns="2" Help="document\dma.htm" Name="WB_DMA_CTRL"> 1.80 <GUI Widget="Text" Span="1" Name="InstanceName" Width="40"/> 1.81 - <GUI Widget="Text" Span="1" Name="BASE_ADDRESS"/> 1.82 + <GUI Widget="Text" Span="1" Name="BASE_ADDRESS" Port="S"/> 1.83 <GUI Widget="Combo" Span="1" Name="FIFO_IMPLEMENTATION"/> 1.84 <GUI Widget="Group" Span="2" Name="SETTINGS" Text="Settings" Columns="3"/> 1.85 <GUI Widget="Label" Span="1" Name=""/> 1.86 - <GUI Widget="Spinner" Span="1" Name="LENGTH_WIDTH"/> 1.87 + <GUI Widget="Spinner" Span="1" Name="RETRY_TIMEOUT"/> 1.88 + <GUI Widget="Group" Span="2" Text="WISHBONE Configuration" Columns="2"/> 1.89 + <GUI Widget="Combo" Span="1" Name="WB_DAT_WIDTH" Port="S"/> 1.90 + <GUI Widget="Combo" Span="1" Name="WB_DAT_WIDTH" Port="MA"/> 1.91 </GUIS> 1.92 </Component>