AXI4 memory mapped slave user logic implementation

hi, I'm using a Spartan6 and the EDK.
I'm trying to write data via PCIe/AXI to a third party IP core, and read data of this IP core. The connection looks like this:
PCIe/AXI MM bridge <> AXI Interconnect <> AXI_MM_Slave <> two instances of the 3rd_party_IP_core
I want to read/write 128 bits. I created an AXI4 memory mapped slave with two address spaces with the CIP Wizard.
Now I'd like this AXI slave to read the data from the bus, and forward it to an output : std_logic_vector(127 downto 0), and read data of an input : std_logic_vector(127 downto 0) and write this data to the AXI bus.
I don't know how to use the IPIC signals the CIP Wizard created, to do this. As I want to read/write 128 bits while the Bus2IP_data and IP2Bus_data is only 32 bits wide, I don't know how to manage this. Could anyone please help me with some VHDL-code?
Thanks and regards,
Fabian

As per my understanding
It may  be  possible  If one person manages all service desk operations and that person have windows user id with userid "SERVICEDESK ".
It is not possible for several users to have same userid in Active directory
Integration of portal with windows userid possible whith same userid.
we can see some other inputs also
Koti Reddy

Similar Messages

  • PCIe/AXI to user logic addressing

    Hi,
    I’m using a Spartan-6 XC6SLX45T-FGG484-2 FPGA and I’m using the Xilinx Platform Studio.
    I want a PCIe host pc to communicate with two instances of a third party IP core via AXI4 memory mapped.
    The host PC performs PCIe write and read transactions. The AXI slave responds to these transactions:
    The AXI slave receives the data the host pc sent, and forwards it to the third party IP core, for a write request. For a read request, the AXI slave reads the data from the third party IP core, and sends it via AXI to the PCIe host pc.
    My design looks like this:
    PCIe/AXI MM bridge <> AXI Interconnect <> AXI_to_User_Logic <> 3rd_party_IP_core_0
                                                                                                                        <> 3rd_party_IP_core_1
    AXI_to_User_Logic is an AXI4 memory mapped slave with two address spaces, that was created with the Create & Import Peripheral Wizard.
    My first question is:
    I think the PCIe/AXI bridge should be the AXI Master, so do I need to connect only the M_AXI to the AXI bus, or do I have to connect S_AXI and/or S_AXI_CTL as well?
    The next question is: how to set the addresses?
    I’m not sure whether I understood how to do the addressing, so I’d like someone to verify that the addressing I made is right. If it’s wrong, please show me how it has to be done.
    I want to send 32 bytes to each AXI address space of the AXI slave and read 32 bytes from each AXI address space of the Slave.
    Addresses of PCIe/AXI bridge IP core:
    PCIe/AXI bridge: AXI Device Base Address (C_Baseaddr) = ?
    PCIe/AXI bridge: AXI Device High Address (C_Highaddr) = ?
    These Addresses can only be set in the PCIe/AXI bridge, not in the Slave. What do they mean? How should they be set?
    Write and Read 32 Bytes to/from two AXI address spaces means: PCIe BAR size = 32 Bytes *2*2 = 128 Bytes (?).
    128 = 2^7 --> PCIe BAR needs the lower 7 Bits to be 0 --> The bridge’s parameter C_PCIEBAR _LEN_0 = 7
    The PCIe BAR gets determined by the configuration software.
    Do I need an AXI BAR in the bridge? I don’t think so, as I only want to use the AXI Master Interface, right?
    PCIe/AXI bridge: AXI Base Address 0 (C_AXIBAR_0) = ?
    PCIe/AXI bridge: AXI High Address 0 (C_AXIBAR_HIGHADDR_0) = ?
    PCIe BAR 0 mapped from AXI BAR 0 (C_AXIBAR2PCIEBAR_0) = ?
    This BAR is only needed, if the endpoint (AXI/PCIe bridge) wants to initiate a transaction to the root port (that’s what I read about it, in the Xilinx support forum). So I don’t need this, right?
    AXI BAR 0 mapped from PCIe BAR 0 (C_PCIEBAR2AXIBAR_0) = 0000 0000
    Addresses of the User Logic IP core:
    AXI_to_User_Logic_0:Mem0    Base Address = 0000 0000
    AXI_to_User_Logic_0:Mem0    High Address = 0000 001F
    AXI_to_User_Logic_0:Mem1    Base Address = 0000 0020
    AXI_to_User_Logic_0:Mem1    High Address = 0000 003F
    --> Both address spaces are 32 Bytes.
    Let’s say the configuration software set the PCIe BAR0 to 0x0100 0000.
    If the User_logic’s BARs and the PCIEBAR2AXIBARs are configured like above, I can access the second axi address space by performing a PCIe transaction with PCIe Baseaddress = 0100 0020 which will result in an AXI request with address = 0x00000020. Is this right?
    I appreciate any help,
    Fabian

    interconnect is when you have one master, multiple slaves or multiple masters, single slave or any combination of NxM connectivity. If you have a single master and a single slave then there is no need for an interconnect and you can connect your master to the slave directly.
    If you want a master example, you can do "tools|create&package ip|create new ip" and create an ip with master interface. Then you can add your master state machine/controller inside.
    Also keep in mind that if you want your master to talk to your own slave and DDR you need to either have two master interface in your IP block or add an interconnect to demux your master to two separate slaves.

  • Memory Mapping on a Virtual Machine

    I have an application that memory maps a number of files. Occasionally it needs to unmap them so that they can be updated. On a real machine this process works flawlessly but I have two installs that are on virtual machines. On the virtual machine installs the unmapping occasionally seems to either fail or at least take a long time. When I come to update the file I get the "The requested operation cannot be performed on a file with a user-mapped section open" error message.
    The failure is fairly random, sometimes the update process works sometimes is fails and it doesn't consistently fail on the same mapped file which is why I think it's something to do with the timing of the unmapping and the virtual machine environment. Both virtual machine installs are running on Windows 2003 Server.
    Has anyone else seen this? I'm going to try inserting a pause between the unmapping and the update but that feels like a hack, I'd rather a call back to tell me the unmapping is complete but I don't suppose that's possible.

    the_doozer wrote:
    Ok, I'll grant you there is no way to explicitly unmap a mapped file in Java (a huge failing of the file mapping system IMHO) but closing any open FileChannel and nulling out the MappedByteBuffer is, in my experience, normally enough to cause the OS to unmap the file. This system lets me update files quite happily on all but the virtual machine system.I think you've been lucky in that case. I had some test cases that consistently failed since I couldn't delete the memory mapped file that I previously had created.

  • Driver to access a memory mapped device

    Hi,
    I've got a memory mapped device, but the OS (Solaris 10) doesn't let me access it in user space without a driver. So, I need to write a driver to bind the driver to my device at location 0x7fff00000000. I've followed the Device Driver Tutorial and examples on Sun's website, and came up with the following code. But when I mmap the driver into user space, the device at 0x7fff00000000 is not accessed at all. So, I believe there is a problem in probing and attaching the device. Could you please take a look at my code and tell me what I'm doing wrong? I'm new to device drivers. Thank you.
    static int
    foo_attach(dev_info_t *dip, ddi_attach_cmd_t cmd)
            int instance = ddi_get_instance(dip);
            struct foo_state *fsp;
            switch (cmd) {
            case DDI_ATTACH:
                    if (ddi_soft_state_zalloc(foo_state_head, instance)
                        != DDI_SUCCESS) {
                            cmn_err(CE_WARN, "Unable to allocate state for %d",
                                instance);
                            return (DDI_FAILURE);
                    if ((fsp = ddi_get_soft_state(foo_state_head, instance))
                        == NULL) {
                            cmn_err(CE_WARN, "Unable to obtain state for %d",
                                instance);
                            ddi_soft_state_free(dip, instance);
                            return (DDI_FAILURE);
                    if (ddi_create_minor_node(dip, "foo", S_IFCHR, instance,
                        DDI_PSEUDO, 0) != DDI_SUCCESS) {
                            cmn_err(CE_WARN, "Cannot create minor node for %d",
                                instance);
                            ddi_soft_state_free(dip, instance);
                            ddi_remove_minor_node(dip, NULL);
                            return (DDI_FAILURE);
                    fsp->instance = instance;
                    fsp->dev = dip;
                    ddi_report_dev(dip);
                    return (DDI_SUCCESS);
            case DDI_RESUME:
                    return (DDI_SUCCESS);
            default:
                    return (DDI_FAILURE);
    static int
    foo_devmap(dev_t dev, devmap_cookie_t handle, offset_t off, size_t len,
        size_t *maplen, uint_t model)
        struct foo_state *fsp;
        int error, rnumber;
        off_t regsize;
        /* Set up data access attribute structure */
        struct ddi_device_acc_attr foo_acc_attr = {
            DDI_DEVICE_ATTR_V0,
            DDI_STRUCTURE_BE_ACC,
            DDI_STRICTORDER_ACC
        fsp = ddi_get_soft_state(foo_state_head, getminor(dev));
        if (fsp == NULL)
            return (-1);
        /* use register set 0 */
        rnumber = 0;
        /* get size of register set */
        if (ddi_dev_regsize(fsp->dev, rnumber, &regsize) != DDI_SUCCESS)
            return (-1);
        /* round up len to a multiple of a page size */
        len = ptob(btopr(len));
        if (off + len > regsize)
            return (-1);
        /* Set up the device mapping */
        error = devmap_devmem_setup(handle, fsp->dev, NULL, rnumber,
           off, len, PROT_ALL, DEVMAP_DEFAULTS, &foo_acc_attr);
        /* acknowledge the entire range */
        *maplen = len;
        return (error);
    static int
    foo_segmap(dev_t dev, off_t off, struct as *asp, caddr_t *addrp,
         off_t len, unsigned int prot, unsigned int maxprot,
         unsigned int flags, cred_t *credp)
         return (ddi_devmap_segmap(dev, off, asp, addrp,
              len, prot, maxprot, flags, credp));
    }

    Hi java_user,
    There are no EBIU VIs. You will need to use C code for that part of your application.
    Mike Lyons
    National Instruments
    http://www.ni.com/devzone

  • Memory-mapped file is possible?

    Hi everyone, I'm a new Labview user and I want to start a new project that uses Memory mapped file.
    I have a working C# code to read the $gtr2$ MMF, where i simple use 
    MemoryMappedFile.OpenExisting("$gtr2$")
    to get data from it.
    How it is  possible to read this kind of file in labview? I can't find anything useful on the web.
    I'm using a LabVIEW 2013 student edition.
    Thanks to everyone who wants to answer my question.
    Have a nice day.

    Hi,
    I too only have done the CLAD…
    You have to look for DotNet examples, you will find them here in the forum…
    And usually it helps to read the documentation for that MMF class to recreate your C++ code in LabVIEW!
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Can we use WHO columns in Business Logic implementation

    Hi,
    Can we use WHO columns for business logic implementation..?
    From one table I need to pick up the latest record. I have a ActionDate column in the table which stores the date of the action.
    But on the same day there can be multiple action records. ie Multiple records have same ActionDate.
    Select * from action_table where action_date=(maximum action_date)
    The above query will return more than 1 record.
    Now can I use the Creation_Date which is a WHO column to identify the latest record..?
    Will it introduce any issues if I use creation_date WHO column?
    Usage of WHO column in application logic, Is it against the Standards ?
    Thanks a lot.

    I guess you are talking about populating the value using the history column creation_dt from EO.
    If so, you can use then. We are using them in all our applications to populate WHO columns of our table.
    Infact as far as I know, even Oracle application uses them.
    They generally populate the timestamp, so you may need to format them when doing date comparisons.
    Hope that helps.
    Amit

  • Nio ByteBuffer and memory-mapped file size limitation

    I have a question/issue regarding ByteBuffer and memory-mapped file size limitations. I recently started using NIO FileChannels and ByteBuffers to store and process buffers of binary data. Until now, the maximum individual ByteBuffer/memory-mapped file size I have needed to process was around 80MB.
    However, I need to now begin processing larger buffers of binary data from a new source. Initial testing with buffer sizes above 100MB result in IOExceptions (java.lang.OutOfMemoryError: Map failed).
    I am using 32bit Windows XP; 2GB of memory (typically 1.3 to 1.5GB free); Java version 1.6.0_03; with -Xmx set to 1280m. Decreasing the Java heap max size down 768m does result in the ability to memory map larger buffers to files, but never bigger than roughly 500MB. However, the application that uses this code contains other components that require the -xMx option to be set to 1280.
    The following simple code segment executed by itself will produce the IOException for me when executed using -Xmx1280m. If I use -Xmx768m, I can increase the buffer size up to around 300MB, but never to a size that I would think I could map.
    try
    String mapFile = "C:/temp/" + UUID.randomUUID().toString() + ".tmp";
    FileChannel rwChan = new RandomAccessFile( mapFile, "rw").getChannel();
    ByteBuffer byteBuffer = rwChan.map( FileChannel.MapMode.READ_WRITE,
    0, 100000000 );
    rwChan.close();
    catch( Exception e )
    e.printStackTrace();
    I am hoping that someone can shed some light on the factors that affect the amount of data that may be memory mapped to/in a file at one time. I have investigated this for some time now and based on my understanding of how memory mapped files are supposed to work, I would think that I could map ByteBuffers to files larger than 500MB. I believe that address space plays a role, but I admittedly am no OS address space expert.
    Thanks in advance for any input.
    Regards- KJ

    See the workaround in http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4724038

  • Can't run Ableton Live 8 as slave with Logic 9 in 64bit (Melodyne error)

    Hi,
    Just downloaded Melodyne Editor 2.01 and installed on Mac Book Pro and iMac. I loaded Logic 9 in 64bit and then Ableton Live 8 as a slave. I was met with the following message:
    An error has occurred while opening “Melodyne singletrack” via ReWire. It is probably already in use. In order to run this program as a ReWire slave application, you will have to launch Live first.
    This stops Live from working as a slave. This does not happen when Logic in launched in 32bit mode and everything works normally. The same thing is happening on both my Mac Book Pro and iMac.
    Can I run Live 8 as a slave with Logic in 64bit mode? If so can anyone suggest a work around or solution please. I tried to search but couldn't find what I was looking for.
    Thanks in advance, apologies if its a daft question.
    SM.
    Logic 9 (latest version)
    Live 8 (latest version)
    Melodyne Editor 2 (latest version)
    Mac Book Pro (2010)
    2.4 GHz Intel Core 2 Duo
    8GB RAM
    OS X Lion 10.7.2
    iMac (2011)
    2.8 Quad Core i7
    12GB RAM
    OS X Lion (latest version)

    Do you actually have Rewire installed?
    If you are on an Intel machine, then you're running Logic intel-native but Live 4 PPC-emulated - you should really upgrade to a version of Live that works natively on your Intel Mac.
    This maybe why Logic can't see Live, depending on how Rewire handles this.

  • Require a Message mapping for this Logic.

    Hi Experts,
    I require a Message mapping for this Logic.
    In the Source there are 4 fields and, the Target side, the fields should appear like this.
    Source Structure- File
    Record
    |-> Header
    Order_No
    Date
    |-> Item
    Mat_No
    Quantity
    Target Structure-IDoc
    IDoc
    |-> Header
    |-> Segment
    Delivery_Order_No
    Recv_Date
    |-> Item
    |-> Segment
    Delivery_Order_No
    Material_Num
    Recv_Quantity.
    The Logic is for every Order number an IDOC is generated.And if the Material num matches then the quantity should be added. and important note  is that the material numbers are different for every order number. That means if a material number is 2 in the order number A. Then the material number can never be 2 in any of the order numbers.Here is the following with an example for the above scenario.
    For example:-
    we have
    Source Structure- File
    Order-no Date Mat_No Quantity
    1 01/02/2011 A 10
    1 01/02/2011 B 15
    1 01/02/2011 A 10
    2 01/02/2011 C 10
    2 01/02/2011 C 10
    3 01/02/2011 D 20
    3 01/02/2011 D 10
    3 01/02/2011 E 25
    Target Structure-IDoc
    Delivery_Order_No Recv_Date Material_Num Recv_Quantity
    1 01/02/2011 A 20
    1 01/02/2011 B 15
    2 01/02/2011 C 20
    3 01/02/2011 D 30
    3 01/02/2011 E 25
               So for this example total of 5-Idocs created. That means for this example if Order_No is 1 When the Mat_No is A the quantity gets added. For this Scenario 1 IDoc with four Fields 2 in Header(Delivery_Order_No, Recv_Date) and 2 in Item(Material_Num, Recv_Quantity) is generated by adding the quantity field in the Target Side. Similarly if Order_No is 1 when the Mat_No is B  then separate IDoc is generated with four Fields 2 in Header(Delivery_Order_No, Recv_Date) and 2 in Item(Material_Num, Recv_Quantity) in the Target Side. Similarly, if Order_No is 2 when the Mat_No is C, an IDoc is generated with four Fields 2 in Header(Delivery_Order_No, Recv_Date) and 2 in Item(Material_Num, Recv_Quantity) by adding the quantity field  in the Target Side.  ike wise the process goes on upto 3.Kindly do the needy..
    Thanq very much in advance..
    Edited by: Prashanth Bharadwaj on Oct 17, 2011 1:29 PM

    Hi Prashanth,
    Concatinate the two fields OrderNo and MaterialNo and follow the below logic which will resolve your problem.
    concatinationOfOrderNo&MaterialNo>removecontext>sort>splitByValueChange>collapseContext-->IDOC
    concatinationOfOrderNo&MaterialNo>removecontext>sort>splitByValueChange>collapseContext>splitByEachValue>subString(0,1)-->Delivery_Order_No
    formatByExample>collapseContext>SplitByEachValue-->Recv_Date
    FormatByExample:
    input1:resulrOfSortByKey
    input2:concatination>removecontext>sort-->SplitByValuChange
    sortByKey:
    input1:concatination-->removecontext
    input2:date-->removecontext
    concatinationOfOrderNo&MaterialNo>removecontext>sort>splitByValueChange>collapseContext>splitByEachValue>subString(1,1)-->Material_Num
    formatByExample>sum>Recv_Quantity
    FormatByExample:
    input1:sortByKey
    input2:concatination>removecontext>sort-->SplitByValueChange
    SortByKey:
    input1:concatination-->removecontext
    input2:Quantity-->removeContext
    Regards,
    Priyanka.

  • Mapping of users with roles

    Hi, in oracle BPM there is a mapping of user with the roles.I have search the BPM database tables in dev_soainfra schema but no tables consists of mapping of these tables.I have a urgent requirement of it so that i can use it on adf form.
    Can anyone plz tell me where to get it.
    =>I got the Organization.XML file in BPM which consists of the mapping of these two.But i am not able to create datacontrol from xml file so that it can be used on adf form.Anyone plz help me out.
    Thanks

    Hi.
    What is the BPM product version (10g or 11g)?

  • Mapping of users with roles in BPM

    Hi, in oracle BPM there is a mapping of user with the roles.I have search the BPM database tables in dev_soainfra schema but no tables consists of mapping of these tables.I have a urgent requirement of it so that i can use it on adf form.
    Can anyone plz tell me where to get it.
    =>I got the Organization.XML file in BPM which consists of the mapping of these two.But i am not able to create datacontrol from xml file so that it can be used on adf form.Anyone plz help me out.
    Thanks

    BPM Roles are in turned mapped to Application Roles and the users are added to these application roles. So I don't think it is available in DB. You might need to get it from Application Roles using OPSS API if available or system-jazn-data.xml (if you policy store is file based) or from your LDAP.

  • How to create/Map a User as Adminstrator in BPM Worklist to view all tasks

    Hi all,
    How to create/Map a User as Adminstrator in BPM Worklist to view all the tasks.
    Version :Jdev 11.1.1.1.0
    Regards
    C.Karukkuvel

    go to EM , right click on soa-infra -> security -> Applicaiton roles, then click on BPMWorkflowAdmin role. Add your user to this role.
    This user will be able to view all tasks in Worklist. you have to click on "Administration Tasks" tab.
    Thanks
    --Sreeny
    Edited by: sreeny on Sep 22, 2010 12:54 PM

  • How to create/Map a User as Adminstrator in BPM Worklist to view all the ta

    Hi all,
    How to create/Map a User as Adminstrator in BPM Worklist to view all the tasks.
    Version :Jdev 11.1.1.1.0
    Regards
    C.Karukkuvel

    Sounds like a great question for the [url http://forums.oracle.com/forums/forum.jspa?forumID=560]BPM Suite Forum, but then again, I see you've already posted the question there ;)
    Good luck,
    John

  • What oracle best practices in mapping budgeting to be implement at item

    Dear Consultant's
    Really i need you values Consultantancy
    What oracle best practices in mapping budgeting to be implement at item category level or item level
    I want to check fund at encumbrance account according to item level
    Case:
    I have there item category
    One is Computer's items
    Tow is printer's items
    Third is food's item's
    I want to implement my budget on item category level
    Example:
    I want my purchase budget for item with printer's type not exceed 30000USD
    And For item with type food's not exceed 45000usd
    How to map this in oracle application
    The modules implemented on my site
    (GL, AP, AR, INV, PURCHASING, OM)
    Please give me the oracle best practice that handle this case
    Thanks for all of you

    Hi,
    It is really difficult to have Budgetary Control on Inventory Items in Average Costing enviornment as you can have only one Inventory Account at the Inventory Organization level.
    You have to modify your PO / Requisition Account Generator to populate the Encumbrance Account in PO / Requisition based upon item category. Moreover, the "Reverse Encumbrance" flag in your Inventory Org needs to be unchecked so that the encumbrances are not revered when the goods are received.
    Gajendra

  • How to map the user to Responsible Person for Proj/ Capital Investment Prog

    Hi All,
    Could you please help me in mapping the user to Responsible Person for Proj/ Capital Investment Prog.
    Here is the scenario. I am trying to restrict the user to access only WBS under a cost center but not to have complete access to the Cost Center. I in my way to do, I found out that we can create a user name using OPS6 tcode and use the reference number of the user we created in CJ20N, so as only the person who was added in the Responsible Person for Proj/ Capital Investment Prog list will be able to access particular WBS.
    Now my question is, How to map the user which I created using OPS6 tcode to user in user master record. I am not able to map the user, as its taking any random name to add in the list. Could some one please help me in mapping the user created in the list with the user master record.
    Hope I managed to put the question clearly. If you have any queries, please feel free to ask. Appreciate your time and thanks in advance.
    Farooq.

    Hi Stephan,
    Thanks for your time and finding SAP note for me. I got the problem fixed. The solution for the above problem is, When we create a responsible person for the project through OPS6 tcode, we have a column called "Offer User", next to the person responsible. We must add the user name next to it. And we can add only the user name which is present in the user master record.
    It solved my problem, but when I pressed F1 for help in this column, there is nothing mentioned about its mapping or anything.
    Thanks again for the help, Cheers,
    Regards,
    Farooq.

Maybe you are looking for