IP Library › Granted Patent US 12,332,781
Granted Patent B2
US 12,332,781 · App. 18/470,111 · Granted Jun 17, 2025

Verification process for bit spreading error resistant memory system

Inventor: Jeffrey E. Robertson (Ashburtn, VA)
Assignee: BAE Systems Information and Electronic Systems Integration Inc.
G06F12/0292G06F11/1044G06F2212/1008
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,332,781
App. No.
18/470,111
Granted
Jun 17, 2025
Kind
B2
Abstract

Techniques are provided for design verification of a bit spreading memory. A methodology implementing the techniques according to an embodiment includes using a bit spreading geometry file to convert a logical address of the memory to a physical address. The geometry file defines a scheme by which bits of a data word stored at the logical address are spread over multiple RAMs. The method also includes writing data bits of a test data word to the physical address, causing a design simulator to simulate a read from the logical address, and comparing the result to the test data word for verification. The method further includes causing the design simulator to simulate a write of the test data word to the logical address, reading data bits from the physical address, arranging the bits into a retrieved data word, and comparing the test data word to the retrieved data word for verification.

Claims (44)

1. A computer program product including one or more non-transitory machine-readable mediums encoded with instructions that when executed by one or more processors cause a process to be carried out for verification of a design of a memory, the process comprising:

using a bit spreading geometry file to convert a logical address of the memory to a physical address, wherein the bit spreading geometry file defines a bit spreading scheme by which data bits of a data word stored at the logical address are stored in a spread fashion over a plurality of random access memories (RAM s) of the memory;

writing data bits of a test data word to the physical address;

causing a design simulator to simulate a read from the logical address; and

comparing a result of the simulated read to the test data word to verify the design of the memory;

wherein the bit spreading geometry file is configured to specify a logical base address of the memory, a size of the memory, and a description of the each of the plurality of RAMs.

2. The computer program product of claim 1 , wherein the process further comprises:

causing the design simulator to simulate a write of the test data word to the logical address;

reading data bits from the physical address;

arranging the data bits to form a retrieved data word; and

comparing the test data word to the retrieved data word to further verify the design of the memory.

3. The computer program product of claim 1 , wherein the description of the each of the plurality of RAMs includes a number of blocks of the RAM, a number of bits of each of the blocks of the RAM, and an identifying label of the RAM.

4. The computer program product of claim 1 , wherein the process iterates over additional logical addresses.

5. The computer program product of claim 1 , wherein the design of the memory is represented as a register transfer level description configured for execution by the design simulator.

6. The computer program product of claim 1 , wherein the process is implemented in Verilog and conforms to a Universal Verification Methodology.

7. A method for verification of a design of a memory, the method comprising:

using, by a processor-based system, a bit spreading geometry file to convert a logical address of the memory to a physical address, wherein the bit spreading geometry file defines a bit spreading scheme by which data bits of a data word stored at the logical address are stored in a spread fashion over a plurality of random access memories (RAMs) of the memory;

writing, by the processor-based system, data bits of a test data word to the physical address;

causing, by the processor-based system, a design simulator to simulate a read from the logical address; and

comparing, by the processor-based system, a result of the simulated read to the test data word to verify the design of the memory;

wherein the bit spreading geometry file is configured to specify a logical base address of the memory, a size of the memory, and a description of the each of the plurality of RAMs.

8. The method of claim 7 , further comprising:

causing the design simulator to simulate a write of the test data word to the logical address;

reading data bits from the physical address;

arranging the data bits to form a retrieved data word; and

comparing the test data word to the retrieved data word to further verify the design of the memory.

9. The method of claim 7 , wherein the description of the each of the plurality of RAMs includes a number of blocks of the RAM, a number of bits of each of the blocks of the RAM, and an identifying label of the RAM.

10. The method of claim 7 , wherein the method iterates over additional logical addresses.

11. The method of claim 7 , wherein the design of the memory is represented as a register transfer level description configured for execution by the design simulator.

12. The method of claim 7 , wherein the method is implemented in Verilog and conforms to a Universal Verification Methodology.

13. A method for verification of a design of a memory, the method comprising:

using, by a processor-based system, a bit spreading geometry file to convert a logical address of the memory to a physical address, wherein the bit spreading geometry file defines a bit spreading scheme by which data bits of a data word stored at the logical address are stored in a spread fashion over a plurality of random access memories (RAMs) of the memory;

causing, by the processor-based system, a design simulator to simulate a write of a test data word to the logical address of the memory;

reading, by the processor-based system, data bits from the physical address;

arranging, by the processor-based system, the data bits to form a retrieved data word; and

comparing, by the processor-based system, the test data word to the retrieved data word to verify the design of the memory;

wherein the bit spreading geometry file is configured to specify a logical base address of the memory, a size of the memory, and a description of the each of the plurality of RAMs.

14. The method of claim 13 , further comprising:

writing data bits of the test data word to the physical address;

causing the design simulator to simulate a read from the logical address; and

comparing a result of the simulated read to the test data word to further verify the design of the memory.

15. The method of claim 13 , wherein the description of the each of the plurality of RAMs includes a number of blocks of the RAM, a number of bits of each of the blocks of the RAM, and an identifying label of the RAM.

16. The method of claim 13 , wherein the method iterates over additional logical addresses.

17. The method of claim 13 , wherein the design of the memory is represented as a register transfer level description configured for execution by the design simulator and the method is implemented in Verilog and conforms to a Universal Verification Methodology.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2023
From: ROBERTSON, JEFFREY E.
To: BAE SYSTEMS INFORMATION AND ELECTRONIC SYSTEMS INTEGRATION INC.
Reel/Frame 064981/0818 →
Continuity (1)
Related Publication 20250094342A1 · Mar 20, 2025
References Cited (23)
US 6941499B1 · Sung et al. · 2005 [cited by applicant]
US 7143332B1 · Trimberger · 2006 [cited by applicant]
US 7353438B2 · Leung et al. · 2008 [cited by applicant]
US 8112730B2 · Aleksanyan et al. · 2012 [cited by applicant]
US 8145961B2 · Arnez et al. · 2012 [cited by applicant]
US 9460811B2 · Braceras et al. · 2016 [cited by applicant]
US 10108512B2 · Halbert et al. · 2018 [cited by applicant]
US 10387276B2 · Ryu et al. · 2019 [cited by applicant]
US 10803971B2 · Pyo et al. · 2020 [cited by applicant]
US 11055173B2 · Ranjan et al. · 2021 [cited by applicant]
US 11309048B2 · Choi et al. · 2022 [cited by applicant]
US 11579969B2 · Yang et al. · 2023 [cited by applicant]
US 20030051197A1 · Evans · 2003 [cited by examiner]
US 20140157088A1 · Chih et al. · 2014 [cited by applicant]
US 20150067448A1 · Son et al. · 2015 [cited by applicant]
US 20200194093A1 · Chen et al. · 2020 [cited by applicant]
US 20210050068A1 · Schat · 2021 [cited by examiner]
US 20220196735A1 · Atsatt et al. · 2022 [cited by applicant]
US 20230186004A1 · Zhu · 2023 [cited by examiner]
EP 0281740A3 · 1990 [cited by applicant]
EP 2287740B1 · 2013 [cited by applicant]
WO WO2013016390A2 · 2013 [cited by applicant]
International Search Report, PCT/US24/47355, mailed Dec. 9, 2024, 9 pages. [cited by applicant]