Methods And Systems For Managing Memory Blocks Of Semiconductor Devices In Embedded Systems

Wipro Limited
Granted App No 201641026542 Patent 434276 Computer Science

Patent information

IP India · live record
Application number
201641026542
Filing date
03 August 2016
Status
Granted
Legal status
Inforce
Publication number
34/2016
Publication type
INA
Invention field
Computer Science
Patent number
434276
Grant date
09 June 2023
Next renewal due
03 August 2026Overdue

Abstract

A method of mapping target design memory blocks to embedded memory blocks in a semiconductor device of an embedded system is disclosed. The method includes categorizing a plurality target design memory blocks based on memory operation patterns into one of an overlapping category and a non-overlapping category; identifying a set of target design memory blocks that satisfy capacity criteria of a single embedded memory block in the semiconductor device, each target design memory block in the set is identified from either the overlapping category or the non-overlapping category; designing semiconductor device components to be created on the semiconductor device based on one of the overlapping category and the non-overlapping category, which the set of target design memory blocks is associated with; implementing the set of target design memory blocks and the semiconductor device components onto the single embedded memory block of the semiconductor device. Figure 3

Applicants

1
India
WIPRO LIMITED Doddakannelli, Sarjapur Road, Bangalore 560035, Karnataka, India.

Inventors

1
India
KODAVALLA VIJAY KUMARFlat 107, Keerti Royale Apartment, Banaswadi Ring Road, Bangalore-560043, Karnataka, India.

Claims

22
1 A method of mapping target design memory blocks to embedded memory blocks in a semiconductor device of an embedded system, the method comprising: categorizing, via an Electronic Design Automation (EDA) tool, a plurality target design memory blocks based on memory operation patterns into one of an overlapping category and a non-overlapping category, the overlapping category comprising target design memory blocks having overlapping memory operations and the non-overlapping category comprising target design memory blocks having non-overlapping memory operation; identifying, via the EDA tool, a set of target design memory blocks from the plurality of target design memory blocks that satisfy capacity criteria of a single embedded memory block in the semiconductor device, wherein each target design memory block in the set is identified from the same category selected from one of the overlapping category and the non-overlapping category; designing, via the EDA tool, semiconductor device components to be created on the semiconductor device based on one of the overlapping category and the non-overlapping category, which the set of target design memory blocks is associated with; and implementing, via the EDA tool, the set of target design memory blocks and the semiconductor device components onto the single embedded memory block of the semiconductor device.
2 The method of claim 1 further comprising: classifying the plurality of target design memory blocks based on capacity requirements, capacity requirement of a target design memory block comprising depth and width requirement of the target design memory block; and classifying a plurality of embedded memory blocks in the semiconductor device based on associated capacities, capacity of an embedded memory block comprising width and depth of the embedded memory block, the plurality of embedded memory blocks comprising the single embedded memory block.
3 The method of claim 2, wherein the set of target design memory blocks is identified in response to classifying the plurality of target design memory blocks and the plurality of embedded memory blocks in the semiconductor device.
4 The method of claim 1, wherein the capacity criteria of the single embedded memory block in the semiconductor device, comprise combined width of memory blocks in the set of target design memory blocks being less than or equal to width of the single embedded memory block in the semiconductor device and combined depth of the memory blocks in the set of target design memory blocks being less than or equal to depth of the single embedded memory block in the semiconductor device.
5 The method of claim 1, wherein the memory operations comprise read and write operations.
6 The method of claim 1, wherein each of the target design memory blocks in the overlapping category comprise same clock for write memory operations and same clock for read memory operations.
7 The method of claim 1, wherein the semiconductor device components are selected from a group comprising multiplexer, de-multiplexer, sequential elements, and combinatorial gates.
8 The method of claim 1, wherein number and placement of the semiconductor device components corresponds to one of the overlapping and the non-overlapping category, which the set of target design memory blocks is associated with.
9 The method of claim 1, wherein implementing comprises: placing the set of target design memory blocks and the semiconductor device components on the single embedded memory block; and performing routing in the semiconductor device in response to the placing, wherein routing accommodates the placed set of target design memory blocks and the placed semiconductor device components.
10 The method of claim 1, wherein the semiconductor device comprises Field Programmable Gate Array (FPGA), Application Specific Integrated Circuit (ASIC), Application Specific Standard Part (ASSP), System on Chip (SoC), and System on Programmable Chip (SoPC).
11 A method of mapping target design memory blocks to embedded memory blocks in a semiconductor device of an embedded system, the method comprising: categorizing, via an Electronic Design Automation (EDA) tool, a set of target design memory blocks into overlapping memory operation patterns and non-overlapping memory operations patterns; and implementing, via the EDA tool, the set of target design memory blocks to a single embedded memory block of the semiconductor device based on the categorizing.
12 The method of claim 11, wherein the memory operations comprise a read operation and a write operation.
13 The method of claim 11, wherein the embedded system comprises a Field Programmable Gate Array (FPGA), Application Specific Integrated Circuit (ASIC), Application Specific Standard Part (ASSP), System on Chip (SoC), and System on Programmable Chip (SoPC).
14 The method of claim 11, wherein the set of target design memory blocks satisfy the capacity criteria for the single embedded memory block.
15 The method of claim 14, wherein the capacity criteria of the single embedded memory block comprise combined width of memory blocks in the set of target design memory blocks being less than or equal to width of the single embedded memory block in the semiconductor device and combined depth of the memory blocks in the set of target design memory blocks being less than or equal to depth of the single embedded memory block in the semiconductor device.
16 The method of claim 11 further comprising designing embedded system components to be created on the embedded system to implement the set of design memory blocks to the single embedded memory block.
17 A system for mapping target design memory blocks to embedded memory blocks in a semiconductor device of an embedded system, the system comprising: at least one processors; and a computer-readable medium storing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising: categorizing a plurality target design memory blocks based on memory operation patterns into one of an overlapping category and a non-overlapping category, the overlapping category comprising target design memory blocks having overlapping memory operations and the non-overlapping category comprising target design memory blocks having non-overlapping memory operation; identifying a set of target design memory blocks from the plurality of target design memory blocks that satisfy capacity criteria of a single embedded memory block in the semiconductor device, wherein each target design memory block in the set is identified from the same category selected from one of the overlapping category and the non-overlapping category; designing semiconductor device components to be created on the semiconductor device based on one of the overlapping category and the non-overlapping category, which the set of target design memory blocks is associated with; and implementing the set of target design memory blocks and the semiconductor device components onto the single embedded memory block of the semiconductor device.
18 The system of claim 17, wherein the operations further comprise: classifying the plurality of target design memory blocks based on capacity requirements, capacity requirement of a target design memory block comprising depth and width requirement of the target design memory block; and classifying a plurality of embedded memory blocks in the semiconductor device based on associated capacities, capacity of an embedded memory block comprising width and depth of the embedded memory block, the plurality of embedded memory blocks comprising the single embedded memory block.
19 The system of claim 17, wherein the capacity criteria of the single embedded memory block in the semiconductor device, comprise combined width of memory blocks in the set of target design memory blocks being less than or equal to width of the single embedded memory block in the semiconductor device and combined depth of the memory blocks in the set of target design memory blocks being less than or equal to depth of the single embedded memory block in the semiconductor device.
20 The system of claim 17, wherein each of the target design memory blocks in the overlapping category comprise same clock for write memory operations and same clock for read memory operations.
21 The system of claim 17, wherein number and placement of the semiconductor device components corresponds to one of the overlapping and the non-overlapping category, which the set of target design memory blocks is associated with.
22 The system of claim 17, wherein the operation of implementing further comprises operations of: placing the set of target design memory blocks and the semiconductor device components on the single embedded memory block; and performing routing in the semiconductor device in response to the placing, wherein routing accommodates the placed set of target design memory blocks and the placed semiconductor device components. Dated this 3rd day of August, 2016 R Ramya Rao Of K&S Partners Agent for the Applicant , Description:TECHNICAL FIELD This disclosure relates generally to embedded systems and more particularly to methods and systems for managing memory blocks of semiconductor devices in embedded systems.

Specification

Show full textCollapse

Claims:WE CLAIM 1. A method of mapping target design memory blocks to embedded memory blocks in a semiconductor device of an embedded system, the method comprising: categorizing, via an Electronic Design Automation (EDA) tool, a plurality target design memory blocks based on memory operation patterns into one of an overlapping category and a non-overlapping category, the overlapping category comprising target design memory blocks having overlapping memory operations and the non-overlapping category comprising target design memory blocks having non-overlapping memory operation; identifying, via the EDA tool, a set of target design memory blocks from the plurality of target design memory blocks that satisfy capacity criteria of a single embedded memory block in the semiconductor device, wherein each target design memory block in the set is identified from the same category selected from one of the overlapping category and the non-overlapping category; designing, via the EDA tool, semiconductor device components to be created on the semiconductor device based on one of the overlapping category and the non-overlapping category, which the set of target design memory blocks is associated with; and implementing, via the EDA tool, the set of target design memory blocks and the semiconductor device components onto the single embedded memory block of the semiconductor device. 2. The method of claim 1 further comprising: classifying the plurality of target design memory blocks based on capacity requirements, capacity requirement of a target design memory block comprising depth and width requirement of the target design memory block; and classifying a plurality of embedded memory blocks in the semiconductor device based on associated capacities, capacity of an embedded memory block comprising width and depth of the embedded memory block, the plurality of embedded memory blocks comprising the single embedded memory block. 3. The method of claim 2, wherein the set of target design memory blocks is identified in response to classifying the plurality of target design memory blocks and the plurality of embedded memory blocks in the semiconductor device. 4. The method of claim 1, wherein the capacity criteria of the single embedded memory block in the semiconductor device, comprise combined width of memory blocks in the set of target design memory blocks being less than or equal to width of the single embedded memory block in the semiconductor device and combined depth of the memory blocks in the set of target design memory blocks being less than or equal to depth of the single embedded memory block in the semiconductor device. 5. The method of claim 1, wherein the memory operations comprise read and write operations. 6. The method of claim 1, wherein each of the target design memory blocks in the overlapping category comprise same clock for write memory operations and same clock for read memory operations. 7. The method of claim 1, wherein the semiconductor device components are selected from a group comprising multiplexer, de-multiplexer, sequential elements, and combinatorial gates. 8. The method of claim 1, wherein number and placement of the semiconductor device components corresponds to one of the overlapping and the non-overlapping category, which the set of target design memory blocks is associated with. 9. The method of claim 1, wherein implementing comprises: placing the set of target design memory blocks and the semiconductor device components on the single embedded memory block; and performing routing in the semiconductor device in response to the placing, wherein routing accommodates the placed set of target design memory blocks and the placed semiconductor device components. 10. The method of claim 1, wherein the semiconductor device comprises Field Programmable Gate Array (FPGA), Application Specific Integrated Circuit (ASIC), Application Specific Standard Part (ASSP), System on Chip (SoC), and System on Programmable Chip (SoPC). 11. A method of mapping target design memory blocks to embedded memory blocks in a semiconductor device of an embedded system, the method comprising: categorizing, via an Electronic Design Automation (EDA) tool, a set of target design memory blocks into overlapping memory operation patterns and non-overlapping memory operations patterns; and implementing, via the EDA tool, the set of target design memory blocks to a single embedded memory block of the semiconductor device based on the categorizing. 12. The method of claim 11, wherein the memory operations comprise a read operation and a write operation. 13. The method of claim 11, wherein the embedded system comprises a Field Programmable Gate Array (FPGA), Application Specific Integrated Circuit (ASIC), Application Specific Standard Part (ASSP), System on Chip (SoC), and System on Programmable Chip (SoPC). 14. The method of claim 11, wherein the set of target design memory blocks satisfy the capacity criteria for the single embedded memory block. 15. The method of claim 14, wherein the capacity criteria of the single embedded memory block comprise combined width of memory blocks in the set of target design memory blocks being less than or equal to width of the single embedded memory block in the semiconductor device and combined depth of the memory blocks in the set of target design memory blocks being less than or equal to depth of the single embedded memory block in the semiconductor device. 16. The method of claim 11 further comprising designing embedded system components to be created on the embedded system to implement the set of design memory blocks to the single embedded memory block. 17. A system for mapping target design memory blocks to embedded memory blocks in a semiconductor device of an embedded system, the system comprising: at least one processors; and a computer-readable medium storing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising: categorizing a plurality target design memory blocks based on memory operation patterns into one of an overlapping category and a non-overlapping category, the overlapping category comprising target design memory blocks having overlapping memory operations and the non-overlapping category comprising target design memory blocks having non-overlapping memory operation; identifying a set of target design memory blocks from the plurality of target design memory blocks that satisfy capacity criteria of a single embedded memory block in the semiconductor device, wherein each target design memory block in the set is identified from the same category selected from one of the overlapping category and the non-overlapping category; designing semiconductor device components to be created on the semiconductor device based on one of the overlapping category and the non-overlapping category, which the set of target design memory blocks is associated with; and implementing the set of target design memory blocks and the semiconductor device components onto the single embedded memory block of the semiconductor device. 18. The system of claim 17, wherein the operations further comprise: classifying the plurality of target design memory blocks based on capacity requirements, capacity requirement of a target design memory block comprising depth and width requirement of the target design memory block; and classifying a plurality of embedded memory blocks in the semiconductor device based on associated capacities, capacity of an embedded memory block comprising width and depth of the embedded memory block, the plurality of embedded memory blocks comprising the single embedded memory block. 19. The system of claim 17, wherein the capacity criteria of the single embedded memory block in the semiconductor device, comprise combined width of memory blocks in the set of target design memory blocks being less than or equal to width of the single embedded memory block in the semiconductor device and combined depth of the memory blocks in the set of target design memory blocks being less than or equal to depth of the single embedded memory block in the semiconductor device. 20. The system of claim 17, wherein each of the target design memory blocks in the overlapping category comprise same clock for write memory operations and same clock for read memory operations. 21. The system of claim 17, wherein number and placement of the semiconductor device components corresponds to one of the overlapping and the non-overlapping category, which the set of target design memory blocks is associated with. 22. The system of claim 17, wherein the operation of implementing further comprises operations of: placing the set of target design memory blocks and the semiconductor device components on the single embedded memory block; and performing routing in the semiconductor device in response to the placing, wherein routing accommodates the placed set of target design memory blocks and the placed semiconductor device components.

Dated this 3rd day of August, 2016

R Ramya Rao Of K&S Partners Agent for the Applicant , Description:TECHNICAL FIELD This disclosure relates generally to embedded systems and more particularly to methods and systems for managing memory blocks of semiconductor devices in embedded systems.

Documents

Sign in to open
Application documents
1 Form 9 [03-08-2016(online)].pdf_101.pdf 03 Aug 2016
2 Form 9 [03-08-2016(online)].pdf 03 Aug 2016
3 Form 5 [03-08-2016(online)].pdf 03 Aug 2016
4 Form 3 [03-08-2016(online)].pdf 03 Aug 2016
5 Form 18 [03-08-2016(online)].pdf_100.pdf 03 Aug 2016
6 Form 18 [03-08-2016(online)].pdf 03 Aug 2016
7 Drawing [03-08-2016(online)].pdf 03 Aug 2016
8 Description(Complete) [03-08-2016(online)].pdf 03 Aug 2016
9 REQUEST FOR CERTIFIED COPY [06-08-2016(online)].pdf 06 Aug 2016
10 Form 26 [10-08-2016(online)].pdf 10 Aug 2016
11 abstract201641026542 .jpg 10 Aug 2016
12 201641026542-Power of Attorney-160816.pdf 06 Sep 2016
13 201641026542-Correspondence-PA-160816.pdf 06 Sep 2016
14 REQUEST FOR CERTIFIED COPY [09-12-2016(online)].pdf 09 Dec 2016
15 Form 3 [20-12-2016(online)].pdf 20 Dec 2016
16 PROOF OF RIGHT [08-06-2017(online)].pdf 08 Jun 2017
17 Correspondence by Agent_Form30 And Form1_12-06-2017.pdf 12 Jun 2017
18 201641026542-REQUEST FOR CERTIFIED COPY [31-10-2017(online)].pdf 31 Oct 2017
19 201641026542-FER.pdf 25 Feb 2020
20 201641026542-PETITION UNDER RULE 137 [03-08-2020(online)].pdf 03 Aug 2020
21 201641026542-FORM 3 [03-08-2020(online)].pdf 03 Aug 2020
22 201641026542-FER_SER_REPLY [03-08-2020(online)].pdf 03 Aug 2020
23 201641026542-US(14)-HearingNotice-(HearingDate-22-05-2023).pdf 19 Apr 2023
24 201641026542-POA [28-04-2023(online)].pdf 28 Apr 2023
25 201641026542-FORM 13 [28-04-2023(online)].pdf 28 Apr 2023
26 201641026542-Correspondence to notify the Controller [28-04-2023(online)].pdf 28 Apr 2023
27 201641026542-AMENDED DOCUMENTS [28-04-2023(online)].pdf 28 Apr 2023
28 201641026542-Written submissions and relevant documents [06-06-2023(online)].pdf 06 Jun 2023
29 201641026542-PETITION UNDER RULE 137 [06-06-2023(online)].pdf 06 Jun 2023
30 201641026542-FORM 3 [06-06-2023(online)].pdf 06 Jun 2023
31 201641026542-PatentCertificate09-06-2023.pdf 09 Jun 2023
32 201641026542-IntimationOfGrant09-06-2023.pdf 09 Jun 2023
Search strategy
12021-02-2613-39-16AE_26-02-2021.pdf
22020-02-2415-11-49_24-02-2020.pdf

ERegister / renewals

Inforce
3rd Renewed 02 Sep 2023 Period 03 Aug 2018 – 03 Aug 2019 · CBR 39680 · Certificate 74663 ₹4,000
4th Renewed 02 Sep 2023 Period 03 Aug 2019 – 03 Aug 2020 · CBR 39680 · Certificate 74664 ₹4,000
5th Renewed 02 Sep 2023 Period 03 Aug 2020 – 03 Aug 2021 · CBR 39680 · Certificate 74665 ₹4,000
6th Renewed 02 Sep 2023 Period 03 Aug 2021 – 03 Aug 2022 · CBR 39680 · Certificate 74666 ₹4,000
7th Renewed 02 Sep 2023 Period 03 Aug 2022 – 03 Aug 2023 · CBR 39680 · Certificate 74667 ₹12,000
8th Renewed 02 Sep 2023 Period 03 Aug 2023 – 03 Aug 2024 · CBR 39680 · Certificate 74668 ₹12,000
9th Renewed 01 Aug 2024 Period 03 Aug 2024 – 03 Aug 2025 · CBR 48892 · Certificate 134942 ₹12,000
10th Renewed 01 Aug 2025 Period 03 Aug 2025 – 03 Aug 2026 · CBR 45398 · Certificate 56765 ₹12,000