Method for checking the encoding of a ROM layout

By detecting the graphic crossover of the storage unit line by line on the ROM layout, automatically extracting the binary code and comparing it with the encoding file, the problems of low efficiency and poor accuracy in the existing technology are solved, and efficient and comprehensive encoding inspection is achieved.

CN114444436BActive Publication Date: 2025-08-05SHANGHAI HUAHONG GRACE SEMICON MFG CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210059219.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-19
Publication Date
2025-08-05
Estimated Expiration
2042-01-19

AI Technical Summary

Technical Problem

In the prior art, the encoding efficiency of checking ROM layouts is low and easy to miss, resulting in poor inspection accuracy.

Method used

By forming a row and column structure on the ROM layout according to the size of the storage unit, using rays to detect the graphic crossover of the storage unit, automatically extracting the binary code and comparing it with the encoded file, line-by-line inspection is realized.

Benefits of technology

It improves inspection efficiency, saves time and costs, and can conduct comprehensive inspections to prevent omissions, improving the accuracy of inspections.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114444436B_ABST
    Figure CN114444436B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for checking the encoding of a ROM layout, comprising: step 1, determining the size of a storage unit in the ROM layout; step 2, selecting a row and drawing a ray from one side of the selected row to the other; step 3, detecting the intersection of the ray and the graphics of each storage unit on the selected row; step 4, extracting the binary code on the selected row based on the detected intersection; step 5, comparing the extracted binary code of the selected row with the corresponding encoding in the encoding file and determining whether the encoding of the selected row is correct based on the comparison result. The present invention can realize automatic inspection, thereby improving inspection efficiency and saving time and cost, and can also realize comprehensive inspection of the encoding of the ROM layout and improve the accuracy of the inspection.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method for manufacturing a semiconductor integrated circuit, and in particular to a method for checking the coding of a read-only memory (ROM) layout. Background Art

[0002] During the ROM design process, each storage unit in the ROM storage array needs to be coded. After coding, the ROM storage array can store fixed data. Figure 1 FIG. 1 is a schematic diagram of a conventional ROM layout generation method. First, a code file 101 is provided, which includes multiple data codes. Next, the generation steps corresponding to the markers 102 are performed to obtain a ROM layout 103. The generation steps corresponding to the markers 102 are also represented by "Generation".

[0003] After the ROM layout 103 is generated, the ROM layout 103 needs to be checked to determine whether the data encoding stored in the storage array of the ROM layout 103 is correct.

[0004] like Figure 2 FIG. 1 is a schematic diagram of observing the ROM layout in the existing method for checking the encoding of the ROM layout; Figure 2 The ROM layout is represented by a mark 103a, and the ROM layout 103a has a storage array 104. The existing method is to check the layout by manual visual inspection. Figure 2 Perform a visual inspection of the storage cells in the area indicated by the double-arrow lines. Manual visual inspection is inefficient, time-consuming, and labor-intensive. Typically, only a few randomly selected areas are inspected, resulting in a high degree of randomness. Furthermore, manual inspections can easily miss areas that may be overlooked, ultimately affecting inspection accuracy. Summary of the Invention

[0005] The technical problem to be solved by the present invention is to provide a method for checking the coding of the ROM layout, which can realize automatic inspection, thereby improving the inspection efficiency and saving time cost, and can also realize comprehensive inspection of the coding of the ROM layout and improve the accuracy of the inspection.

[0006] To solve the above technical problems, the present invention provides a method for checking the encoding of a ROM layout, comprising the following steps:

[0007] Step 1: Determine the size of the storage cells in the ROM layout, wherein the storage cells are arranged in a row and column structure.

[0008] Step 2: Select a row and draw a ray from one side of the selected row to the other.

[0009] Step 3: Detecting the intersection of the ray and the pattern of each of the storage cells on the selected row.

[0010] Step 4: extract the binary code on the selected row according to the detected crossing condition.

[0011] Step 5: Compare the extracted binary code of the selected row with the corresponding code in the coding file and determine whether the code of the selected row is correct based on the comparison result.

[0012] A further improvement is to repeat steps 2 to 5 to detect the codes of all rows in the row and column array.

[0013] A further improvement is that the loop step of detecting the codes of all rows in the row-column array is replaced by:

[0014] Each cycle only cycles steps 2 and 3;

[0015] After steps 2 and 3 for all rows are completed, step 4 is performed to extract the binary codes of all rows, and then step 5 is performed to sequentially compare the binary codes of all rows with the numbers in the encoding file.

[0016] A further improvement is that, in step 1, the row and column structure of the ROM layout is generated according to the encoding file.

[0017] A further improvement is that the selected row in the first loop step is the first row;

[0018] The row number of the selected row in each subsequent loop step increases sequentially.

[0019] A further improvement is that after each loop step is completed, the column step is incremented by 1 to obtain the selected row for the next loop step.

[0020] A further improvement is that, in step 2, the ray is drawn from the left side to the right side of the selected row.

[0021] A further improvement is that, in step 1, in the row-column structure, each of the memory cells in the same row corresponds to a row of word lines, and each of the memory cells in the same column corresponds to a column of bit lines.

[0022] A further improvement is that the memory cell storing information 1 is connected to the corresponding word line through a contact hole and is connected to the corresponding bit line through a contact hole;

[0023] The memory cell storing information 0 has no contact holes connected to the word line and the bit line.

[0024] A further improvement is that, in step 3, the crossover condition includes:

[0025] The storage unit storing information 1 contains a graphic intersecting the ray;

[0026] The storage unit storing information 0 does not have a graphic intersecting with the ray.

[0027] A further improvement is that, in step 4, the binary code on the selected row is composed of storage information of each of the storage cells in the selected row.

[0028] A further improvement is that in step five, the codes in the code file are represented by hexadecimal numbers, and before the comparison, the step of converting the extracted binary code of the selected row into a hexadecimal number is further included.

[0029] A further improvement is that, in step 1, in the ROM layout, the row and column structure further includes a plurality of array spacing areas in a column structure.

[0030] A further improvement is that, in step 2, the ray is realized by drawing on the ROM layout.

[0031] A further improvement is that steps one to five are automatically implemented by a program.

[0032] A further improvement is that the program is implemented by C++ code programming.

[0033] The present invention draws lines on the rows formed by storage cells according to the sizes of the storage cells on the ROM layout, and obtains the coding of each storage cell according to the intersection of the lines and the graphics of each storage cell, thereby extracting the binary code of the corresponding row, i.e., the selected row, and comparing the binary code of the selected row with the coding in the coding file to determine whether the coding of each storage cell is correct; in the present invention, drawing lines, comparing the intersection of the lines and the graphics of the storage cells, extracting the binary code, and comparing the codes can all be automatically achieved, such as by programming, so the present invention can achieve automatic inspection, thereby improving inspection efficiency and saving time costs; compared with the existing method that can only randomly check, the present invention can achieve comprehensive inspection of the coding of the ROM layout through line-by-line inspection, and the comprehensive inspection can prevent omissions, thereby improving the accuracy of the inspection. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments:

[0035] Figure 1 It is a schematic diagram of the existing ROM layout generation method;

[0036] Figure 2It is a schematic diagram of observing the ROM layout in the existing method of checking the encoding of the ROM layout;

[0037] Figure 3 is a flow chart of a method for checking the encoding of a ROM layout according to an embodiment of the present invention;

[0038] Figures 4A-4E It is a schematic diagram of each step of the method for checking the encoding of the ROM layout according to an embodiment of the present invention. DETAILED DESCRIPTION

[0039] like Figure 3 As shown in FIG, it is a flow chart of a method for checking the encoding of a ROM layout according to an embodiment of the present invention; Figures 4A to 4E , which is a schematic diagram of each step of a method for checking the encoding of a ROM layout according to an embodiment of the present invention; the method for checking the encoding of a ROM layout according to an embodiment of the present invention includes the following steps:

[0040] Step 1: Determine the size of the storage cells in the ROM layout. In the ROM layout, the storage cells are arranged in a row and column structure 201 .

[0041] Figure 3 Step S101 in the embodiment is to determine the size of a single cell, where the single cell is a storage unit. Step S101 corresponds to step 1.

[0042] In the embodiment of the present invention, the row and column structure 201 of the ROM layout is generated according to a coding file 207 .

[0043] like Figure 4A As shown, in the row-column structure 201 , each of the memory cells in the same row corresponds to a row of word lines, and each of the memory cells in the same column corresponds to a column of bit lines. Figure 4A In FIG. 2 , bit lines are represented by “Bit”; “Word” represents all word lines. In fact, each row of memory cells corresponds to a word line. A column of memory cells corresponding to a mark 202 corresponds to a bit line. Figure 4A , the storage cells in each column are further represented by Q1, Q2, Q3, Q4, Q5, Q6, Q7 and Q8 respectively.

[0044] The memory cell storing information 1 is connected to the corresponding word line through a contact hole and is connected to the corresponding bit line through a contact hole.

[0045] The memory cell storing information 0 has no contact holes connected to the word line and the bit line.

[0046] In the ROM layout, the row-column structure 201 further includes a plurality of array spacer areas 203 in a column structure. Figure 4AThe array spacing area is also represented by Array spacing.

[0047] Step 2: Figure 4A As shown, a row is selected and a ray 204 is drawn from one side of the selected row to the other side.

[0048] In the embodiment of the present invention, the ray 204 is drawn from the left side to the right side of the selected row.

[0049] Step 2 corresponds to Figure 3 Step S102 in the figure, that is: each row is drawn from left to right with a ray.

[0050] The ray 204 is realized by drawing on the ROM layout.

[0051] Step 3: Detecting the intersection of the ray 204 and the patterns of the storage cells on the selected row.

[0052] In the embodiment of the present invention, the crossover situation includes:

[0053] The storage unit having storage information 1 has a graphic intersecting with the ray 204;

[0054] The storage unit storing information 0 does not have any graphics intersecting with the ray 204 .

[0055] like Figure 4B As shown, the horizontal coordinates x0 to x1 correspond to a column, and the vertical coordinates y0 to y1 correspond to a row. There is a storage cell in the region between the horizontal coordinates x0 to x1 and the vertical coordinates y0 to y1. This storage cell contains a pattern 205 that intersects the ray 204, so the storage information of this storage cell is 1. On the contrary, if this storage cell does not contain a pattern 205 that intersects the ray 204, the storage information of this storage cell is 0.

[0056] Step 3 corresponds to Figure 3 Step S103 in the embodiment is to detect crosses for each code pattern. Each of the storage units is a coded storage unit, so the pattern of each code is the pattern of each of the storage units.

[0057] Step 4: extract the binary code on the selected row according to the detected crossing condition.

[0058] In an embodiment of the present invention, the binary code on the selected row is composed of the storage information of each of the storage cells in the selected row. Figure 4C As shown, after the cross detection of each storage unit on the selected row is completed, the binary code of the selected row corresponding to the dotted box 206 can be obtained. Figure 4CIn the example, the specific value of the binary code 206 is shown as: 10110110.

[0059] Step 5: Compare the extracted binary code of the selected row with the corresponding code in the code file 207 and determine whether the code of the selected row is correct based on the comparison result.

[0060] In the embodiment of the present invention, the codes in the code file 207 are expressed in hexadecimal. Before the comparison, the step of converting the extracted binary code of the selected row into hexadecimal is also included. Figure 4D As shown, the binary code 206 is converted into a hexadecimal number, and the hexadecimal code after the line break is represented by a mark 206a. Figure 4D The value of the hexadecimal code 206a is shown as B6.

[0061] like Figure 4E As shown, the hexadecimal code 206a will be compared with the code also expressed in hexadecimal in the code file 207. Specifically, the selected line is the first line, and the size of the hexadecimal code 206a is B6; Figure 4E In the example, the first line of the encoding file 207 is B6. By marking, it can be found that the encoding of the first line is correct.

[0062] Figure 3 Step S106 in the above process, i.e., comparing the code file with the code file, corresponds to steps 4 and 5.

[0063] The above steps 1 to 5 only describe the detection of the codes of the storage cells in one row; repeating steps 2 to 5 can realize the detection of the codes of all rows in the row and column array.

[0064] In some preferred embodiments, the loop step of detecting the codes of all rows in the row-column array is replaced by:

[0065] Each cycle only cycles steps 2 and 3;

[0066] After Step 2 and Step 3 are completed for all rows, Step 4 is performed to extract the binary codes of all rows, and then Step 5 is performed to sequentially compare the binary codes of all rows with the numbers in the encoding file 207 .

[0067] Figure 3 In the example, step S102 is repeated multiple times, and a ray 204 is drawn for each row.

[0068] After that, multiple cycles are implemented through steps S104 and S105. Step S104 determines whether it is the last row. If it is the last row, step S106 is performed; if it is not the last row, step S105 is performed. Step S105 reads the next row. After reading, step S103 is looped.

[0069] The selected row in the first loop step is the first row. The row numbers of the selected rows in subsequent loop steps are increased in sequence.

[0070] After each loop step is completed, the column step is incremented by 1 to obtain the selected row for the next loop step.

[0071] In the embodiment of the present invention, steps 1 to 5 are automatically implemented by a program.

[0072] The program is implemented by C++ code programming.

[0073] A C++ code segment implemented using the method of the embodiment of the present invention is as follows:

[0074]

[0075] The method of the embodiment of the present invention can be implemented through a few hundred lines of C++ code.

[0076] The embodiment of the present invention draws a line 204 on the rows formed by the storage cells according to the size of the storage cells on the ROM layout, and obtains the coding of each storage cell according to the intersection of the line 204 and the graphics of each storage cell, and thus extracts the binary code of the corresponding row, i.e., the selected row. The binary code of the selected row is compared with the coding in the coding file 207 to determine whether the coding of each storage cell is correct. In the present invention, drawing the line 204, comparing the intersection of the line 204 and the graphics of the storage cells, extracting the binary code, and comparing the coding can all be automatically achieved, such as by programming. Therefore, the embodiment of the present invention can achieve automatic inspection, thereby improving inspection efficiency and saving time cost. Compared with the existing method that can only randomly check, the embodiment of the present invention can achieve comprehensive inspection of the coding of the ROM layout by checking row by row. Comprehensive inspection can prevent omissions, thereby improving the accuracy of inspection.

[0077] The present invention has been described in detail above by means of specific embodiments, but these do not constitute limitations of the present invention. Without departing from the principles of the present invention, those skilled in the art may make many variations and improvements, which should also be considered as the scope of protection of the present invention.

Claims

1. A method for checking the encoding of a ROM layout, characterized in that: The steps include: Step 1: determining the size of the storage cells in the ROM layout, wherein the storage cells are arranged in a row and column structure; Step 2: Select a row and draw a ray from one side of the selected row to the other side; Step 3: detecting the intersection of the ray and the coding pattern of each of the storage cells on the selected row; Step 4: extracting the binary code on the selected row according to the detected crossing condition; Step 5: Compare the extracted binary code of the selected row with the corresponding code in the coding file and determine whether the code of the selected row is correct based on the comparison result.

2. The method for checking the encoding of a ROM layout according to claim 1, wherein: Repeat steps 2 to 5 to detect the codes of all rows in the row-column structure.

3. The method for checking the coding of a ROM layout as claimed in claim 2, wherein: The loop step of detecting the codes of all rows in the row-column structure is replaced by: Each cycle only cycles steps 2 and 3; After steps 2 and 3 for all rows are completed, step 4 is performed to extract the binary codes of all rows, and then step 5 is performed to sequentially compare the binary codes of all rows with the numbers in the encoding file.

4. The method for checking the coding of a ROM layout according to claim 3, wherein: In step 1, the row and column structure of the ROM layout is generated according to the encoding file.

5. The method for checking the coding of a ROM layout according to claim 3, wherein: The selected row in the first loop step is the first row; The row number of the selected row in each subsequent loop step increases sequentially.

6. The method for checking the coding of a ROM layout according to claim 5, wherein: After each loop step is completed, the column step is incremented by 1 to obtain the selected row for the next loop step.

7. The method for checking the encoding of a ROM layout according to claim 5, wherein: In step 2, the ray is drawn from the left side to the right side of the selected row.

8. The method for checking the encoding of a ROM layout according to claim 1, wherein: In step 1, in the row-column structure, each of the memory cells in the same row corresponds to a row of word lines, and each of the memory cells in the same column corresponds to a column of bit lines.

9. The method for checking the encoding of a ROM layout according to claim 8, wherein: The memory cell storing information 1 is connected to the corresponding word line through a contact hole and is connected to the corresponding bit line through a contact hole; The memory cell storing information 0 has no contact holes connected to the word line and the bit line.

10. The method for checking the coding of a ROM layout according to claim 9, wherein: In step 3, the crossover situation includes: The storage unit storing information 1 contains a coding pattern intersecting with the ray; The storage unit storing information 0 does not have a coding pattern intersecting with the ray.

11. The method for checking the encoding of a ROM layout according to claim 10, wherein: In step 4, the binary code on the selected row is composed of the storage information of each of the storage cells in the selected row.

12. The method for checking the coding of a ROM layout according to claim 11, wherein: In step five, the codes in the code file are represented by hexadecimal numbers. Before the comparison, the step further includes converting the extracted binary code of the selected row into a hexadecimal number.

13. The method for checking the coding of a ROM layout according to claim 8, wherein: In step 1, in the ROM layout, the row and column structure further includes a plurality of array spacing areas in a column structure.

14. The method for checking the coding of a ROM layout according to claim 1, wherein: In step 2, the ray is realized by drawing on the ROM layout.

15. The method for checking the coding of a ROM layout according to claim 14, wherein: Steps 1 to 5 are automatically implemented by the program.

Citation Information

Patent Citations

  • Method for encoding a light field content

    CA2998690A1

  • A memory and a method for encoding a layout of the memory

    CN109671451A