Claims
- 1. A memory mapping system for mapping at least one memory block from at least one logic device to at least one memory device in a reconfigurable hardware unit, the reconfigurable hardware unit including a conductive connector controller, at least one logic device for modeling at least a portion of a user design in hardware where a hardware model has at least one memory block and associated user memory interface, at least one memory device, a conductive connector subsystem coupling at least one logic device, at least one memory device, and the conductive connector controller, the memory mapping system comprising:a conductive connector driver coupled to the conductive connector subsystem; a memory block interface coupled to the conductive connector driver, the conductive connector subsystem, and the user memory interface to handle write/read memory access between at least one logic device and at least one memory device, wherein said at least one memory device storing the memory blocks associated with the hardware model; and an evaluation logic in each logic device coupled to the hardware model, the conductive connector driver, the memory block interface, and the conductive connector controller for providing evaluation control signals, the evaluation control signals used to evaluate data in the hardware model and to control write/read memory access between at least one logic device and at least one memory device via the conductive connector driver and the memory block interface.
- 2. The system of claim 1, wherein the memory block interface further comprises:a memory converter for interfacing with the user memory interface and converting the user memory type into the type of memory of the memory device in the reconfigurable hardware unit; and a buffer coupled to the conductive connector subsystem, the evaluation logic, and the user memory interface for receiving data from the conductive connector subsystem.
- 3. The system of claim 2, wherein the buffer is a double buffer.
- 4. The system of claim 3 wherein the double buffer further comprises:a first flip-flop having a first data input, a first data output, and a first control input, wherein the first data input is coupled to the conductive connector subsystem for receiving data, the control input coupled to the evaluation logic for receiving evaluation control signals; and a second flip-flop having a second data input, a second data output, and a second control input, wherein the second data input is coupled to the first data output, the second control input is coupled to the evaluation logic for receiving evaluation control signals, and the second data output is coupled to the user memory interface.
- 5. The system of claim 4 wherein the first flip-flop and the second flip-flop are D-type flip-flops.
- 6. The system of claim 5 wherein the first control input receives a read latch signal from the evaluation logic for latching data on the first data output, and the second control input receives a clock enable signal from the evaluation logic to buffer in the data on the second data input to the second data output.
- 7. The system of claim 2 wherein the memory converter further comprises:a memory model for receiving memory address and control signals from the user memory interface to convert the user memory type into the type of memory of the memory device in the reconfigurable hardware unit and outputting a converted control signal and converted address to the conductive connector driver; and an address offset unit for receiving the converted address and generating an offset address to eliminate any overlaps in memory address among the memory blocks, the offset address provided to the conductive connector driver.
- 8. The system of claim 1 wherein the conductive connector driver is a multiplexer having a plurality of mux inputs, a mux control input, and a mux output coupled to the conductive connector subsystem.
- 9. The system of claim 8 wherein the plurality of mux inputs further comprises:a first mux input for providing data associated with DMA read transfer for the hardware-to-software data, a second mux input for providing data associated with DMA read transfer for register read data, a third mux input for data associated with the user memory interface, and a fourth mux input for data associated with memory write data.
- 10. The system of claim 9 wherein the mux control input further comprises a select signal for selecting among the plurality of mux inputs and an output enable signal for enabling the function of the multiplexer.
- 11. The system of claim 1 wherein the evaluation logic includes input control signals including an evaluation signal from the conductive connector controller to control and indicate the activation of data evaluation of at least one logic device, a shiftin signal to indicate that the logic device associated with the evaluation logic will evaluate data, and a write control signal from the memory block interface to control and indicate the activation of a write operation from the logic device to at least one memory device.
- 12. The system of claim 1 wherein the evaluation logic generates evaluation control signals including a shiftout signal to indicate that the logic device associated with the evaluation logic will evaluate the last memory block in the logic device, a read latch signal to the memory block interface to control the reading of data from the memory device to the logic device, conductive connector driver control signals to control the operation of the conductive connector driver, and a plurality of data evaluation signals to evaluate data in the hardware model.
- 13. A simulation system operating in a host computer system for simulating a behavior of a circuit, the host computer system including a central processing unit (CPU), main memory, a local conductive connector coupling the CPU to main memory and allowing communication between the CPU and main memory, and a system conductive connector, the circuit having a structure and a function specified in a hardware language, the hardware language capable of describing the circuit as component types and connections, comprising:a software model of the circuit coupled to the local conductive connector; software control logic coupled to the software model and a hardware logic element, for controlling the operation of the software model and said software control logic including interface logic which is capable of receiving input data and a clock signal from an external process, and clock detection logic for detecting an active edge of the clock signal and generating a trigger signal; and said hard logic element coupled to the system conductive connector and including a system conductive connector controller, a hardware model conductive connector coupled to the system conductive connector controller, at least one logic device and at least one memory device coupled to the hardware model conductive connector, a hardware model of at least a portion of the circuit residing in at least one logic device, the hardware logic element including clock enable logic for evaluating data in the hardware model in response to the trigger signal, and a memory mapping system for mapping at least one memory block associated with the circuit in the hardware model from at least one logic device to at least one memory device.
- 14. The system of claim 13 wherein the memory mapping system further comprises:a conductive connector driver coupled to the hardware model conductive connector; a memory block interface for each memory block, the memory block interface coupled to the conductive connector drive, the hardware model conductive connector, and the hardware model to handle write/read memory access between at least one logic device and at least one memory device, wherein said at least one memory device storing the memory blocks associated with the hardware model; and an evaluation logic in each logic device coupled to the hardware model, the conductive connector device, the memory block interface, and the system conductive connector controller for providing evaluation control signals, the evaluation control signals used to evaluate data in the hardware model and to control write/read memory access between at least one logic device and at least one memory device via the conductive connector driver and the memory block interface.
- 15. The system of claim 14, wherein the memory block interface further comprises:a memory converter for interfacing with the hardware model and converting the user memory type into the type of memory of the memory device in the hardware logic element; and a double buffer coupled to the hardware model conductive connector, the evaluation logic, and the hardware model for receiving data from the hardware model conductive connector.
- 16. The system of claim 15 wherein the double buffer further comprises:a first flip-flop having a first data input, a first data output, and a first control input, wherein the first data input is coupled to the conductive connector subsystem for receiving data, the control input coupled to the evaluation logic for receiving evaluation control signals; and a second flip-flop having a second data input, a second data output, and a second control input, wherein the second data input is coupled to the first data output, the second control input is coupled to the evaluation logic for receiving evaluation control signals including the trigger signal, and the second data output is coupled to the user memory interface.
- 17. A memory mapping system for mapping at least one memory block from at least one logic device to at least one memory device in a reconfigurable hardware unit, the reconfigurable hardware unit including an interconnect controller, at least one logic device for modeling at least a portion of the user design in hardware where the hardware model has at least one memory block and associated user memory interface, at least one memory device, an interconnect subsystem coupling at least one logic device, at least one memory device, and the interconnect controller, the memory mapping system comprising:an interconnect driver coupled to the interconnect subsystem; a memory block interface coupled to the interconnect driver, the interconnect subsystem, and the user memory interface to handle write/read memory access between at least one logic device and at least one memory device, wherein said at least one memory device storing the memory blocks associated with the hardware model; and an evaluation logic in each logic device coupled to the hardware model, the interconnect driver, the memory block interface, and the interconnect controller for providing evaluation control signals, the evaluation control signals used to evaluate data in the hardware model and to control write/read memory access between at least one logic device and at least one memory device via the interconnect driver and the memory block interface.
- 18. The system of claim 17, wherein the memory block interface further comprises:a memory converter for interfacing with the user memory interface and converting the user memory type into the type of memory of the memory device in the reconfigurable hardware unit; and a buffer coupled to the interconnect subsystem, the evaluation logic, and the user memory interface for receiving data from the interconnect subsystem.
- 19. The system of claim 18, wherein the buffer is a double buffer.
- 20. The system of claim 19 wherein the double buffer further comprises:a first flip-flop having a first data input, a first data output, and a first control input, wherein the first data input is coupled to the interconnect subsystem for receiving data, the control input coupled to the evaluation logic for receiving evaluation control signals; and a second flip-flop having a second data input, a second data output, and a second control input, wherein the second data input is coupled to the first data output, the second control input is coupled to the evaluation logic for receiving evaluation control signals, and the second data output is coupled to the user memory interface.
- 21. The system of claim 20 wherein the first flip-flop and the second flip-flop are D-type flip-flops.
- 22. The system of claim 21 wherein the first control input receives a read latch signal from the evaluation logic for latching data on the first data input, and the second control input receives a clock enable signal from the evaluation logic to buffer in the data on the second data input to the second data output.
- 23. The system of claim 18 wherein the memory converter further comprises:a memory model for receiving memory address and control signals from the user memory interface to converting the user memory type into the type of memory of the memory device in the reconfigurable hardware unit and outputing a converted control signal to the interconnect driver and converted address; and an address offset unit for receiving the converted address and generating an offset address to eliminate any overlaps in memory address among the memory blocks, the offset address provided to the interconnect driver.
- 24. The system of claim 17 wherein the interconnect driver is a multiplexer having a plurality of mux inputs, a mux control input, and a mux output coupled to the interconnect subsystem.
- 25. The system of claim 24 wherein the plurality of mux inputs further comprises:a first mux input for providing data associated with DMA read transfer for the hardware-to-software data, a second mux intput for providing data associated with DMA read transfer for register read data, a third mux intput for data associated with the user memory interface, and a fourth mux intput for data associated with memory write data.
- 26. The system of claim 25 wherein the mux control input further comprises a select signal for selecting among the plurality of mux inputs and an output enable signal for enabling the function of the multiplexer.
- 27. The system of claim 17 wherein the evaluation logic includes input control signals including an evaluation signal from the interconnect controller to control and indicate the activation of data evaluation of at least one logic device, a shiftin signal to indicate that the logic device associated with the evaluation logic will evaluate data, and a write control signal from the memory block interface to control and indicate the activation of a write operation from the logic device to at least one memory device.
- 28. The system of claim 17 wherein the evaluation logic generates evaluation control signals including a shiftout signal to indicate that the logic device associated with the evaluation logic will evaluate the last memory block in the logic device, a read latch signal to the memory block interface to control the reading of data from the memory device to the logic device, interconnect driver control signals to control the operation of the interconnect driver, and a plurality of data evaluation signals to evaluate data in the hardware model.
RELATED U.S. APPLICATION
This is a continuation of U.S. patent application Ser. No. 09/918,600, filed Jul. 30, 2001, entitled, “Behavior Processor System and Method”; which is a continuation-in-part of U.S. patent application Ser. No. 09/900,124, filed Jul. 6, 2001, entitled “Inter-Chip Communication System”; which is a continuation-in-part of U.S. patent application Ser. No. 09/373,014, filed Aug. 11, 1999, entitled “VCD-on-Demand System and Method”; which is a continuation-in-part of U.S. patent application Ser. No. 09/144,222, filed Aug. 31, 1998, entitled “Timing-Insensitive and Glitch-Free Logic System and Method”, now U.S. Pat. No. 6,321,366 Issue Nov. 20, 2001.
US Referenced Citations (3)
Non-Patent Literature Citations (2)
| Entry |
| Desmet, et al., “Operating System based Software Generation for Systems-on-Chip”, Proceedings of the 37th ACM/IEEE Design Automation Conference, 2000, pp. 396-401. |
| PCT International Search Report (PCT Article 18 and Rules 43 and 44), 16503-302501; PCT/US01/31794; Oct. 05, 2001, Applicant: Axis Systems, Inc., (4 pages). |
Continuations (1)
|
Number |
Date |
Country |
| Parent |
09/918600 |
Jul 2001 |
US |
| Child |
09/954275 |
|
US |
Continuation in Parts (3)
|
Number |
Date |
Country |
| Parent |
09/900124 |
Jul 2001 |
US |
| Child |
09/918600 |
|
US |
| Parent |
09/373014 |
Aug 1999 |
US |
| Child |
09/900124 |
|
US |
| Parent |
09/144222 |
Aug 1998 |
US |
| Child |
09/373014 |
|
US |