Several VHDL Modules in One Test Bench

I am working with a image system consisting of three major parts:
- A CCD array
- A FPGA card
- A frame grabber
I have written one VHDL module for every component and now I would like to simulate them in one test bench. Is it possible to include several modules in one test bench? Or do I need to instantiate two of them as components?
Thanks in advance!

johnju wrote:
I am working with a image system consisting of three major parts:
- A CCD array
- A FPGA card
- A frame grabber
I have written one VHDL module for every component and now I would like to simulate them in one test bench. Is it possible to include several modules in one test bench? Or do I need to instantiate two of them as components?
You certainly can simulate an entire system. There is no reason why you cannot.
I generally create system simulation test benches which have the FPGA as just one component. So in your case, you'd model the CCD, find or write models for the converters, wire them to the FPGA, and then write models for the transport between the FPGA and the frame grabber card, and finally finally you will have to write a model of the frame grabber as a data sink.
It can be a lot of work, but if you want to prove out your system, and also exercise the FPGA with real stimulus, this is the way to go.
And if you feel the need to do a post-place-and-route timing simulation, if you are clever and use VHDL configurations, you can simply swap the timing model for the FPGA source in the test bench's instantiation of the DUT.

Similar Messages

  • Relay automatic test bench

    I'm writing to ask some help about automatization of relay/switch based testbench.
    The main idea is to command pass/not to pass signals (150 Vac @400 Hz for three-phase power,
    about 30 Vdc and 2 A) according to an established tests order.
    The system dialogues via GPIO (or other types of communication) in order to set correct voltage supply and other settings.
    The outputs to verify tests are:
    - voltage readings
    - current  readings (max 6Adc)
    - oscilloscope (frequency (max1200 Hz) and amplitude (10-20V); activation time between imposing input and getting output)
    - PC screen readings (sent from device under test to RS-422)
    Test implementation is led to pursue a step-by-step view.
    Is it possible to implement this system via NI software?
    I've seen NI Switch, but I don't understand if it is possible to implement this kind of system .
    I look forward to your answer and if you need other specs.
    Thank you.
    Barkley

    Hi Eric,
    I answer point by point.
    "I can comment most about the Switches you would need. You first mentioned 150V, 400Hz, then 30VDC and 2A, and a maximum current reading of 6A. How much AC current does your three phase need to supply? Would the 6A maximum current be just a quick current spike or steady state current?" 
    I have one three-phase 115Vac and 2mA (AC) supply, one three-phase 55 Vac and 6,5A @ 1585 Hz (max value) supply and one DC supply 28Vdc and 2 A max. Another supply can be derived from the previous ones to feed lower voltage (1Vac 120mA @ about 500 Hz) loads."
    There are a few modules that I would look at for your system:
    PXI-2586 - 10 channel SPST, 300VDC CAT II, 12A max current
    PXI-2568 - 31 channel SPST, 150VDC, 2A max current
    PXI-2567 - 64x1 channel multiplexer, 300 V CAT I, 2A max current
    "How many devices will you need to be testing at once? We also have the PXI-2585, a 10 channel 12A multiplexer (rather than SPST) so you can route power to one of 10 different DUTs."
    Ten DUTs are a good number for my test bench, if security requirements and test correctness are fullfilled (i.e. time parallel test procedure). The minimum number is 1  or 2 at once.
    "We also have high speed digitizers that could function as your oscilloscope."
    My idea is to attach several equipments to a "NI relay card" (i.e oscilloscope, amperometer, voltmeter, multimeter ecc. ecc.), piloted by PC via bus in order to setup meters and record data about th test.
    " I would contact your local sales engineer who can help spec out the whole system for you. You can find your sales engineer by going to ni.com and clicking 'contact us' in the upper right."
    Thanks for your attention and time. I write down a document with main specification to get  a better system view of test bench .

  • How to repeat one test sequence step?

    Hi there,
    I've been testing the NI TestStand 4.1 evaluation system to see does it fit our company needs. It's almost what I expected to do except that I didn't manage to repeat only one failed step from the sequence and correct the report result. It can be done through the LabView or .NET interface by selecting witch step to repeat before the sequence have finished,  but I want to know if there is a integrated tool for this in TestStand.
    Best regards,
    Victor

    victor,
    Welcome to TestStand!!  It's by far the best off the shelf test automation software out there. 
    Are you talking about immediately repeating the failed steps?  Or are you talking about repeating the failed steps after the test has completed?  If you want to immediately repeat on a fail there are a couple options. If you look at the Properties for a step you'll see the Post Actions.  Basically this is anything that happens after the step has completed.  There is a On Fail box in there and you can change that to Goto step and choose the same step.  Or you can choose a sequence and create a sequence that will wait for the operator and then return and repeat the step.  There is also an Engine Callback which you can add and modify if a step fails as well.  You could do some manipulations in there.
    Basically you'll find that in TestStand there are several (some better some worse) ways to accomplish what you want.  Most of it is possible (either through callbacks, properties or code modules). 
    One good place to look is in the TestStand reference manual about step execution.  There's a table in there with an exact layout of what exactly happens when a step executes.  Understanding that can help you decide where you want to force the step to repeat. 
    Hope that helps.  Let me know if you have any questions.
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • Example of Test Bench for multiple FPGA I/O items

    Hi,
    I'm looking for an example on creating a Test Bench that simulates multiple FPGA I/O digital lines.  
    I've gone through the Creating Test Benches tutorial but it only uses a single I/O item.  Read I/O Item Name.vi is obviously an important part of this but I'm not sure how to structure the VI and assign the name (especially since things seem to get wired up magically for a single IO item).
    Any pointers to examples would be greatly appreciated.
    Thanks,
    Steve
    Solved!
    Go to Solution.

    >>What kind of hardware are you using? 
    In this case, NI 9401, but we will be expanding to cover several different module types
    >>Did you look in the NI Example Finder? 
    Yes.  There are two (in Labview 2011) returned with searching for "testbenches" that are very basic.
    >>Which tutorial are you talking about?
    http://zone.ni.com/reference/en-XX/help/371599H-01/lvfpgaconcepts/test_bench_tutorial/
    This shows how to use a Template from the "Execute VI on Development Computer with Simulated I/O" option on the Debugging tab of the FPGA Target Properties. The template covers a single input and it's not clear to me how to simulate more than a single input.
    Steve

  • Verilog test bench error -- all vcd dumpvars must be executed at the same simulation time

    Hi Folks,
    I have ISim version 13.1.
    During simulation of a large module with many sub modules and instances, I want to be able to dump objects to a .vcd file.
    However when I use the construct
    @$dumpvars (0, module_name.sub_module_Name.signal_name);
    where these names are known within the test bench, I get an error message:
    error: Instance: /module_name/: All vcd dumpvars must be executed at same simulation time.
    I do not understand what that means and what to do about it.
    Can some one help ?
    By the way, when I eliminate the signal_name in the above construct, all signals do get dumped to the .vcd file...
    I did not enclose the source code as it is too large...

    On WLS CONSOLE, go to StartupClasses and make sure JAXWS class is target it to the managed server which you are deploying this webservice.
    Kinds,
    Gabriel Abelha

  • Test Bench Scripting Language

    Hi,
    I am an intern at a company which is wanting me to create a scripting language and compiler that would be capable of controlling several instruments on their test bench through GPIB, as well as use the PXI-7833R to communicate to one of their devices over SPI.  I would consider myself an intermediate LabVIEW user that has never really worked with any type of VI which involved parsing scripts or the like.
    Is there any application other than LabVIEW that would be more suited for this type of application.  I plan to have to use several dll's written in C++ to make things easier on myself, but I wasn't sure if I was trying to re-invent the wheel here or if there was something like this that had already been done that I could refer to. 
    Any help that anyone can give on this subject would be greatly appreciated!  Thanks.

    Thank you all for responding so quickly, all of your help is very appreciated.  I will have to go through many of these languages to determine which option is going to be the best suited solution for this.  Other than TestStand and Python I really have not heard of any of the others.
    I have brought up the idea of using TestStand to the team that is going to be primarily using this application and they have said that many of them have no experience at all with LabVIEW and don't really feel comfortable with the idea of using something like that to do this.  They all say that they would feel much more at home with a text based language that they can all pick up on easily.  Which, obviously creates more work for me because I have to be able to document all of this so that it is easily to manipulate by others...
    I am looking into the LuaVIEW interface right now, I will definitely look into all of the others later and let you all know how things are progressing.  If anyone else has any other ideas for ways to make this easier I would greatly greatly appreciate it.
    I have one more question which I will really just need once I get the parsing done.  As I said in my first post I will be using an FPGA for communicating with a device that will be constantly relaying information back from an A/D.  In order to conserve space on the FPGA I am thinking of somehow parsing the code in a way that the commands that only concern the GPIB instruments will be run from the host VI and the code for communcating with the device will be loaded onto the FPGA Target VI.  Does this sound like the best way to go about this and do you have any ideas for how to do the separation?
    Thank you,
    Tyler

  • No Un-ambiguous Selection of Mapping Module (above one) for BUPA_MAIN BDocs

    Hi All
    I seem to have hit a snag here. I am trying to replicate customers from CRM to ERP but am getting these two errors:
    Main error: Partially send, receivers have errors.
    No un-ambiguous selection of mapping module (above one) for BDoc type 3932399B34D6279BE10000000A11449E.
    Service that caused the error: SMW3OUTBOUNDADP_CALLADAPTERS._
    I have searched on Googleand SDN but have come up with nothing as far as these errors are concerned. We have managed to replicate Business Partners, Materials and Conditions from ERP to CRM without any problems but when it cam e to replicating back, these errors started popping up.
    I have used all the tools for analysis but have come up with nothing the really suggest to me what is wrong. I have monitored queues, traces and dumps. I have played around with the filter setting and all.
    With regards to the process itself, i followed the C03 best practices config guide and i believe that i have everything in place. Here are the steps i followed:
    1.Create an Internal number range for the CRM customer group.
    2. Assigned the number range to the Customer group
    3. Created a corresponding number range (External) in ERP and a corresponding CRM Customer account group as a copy of the standard 0001 Sold-to-party account group and assigned the number range to it.
    4. Defined Partner functions (SP, SH, BP, and PY) for the account group
    5. I mapped the CRM classification for customers (B) to the created account group (CRM Customer)
    6. I synchrponized the fields for the account group created and the BP roles in CRM including changes on a per client (BUPA) basis.
    7. I redowloaded all the cutomizing objects (though i only needed the DNL_CUST_KTOKD) for the sake of the mappings directly in CRM or R/3 Account group maintenance during the creation of the BP.
    8. I customized the filter settings in BUPA_MAIN and included the BUT100 table for the filetring of the customers who were created as SP, BP, PY, or SHand who belonged to the Customer group we had created. (BUT000->BU_GROUP & BUT100->RLTYP) for source site CRM.
    9. Activated the necessary function modules through transactions COM_BUPA_CALL_FU in ERP and CRMC_BUT_CALL_FU in CRM according to [http://help.sap.com/saphelp_crmscen70/helpdata/en/60/85b5d333f4174b8e982c1c15db35f3/frameset.htm]
    10. Using transaction R3AS i sought to replicate the BUPA_MAIN object.
    Because of the few customers created in CRM, it only executes within a single block so the queues would be empty by the time SMQ1 and SMQ2 are executed. R3AM1 shows it as running. SMW01 shows the above error.
    When creating a BP through the tx code BP, the main error would be Technical error(Incomplete) and the two other errors as mentionme above would also be there
    Is there anyone out there who has met this very same problem or knows the solution to this.
    Thanks in advance.

    We managed to get a solution to the problem. Here it goes:
    When a new adapter object (e.g a custom one) is created, the SMOFOBJECT table is populated with the entry and, in turn, the SMOFUPLMAP is populated with the object and the mapping module for uploading to R/3. During the upload process, a search for custom mapping modules is done and if not found the standard mapping modules are used. However, and it seems weird since it seems as if it applies to the BUPA_MAIN object or the corresponding mapping module (BUPA_MWX_BDOC_UPLOAD_MAIN_R3), there has  to be a one-to-one mapping between an mapping module and adapter object.
    I had created a custom adapter object (Z_BUPA_MAIN) to which I wanted to put some custom filters and did not want to test with the standard object. So two objects using the same mapping module ended up existing  in the SMOFUPLMAP table (one-to-many mapping). The function module in which this happens is the GET_UPL_FUNCTION_FOR_OBJ.
    So the solution would be to delete the object if it is not needed or to maintain the SMOFUPLMAP table to remove the entry. When you delete the object, it sometimes does not automatically/subsequently remove the entry in SMOFUPLMAP, so manual maintenance has to be done or the same object has to be recreated and have the mapping module allocated. After this, the problem would be solved. What is weird to me is that the only one-to-one mapping is allowed. I created a custom object for the download of conditions and I did not get that error. So it means that in this case you would have to copy the mapping module and create a custom one for the custom object.

  • ChaRM: Several maintenance cycles in one maintenance project?

    Hi!
    We are working with urgent correction within ChaRM and thinking about to implement the normal corrections as well.
    Our ChaRM workflow for normal corrections is characterized by:
    a)corrections with different Life cycle (those who will be processed within 1 week, other with 2 week, etc.)
    Questions:
    1) Is it possible to have several maintenance cycles for one maintenance project to handle condition u201Ca)u201D?
    2) What will happen with all the normal corrections and urgent corrections that have a long life cycle (status: in development, test, etc.) when the charm manager set the status of maintenance cycle in u201CGo liveu201D?
    Thank you  very much!
    H. Thomasson

    Hi Holger,
    Maintenance cycle and SMI project is a 1:1 relationship.
    In status GoLive you will be able to continue developement/work on normal corrections but you will not be able to release any transport requests/create transport of copies so your testings in QA will be limited.
    In phase GoLive you are able to import requests into production.
    Normal Corrections which have not been released yet are not lost. Depending on your scenario you may switch phases back to "in dev with rel." after you imported into production. It is not necessary to close and recreate maintenance cycles if you use one project for daily/weekly maintenance.
    /cheers

  • [svn:fx-trunk] 10131: Fixes to several effects bugs and one styles-related bug.

    Revision: 10131
    Author:   [email protected]
    Date:     2009-09-10 14:25:42 -0700 (Thu, 10 Sep 2009)
    Log Message:
    Fixes to several effects bugs and one styles-related bug.
    QE notes: Fixes to all filed auto-center feature bugs.
    Doc notes: None
    Bugs: sdk-22994, sdk-22992, sdk-22990, sdk-21850, sdk-22973
    Reviewer: Jason (+Glenn for RadioButton/CheckBox changes, 21850)
    Tests run: checkintests, Mustella (transform effects, Slider, DataGrid - all passed last week, prior to skin/test changes)
    Is noteworthy for integration: No
    Ticket Links:
        http://bugs.adobe.com/jira/browse/sdk-22994
        http://bugs.adobe.com/jira/browse/sdk-22992
        http://bugs.adobe.com/jira/browse/sdk-22990
        http://bugs.adobe.com/jira/browse/sdk-21850
        http://bugs.adobe.com/jira/browse/sdk-22973
    Modified Paths:
        flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CheckBox.as
        flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as
        flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as
        flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SoundEffectInst ance.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move3D.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate3D.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale3D.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransfor mInstance.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicEleme nt.as
        flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt

  • Deploying application with several web modules having the same context root

    Hi,
    I would like to be able to deploy an application in Weblogic 12c having one ejb module and several web modules with the same context root. Even though the web modules have the same context root, each of them is deployed to a different virtual host.
    Weblogic allows deploying the modules this way as long as their targets are different (i.e. each having a distinct virtual host). However this works only when I don't select a target for the .ear:
    Component Type Current Targets
    application.ear Enterprise Application (None specified)
    application.jar EJB AdminServer
    web1.war WEBAPP virtualHost1
    web2.war WEBAPP virtualHost2
    However if I select as target for the .ear to be AdminServer, the deployment doesn't work anymore, complaining that the context roots are in conflict.
    If I remove web2.war from the .ear and deploy the .ear and .jar to AdminServer and web1.war to virtualHost1, the deployment works but the strange thing is that the web application can be accessed also through the AdminServer's main network channel, even though I would expect that it should be accessible only through virtualHost1 network channel. I believe this is the reason why there are context root conflicts when specifying a target for the .ear, because both wars are made accessible to the main network channel.
    The reason why I want to keep the wars inside the same .ear is because I want to make them access the application's local EJBs (since as far as I know it's not possible to access a local EJB outside the application even if they belong to the same VM).
    Is there a way to deploy the web modules only to the virtual hosts without being targeted to the main network channel?
    Regards,
    Alexandru

    Murphy's Law: If anything can go wrong it will
    A corollary to Murphy's law: When everything fails, read the manual.
    Web application funda: Every web application must have its own context root. So, if wkfsocos is one
    web application then, wkfsocos1 is another web application -
    and hence must have its own context root.
    Hello Aman,
    If you are in E-Commerce version 4.0, then read this
    [ISA_Buildtool document |https://service.sap.com/~sapdownload/011000358700001920472003E/ISA_BuildTool_10.pdf]
    to create a copy of the application in its own context root.
    From your URL pattern I guess you are in E-Commerce version 4.0.
    If you are in E-Commerce 5.0 or above, then the
    [Extension Guide |http://service.sap.com/~sapdownload/011000358700006120622006E/]gives steps to create a copy with its own context root for use in modification.
    (See the chapter on - Creating a project specific Web Application with own context root )
    Both these links require access to SAP Service Marketplace. You can also find the
    documents through /instguides shortcut in Service Marketplace.
    Easwar Ram
    http://www.parxlns.com

  • Electric Motor Test Bench

    I am currently desiging a small AC Motor Test Bench to test motors on the production line. I am trying to decide the best way to detect a break in the light curtain. A beak in the light curtain will be removing all line voltages from the bench top and will also reset the vi to await a start signal from an operator push button. I have a NI cDAQ 9178 with a NI 9205 and six NI 9481 modules.
    I do have a extra relay contact in my safety circuit that I can pass a 0-10V signal through to the 9205. I am considering using a 120VAC to 9VDC transformer to generate a control voltage. I would then use the control voltage as an input into the 9205. I could wire my start button, safety relay and stop button in series. The safety signal would be normally closed and the stop and start would be normally open. I do not need this to be real fast detection by the circuit but would like it to be under 1 second.
    Is this the right approach?
    How should I write this into my vi to detect an input even is a sub-vi is running?

    So, a question:
    Are you performing any other acquisitions with your 9205?  If so, are they hardware-timed?  I believe the 9205 has a single clock (I might be wrong about that, you'll have to check), which means that you can only run a single hardware-timed task with it.  This may not be relevant, but it's something to note.
    Since the detection doesn't have to be very fast, you could set up a software-timed task to read the line which has your "stop" signal.  (That avoids any sample clock conflicts.)  You'll want that task in its own loop, in parallel with the rest of your code, so that it runs all the time.
    When you detect a "stop" signal, you'll need to take action in the other software loop(s).  I'd use an Action Engine (search the forum if you're not familiar with it) to set a flag which is read by the other loop(s).  Use the flag to trigger whatever shutdown actions are necessary.  Your "stop" monitor loop will write to the Action Engine -- your other loop(s) will read from it.
    Does that help get you started?

  • Immediate Small Project - Test Bench Data Acquisition, Processing, & Basic Automation

    I am need of a Labview Programmer to assist immediately on a test bench setup.  The sepcifics are as follows....
    Acquire data from 16 LVDT with 4-20 mA signal simultaneously at a single time.
    Convert to distance using bit resolution conversion.
    Calculate best fit plane for data points, given a (x,y) location of each sensor, where the signal is the z coordinate.
    Calculate properties of part with distance from best fit plane to individual LVDT points and report to LabView SPC.
    Trigger 24 VDC I/O to actuate pneumatic solenoids with timing delays to provide throughput through test station.
    Trigger data acquisition when part is present in test area of machine.
    Requested completion time is one week.  Project is located in Clover, SC outside of Charlotte, NC.  Remote work is acceptable.
    Please email me if interested in project. [email protected]

    I am need of a Labview Programmer to assist immediately on a test bench setup.  The sepcifics are as follows....
    Acquire data from 16 LVDT with 4-20 mA signal simultaneously at a single time.
    Convert to distance using bit resolution conversion.
    Calculate best fit plane for data points, given a (x,y) location of each sensor, where the signal is the z coordinate.
    Calculate properties of part with distance from best fit plane to individual LVDT points and report to LabView SPC.
    Trigger 24 VDC I/O to actuate pneumatic solenoids with timing delays to provide throughput through test station.
    Trigger data acquisition when part is present in test area of machine.
    Requested completion time is one week.  Project is located in Clover, SC outside of Charlotte, NC.  Remote work is acceptable.
    Please email me if interested in project. [email protected]

  • What the heck, why are Test benches so expensive!?

    No idea..
    But on a similar note, I plati-dipped my rims and brake calipers.  They turned out nice. 

    So I was thinking of plasti dipping or vynil wrapping my PC case at home just to give it a change on the color. Of course I will want to use my PC to watch something online or play a game while working on my case so I will need something to put it in. I thought I should just get one of those open test benches for PC because its easy to install and remove. I was looking for some online thinking it was an easy $20 for a good one. NOPE.. A good one will run you $100. Literally the cheapest one I found was $45. Why are these things so expensive? Im probably going to take a pc from work and make my own.
    This topic first appeared in the Spiceworks Community

  • How to keep multiple function modules under one Web service

    Hi Experts,
    I have Three RFC function modules and i need to create one web service for these three RFC function modules. I know How to crearte a web service for one function module.
    please suggest me How to keep multiple function modules under one Web service.
    Thanks in advance
    Lakshminarayana

    Hi Lakshmi,
    The best way to do it is to assign all the three RFC Enabled FM's to one function group. Later on the top menu in Utilities you get an option to Create a Webservice from a Function Group.
    You can create one single Webservice using all the the 3 FM's.
    I hope this helps.
    Thanks,
    Manu

  • How do I combine several pdf files into one so I can send them as one file.

    how do I combine several pdf files into one so I can send them as one file

    Reader doesn't have that ability. You would need Acrobat.

Maybe you are looking for

  • How do I find out the hard drive memory space on a 2006 MacBook?

    Hey guys, so I have a MacBook that is running IOS X 10.6.8 and is a 2006. I have been wondering how to check your hard drive space since I bought it on Craigslist. I just want to verify how much space this thing has. And also, since i'm 15 i'm lookin

  • Birthday calendar from ical to icloud

    how do i get my birthday calendar on ical to appear on icloud??

  • Material ledger Tables

    Dear All, Issue: Not able to post Good receipt due to the error that material does not exit. Background:  we have activated user exit in material master for material type ZROH and assigned a internal number range to it in MMNR. this user exit will ap

  • Problem with multi row delete

    Hi, I'm new in apex and I tried to build master detail report on some view. Everything is cool but "delete checked" doesn't work. "ORA-20001: Error in multi row delete operation: row= , ORA-06502: PL/SQL: numeric or value error: NULL index table key

  • FI-Accounts Papyable-Document Parking!

    Dear All! I have configured the following in the system for posting of parked document. 1-Workflow variant-4000 2-assigned to company-4000 3-Release Approval Group 4-Release Approval Procedure 5-Slected the Sub Workflow WS10000052 (Standard) 6-Create