Claims
- 1. Apparatus for providing program code for a real time signal processor means having a memory means, and for concurrently generating memory access code for use by a host processor means so that the host processor means can change the contents of the memory of the signal processor means, wherein object code for the signal processor means and the host processor means are separately compiled by a respective signal processor compiler and a host processor compiler, and the signal processor means and the host processor means each include means for interfacing with each other, said apparatus comprising:
- means for describing a block diagram representing a processing task for the signal processor means with a plurality of high level signal processing functional block means and a plurality of connections between said high level signal processing functional block means, each functional block means having a name, at least one of said functional block means having a parameter, and at least one of said functional block means having an indication of being accessible by the host processor means;
- signal processor cell library means containing a plurality of source code blocks, each source code block representing at least a portion of a corresponding high level signal processing functional block means, at least one of said source code blocks containing a named variable for receiving a value for said parameter; and
- signal processor compiler means coupled to said means for describing and to said signal processor cell library means, for analyzing said block diagrm, for obtaining code blocks from said signal processor cell library means needed to implement said block diagram, for associating said named variable with said parameter, and for compiling said code blocks to provide program code and data code for the memory means of the signal processing means, and a correspondence table associating at least one signal processor means memory location with said named cell variable, said correspondence table being for the host processor means such that said correspondence table of a translation thereof is used by the host processor compiler in the compiling of the object code for the host processor means, and the object code for the host processor means causes the host processor means to access the memory location of the signal processor means via the interface means of the host processor means and the signal processor means so that the host processor means can change said parameter value,
- wherein said program code and data code will cause the signal processor means to implement said processing task for the signal processor means, with said program code controlling the functioning of the real time signal processor means, and said data code providing initial parameter values for the signal processor means and initial sample data values for memory locations in the memory means of the signal processor means, and wherein said parameter values represent values of parameters of said functional block means.
- 2. Apparatus according to claim 1, wherein:
- said means for describing a block diagram comprises a high-level computer screen entry system means for choosing, entry, parameterization, and connection of a plurality of said functional block means.
- 3. Apparatus according to claim 2, wherein:
- said means for describing a block diagram further comprises a text editor means.
- 4. Apparatus according to claim 1, wherein:
- said means for describing a block diagram comprises means for representing a processing task for the host processor means with a plurality of high level host processor functional block means and a plurality of connections between said plurality of high level host processor functional block means, each host processor functional block means having a name, wherein said means for describing further comprises means for distinguishing between portions of said block diagram intended for compilation by the signal processor means and portions of said block diagram intended for compilation by the host processor means.
- 5. Apparatus according to claim 1, further comprising:
- means for generating from said program code and said data code signal processor means boot code suitable for compilation by the compiler of the host processor means, wherein the host processor means can use said boot code to boot up the signal processor means.
- 6. Apparatus according to claim 1, further comprising:
- correspondence table translation means for translating said correspondence table generated by the signal processor compiler means into code suitable for compilation by the compiler for the host processor means.
- 7. Apparatus according to claim 5, further comprising:
- correspondence table translation means for translating said correspondence table generated by said signal processor compiler means into code suitable for compilation by the compiler for the host processor means.
- 8. Apparatus according to claim 1, further comprising:
- the signal processor means.
- 9. Apparatus according to claim 8, wherein:
- said signal processor means receives real time data signals from means other than the host processor and external said apparatus, and said signal processor means processes said real time data signals thereby generating processed real time data signals which are available external to said signal processor means, and said signal processor means comprises
- at least one real time data signal receiving means for receiving said real time data signals, each real time data signal receiving means including means for writing data to desired first address locations in a multiported central memory unit in a repeated sequential fashion;
- said multiported central memory unit coupled to said at least one real time data signal receiving means, said multiported central memory unit for storing said received data signals and said data code and comprising the memory means;
- a digital processor means coupled to said multiported central memory unit, for obtaining said real time data signals from said first addresses of said multiported central memory unit, for processing said real time data signals and thereby generating processed data signals, and for sending said processed data signals for storage in second address locations of said multiported central memory unit;
- at least one data output means coupled to said multiported central memory unit, for obtaining in a repeated sequential fashion said processed data signals from said second address locations of said multiported central memory unit, and for making said processed data signals available external to said signal processor means as real time processed data signals,
- said memory means further including program memory means coupled to said digital processor means for storing said program code, wherein said digital processor means processes said real time data signals according to said program code,
- wherein substantially all signal data received by said signal processor means flows through said multiported central memory unit, and wherein said real time data signal receiving means and said output means handle data flow into and out of said signal processor means and permit said digital processor means to function substantially free of data input interrupts.
- 10. Apparatus according to claim 9, wherein:
- said signal processor means further comprises a parallel host port coupled to said program memory means and to said multiported central memory means, wherein said host port comprises the interface to the host processor means.
- 11. Apparatus according to claim 8, further comprising:
- the host processor means.
- 12. Apparatus according to claim 1, further comprising:
- the host processor means.
- 13. Apparatus according to claim 12 wherein:
- said host processor means comprises a microprocessor.
- 14. Method for providing program code for a real time signal processor means having a memory means, and for concurrently generating memory access code for use by a host processor means so that said host processor means can change the contents of the memory of said signal processor means, wherein object code for said signal processor means and said host processor means are separately compiled, and said signal processor means and said host processor means each include means for interfacing with each other, said method comprising:
- describing and representing a processing task for said signal processor means in a block diagram with a plurality of high level signal processing functional block means and a plurality of connections between said high level signal processing functional block means, each functional block means having a name, at least one of said functional block means having a parameter, and at least one of said functional block means having an indication of being accessible by the host processor means;
- providing a signal processor cell library means containing a plurality of source code blocks, each source code block representing at least a portion of a corresponding high level signal processing functional block means, at least one of said source code blocks containing a named variable for receiving a value for said parameter; and
- analyzing said block digram in order to obtain needed code blocks from said signal processor cell library means for implementing said block diagram;
- associating said named variable with said parameter, and
- compiling said code blocks to provide program code and data code for the memory means of the signal processing means, and a correspondence table associating at least one signal processor memory location with said named cell variable,
- providing said correspondence table or a translation thereof for compilation as object code for said host processor means, wherein said correspondence table permits said host processor means to change a parameter value stored as a variable in said memory of said signal processor means.
- 15. A method according to claim 14, further comprising:
- providing said program code and data code to said signal processor, thereby implementing said tasks for said signal processor means, with said program code controlling how said signal processor means functions, and said data code providing initial parameter values for the signal processor means and initial sample data values for memory locations in the memory means of said signal processor means.
- 16. A method according to claim 14, further comprising:
- generating from said program code and said data code signal processor means boot code suitable for compilation by said compiler of said host processor or for direct storage in said host processor.
- 17. A method according to claim 14, further comprising:
- compiling said correspondence table or a translation thereof in said host processor compiler;
- 18. A method according to claim 16, further comprising:
- compiling said correspondence table or a translation thereof in said host processor compiler;
- storing said boot code in said host processor; and
- booting up said signal processor by providing said boot code stored in said host processor to said signal processor.
- 19. An apparatus for coupling a host processor and a programmable signal processor having a memory for storing a program and data so that the host processor has intelligent access to the signal processor memory, said apparatus comprising:
- a) high level programming means for defining signal processor functions, said programming means including means for symbolically indicating host processor access to signal processor functions;
- b) signal processor program compiling means coupled to said programming means for generating signal processor program code which causes said signal processor to implement said signal processor functions and for generating memory access code for the host processor, said memory access code including a correspondence table correlating symbolic indications indicated in said programming means with memory addresses in the signal processor memory;
- c) host processor compiling means for generating host processor program code including reference to at least one of said memory addresses in said correspondence table, said host processor compiling means including means for receiving at least a portion of said memory access code; and
- d) interface means coupling the host processor and the signal processor memory,
- wherein said host processor program code causes the host processor to access the signal processor memory according to said symbolic indications indicated in said programming means.
- 20. Apparatus according to claim 19, wherein:
- said host processor access to the signal processor memory is selected from the group consisting of reading a parameter value, writing a parameter value, reading a data value, writing a data value, reading signal processor program code and writing signal processor program code.
- 21. Apparatus according to claim 19, wherein:
- said symbolic indications of host processor access are selected from the group consisting of reading a parameter value, writing a parameter value, reading a data value, writing a data value, reading signal processor program code, and writing signal processor program code.
- 22. An apparatus according to claim 19, further comprising:
- the host processor.
- 23. An apparatus according to claim 19, further comprising:
- the programmable signal processor.
- 24. An apparatus according to claim 19, further comprising:
- the host processor; and
- the programmable signal processor.
- 25. Apparatus for defining access of a host processor which is interfaced with a programmable signal processor to permit the host processor to partially control the programmable signal processor, where the object codes of the host processor and the signal processor are separately compiled, and the programmable signal processor has a memory for storing the signal processor object code and data, said apparatus comprising:
- a) high level programming means for defining processing tasks for the signal processor, said programming means including means for indicating host processor access to at least a portion of one of said processing tasks; and
- b) signal processor program compiling means coupled to said high level programing means for generating the signal processor object code which implements said processing tasks, and for generating a memory address list for the host processor, said memory address list indicating memory addresses corresponding to the host processor access to said tasks indicated by said high level programming means, said memory address list being read or received by a host processor compiling means.
- 26. Apparatus according to claim 25, wherein:
- said processing tasks include at least one function having a parameter and said host processor access includes supplying a value for said parameter.
- 27. Apparatus according to claim 25, wherein:
- said processing tasks include at least one function having an input and said host processor access includes supplying a value for said input.
- 28. Apparatus according to claim 26, wherein:
- said processing tasks include at least one function having an output and said host processor access includes reading said output and supplying said value of said parameter based on a value of said output.
- 29. Apparatus according to claim 27, wherein:
- said processing tasks include at least one function having an output and said host processor access includes reading said output and supplying said value of said input based on a value of said output.
- 30. An apparatus according to claim 25, further comprising:
- the host processor.
- 31. An apparatus according to claim 25, further comprising:
- the programmable signal processor.
- 32. An apparatus according to claim 25, further comprising:
- the host processor; and
- the programmable signal processor.
RELATED PATENT APPLICATIONS
This is a continuation-in-part of copending Ser. No. 07/217,616 filed Jul. 11, 1988 now U.S. Pat. No. 5,068,823 issued Nov. 26, 1991 which is hereby incorporated by reference in its entirety herein.
This is a continuation-in-part of copending Ser. No. 07/474,742 (also PCT/US89/02986) filed Jul. 10, 1989 which is hereby incorporated by reference in its entirety herein.
This is a continuation-in-part of copending Ser. No. 07/525,977 filed May 18, 1990 now abandoned.
This is a continuation-in-part of copending Ser. No. 07/583,508 filed Sep. 17, 1990 which is hereby incorporated by reference in its entirety herein.
This is a continuation-in-part of copending Ser. No. 08/034,586 filed Mar. 2, 1993 which is hereby incorporated by reference in its entirety herein.
US Referenced Citations (36)
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
217616 |
Jul 1988 |
|