Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
328 views

Verification of Dual Port RAM Using System Verilog and UVM: A Review

Dual-port RAM place a prominent role in the field of SoC design. Verification of these memories are much more important while designing a complex system. As the rapid developments taken place in verification techniques, System Verilog and UVM (universal verification methodology) takes a higher priority. Because assertion-based coverage can be done using System Verilog and reusability can be achieved by UVM.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
328 views

Verification of Dual Port RAM Using System Verilog and UVM: A Review

Dual-port RAM place a prominent role in the field of SoC design. Verification of these memories are much more important while designing a complex system. As the rapid developments taken place in verification techniques, System Verilog and UVM (universal verification methodology) takes a higher priority. Because assertion-based coverage can be done using System Verilog and reusability can be achieved by UVM.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

9 III March 2021

https://doi.org/10.22214/ijraset.2021.33473
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.429
Volume 9 Issue III Mar 2021- Available at www.ijraset.com

Verification of Dual Port RAM using System


Verilog and UVM: A Review
Anand1, Geethashree2
1, 2
ECE Department (VLSI Design and Embedded systems), PES College of Engineering Mandya, Karnataka (India)

Abstract: Dual-port RAM place a prominent role in the field of SoC design. Verification of these memories are much more
important while designing a complex system. As the rapid developments taken place in verification techniques, System Verilog
and UVM (universal verification methodology) takes a higher priority. Because assertion-based coverage can be done using
System Verilog and reusability can be achieved by UVM. In this paper, we are analysing the verification of dual port RAM under
System Verilog and UVM environment.
Keywords: System Verilog, environment, coverage, assertion, UVM.

I. INTRODUCTION
According to recent advancements in the field of multiprocessor, dual port RAM place a major role, it is widely used due to its
interesting characteristics over single port RAM. DPRAM supports simultaneous access of read/write from or to both the ports [1].
In ASIC applications, on chip shared memories are heavily used, because of their high speed and high level of integration. In the
same way multi-port SRAM compilers are developed to give acknowledgement to these requirements. Ramgen developed a
DPSRAM, which provides design flexibility, high performance and it can be easily implemented in an ASIC design framework [18].
Dual port SRAM consist of two ports it’s a clock controlled static RAM; each port has the ability to read/write. One port can
dedicate to write operation and the other port for read operation this type of RAM is called as simple dual port RAM. Read/write
modes of DPRAM is controlled by write enable signal “WE” [4]. In SoC design flow, design verification is noted as most important
task. Verification places a major role; it takes almost 70 to 80 % of the time of overall SoC design process. Verification is a process
of verifying the design, which is working correct or not with respect to specification. Verification process is not worried about
additional design code, which does not have any affect over correctness of the design. More power can be consumed be these
additional design code, and also it is not in the given specification [17].
System on chip is a combination of microprocessor/computer or any other electronic devices which may includes CPU, memory,
input output devices, communication buses. Proper verification should be done before tape-out, otherwise it can lead to the
unnecessary wastage of time and cost of the whole design [19]. Today, area of developing integrated circuits is growing rapidly.
Simultaneously complexity of the IC design is also increasing and it leads to difficulty in verifying them. In the entire design and
development, verification takes 70% of the workload. Earlier verification methods are not sufficient to meet the current
requirements of verification. Various verification methodologies are developed to improve the efficiency of verification and to
reduce the complexity. Universal verification methodology (UVM) is one of the recent verification methodologies which is widely
used now a days. UVM is developed from OVM (open verification methodology) and also it inherits some properties of VMM
(verification methodology manual) [14].
This paper is categorized as fallows. Section 2 has details of dual port RAM. Verification environment of System Verilog and UVM
are discussed in section 3. Section 4, talk about result analysis and fallowed by conclusion in section 5.

II. DUAL PORT RAM


Over a period of advancements in the SoC products, necessary to have a high speed and low power memory to enhance the storage
capability. Static Random-Access memory (SRAM) is the one which is largely used for SoC design. To increase the speed of
execution, demand towards multi-port SRAM increases. Parallel operations can be done using multi-port SRAM, so that the total
performance of the chip will increase [20]. DPRAM supports arbitrary access of the memory, as the name says it has two ports, each
port can perform read/write operations simultaneously, it can be done through synchronously or asynchronously. DPRAM supports
three operating modes: pipelined mode, flow through mode and moreover impact or burst mode of operation [1].

©IJRASET: All Rights are Reserved 1292


International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.429
Volume 9 Issue III Mar 2021- Available at www.ijraset.com

Fig.1. Block diagram of Synchronous DPRAM in coprocessor architecture: -

III. VERIFICATION ENVIRONMENT


A. System Verilog environment
System Verilog is a kind of standard hardware description language, it is well known as hardware description verification language.
By making use of System Verilog, it is possible to design, simulate, test, and finally we can implement electronic circuits. System
Verilog is an advanced version of IEEE 1364 verilog-2001 standard. It has the properties which are inherited by Verilog HDL,
VHDL, C and C++. System Verilog verification environment consists of set of components, DUT (design under test) is verified
under this environment [19].

Fig.2. Hierarchy of System Verilog

System Verilog components are as follows: -


1) Test: It is responsible for generator behaviour.
2) Generator: To create random stimulus or to generate testcases.
3) Agent: A set of stimuli is collected and forwarded to specific interface.
4) Driver: It drives the stimulus from agent to design under test (DUT).
5) Monitor: Monitors DUT interface and forward transaction to higher layer.
6) Scoreboard: It compares the actual output with expected output/reference value.
7) Assertions: Assertions are used to validate the behaviour of a system properties.
8) Functional coverage: Measures how much % of features are covered.

Fig.3. System Verilog verification environment of dual port RAM

©IJRASET: All Rights are Reserved 1293


International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.429
Volume 9 Issue III Mar 2021- Available at www.ijraset.com

B. Universal Verification Methodology


Now a days UVM is the widely used verification methodology because it provides reusability property. Due to many reasons like
unpredictable designs of products, time to market and workload on verification process requires a reusable testbenches. Coverage
driven verification (CDV) is carried by UVM with the use of reusable testbench. UVM have well-structured class libraries which
are used while designing the well-constructed, reusable testbench [14].
UVM consists of three main classes:
1) UVM-Object
2) UVM-Transaction
3) UVM-Component

Fig.4. UVM verification environment of dual port RAM

a) Test: It is the topmost class and it handles the testbench.


b) Environment: Higher level components are grouped here.
c) Agent: It will group the UVM components and then forward it to specific interface.
d) Driver: Drives the packet level data which is available inside the sequence-item into pin level (DUT).
e) Monitor: It monitors the DUT activity on interface signals and send to higher layer in terms of packet level signals.
f) Scoreboard: Receives the packet level signals from monitor and compares them with reference values.
g) Sequencer: Responsible for routing the sequence item to the driver or vice versa.

IV. RESULT ANALYSIS


Dual port RAM is considered as a design under test (DUT), it is verified under both System Verilog and UVM. Covergroup
coverage achieved as 20.1%, and 100% assertion is achieved from System Verilog environment [1]. Covergroup coverage can be
achieved 100%, if the number of bins is executed properly. Because covergroup is depends on bins, if all the bins are hits then it is
known as 100% covergroup coverage.

Fig.5. Coverage output

©IJRASET: All Rights are Reserved 1294


International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.429
Volume 9 Issue III Mar 2021- Available at www.ijraset.com

V. CONCLUSION
In this paper, we discussed characteristics of dual port RAM and its verification process under System Verilog and UVM. These
verification environments are comprised of different components such as test, top, environment, agent, monitor and scoreboard.
Reusability of testcases achieved by using UVM and assertion-based verification done by using System Verilog. How to increase
the covergroup coverage is discussed in result analysis section.

REFERENCES
[1] Aditi, Pawan Kumar Dahiya. “Design and Verification of Dual Port RAM using System Verilog Methodology.” In International Journal for Research in
Applied Science & Engineering Technology (IJRASET), IEEE, 2019.
[2] Lockhart, W. L., J. H. Greene, and D. T. Young. "A high-speed low-power spectrum accumulator using dual-port RAM and state machine control." IEEE
Transactions on Nuclear Science36, no. 4 (1989): 1396-1403.
[3] Salah, Khaled, and Hassan Mostafa. "Constructing Effective UVM Testbench for DRAM Memory Controllers." In 2018 New Generation of CAS (NGCAS),
pp. 178-181. IEEE, 2018.
[4] Muehlegg, Franz, and Alfred Schuetz. "A highly flexible dual-port-RAM compiler." In [Proceedings] EURO ASIC90, pp. 277-281. IEEE, 1990.
[5] Karfa, Chandan, Chittaranjan Mandal, Dipankar Sarkar, S. R. Pentakota, and Chris Reade. "Verification of scheduling in high-level synthesis." In IEEE
Computer Society Annual Symposium on Emerging VLSI Technologies and Architectures (ISVLSI'06), pp. 6-pp. IEEE, 2006.
[6] Jain, Abhishek, Dr Gupta, Sandeep Jana, and Krishna Kumar. "Early development of UVM based verification environment of image signal processing designs
using TLM reference model of RTL." arXiv preprint arXiv:1408.1150 (2014).
[7] Nangia, Rakhi, and Neeraj Kr Shukla. "Functional verification of I2C core using SystemVerilog." International Journal of Engineering, Science and
Technology 6, no. 4 (2014): 31-44.
[8] Amin, Alaaeldin A., Azzam A. Hamzah, and R. E. Abdel-Aal. "Generic DFT approach for pattern sensitive faults in word-oriented memories." IEE
Proceedings-Computers and Digital Techniques 143, no. 3 (1996): 199-202
[9] Cheng, Li-Bo, Francis Anghinolfi, Ke Wang, Hong-Bo Zhu, Wei-Guo Lu, and Zhen-An Liu. "A testbench research based on UVM for ABCStar." In 2016
IEEE-NPSS Real Time Conference (RT), pp. 1-3. IEEE, 2016.
[10] Park, Sungju, Donkyu Youn, Taehyung Kim, Sangwon Kang, Heekuk Oh, Kyunggoo Doh, and Young Shik Moon. "Microcode-based memory BIST
implementing modified march algorithms." JOURNAL-KOREAN PHYSICAL SOCIETY 40 (2002): 749-753.
[11] Gao, Xinyan, Ning Zhou, Jinzhao Wu, and Dakui Li. "Wu’s characteristic set method for SystemVerilog assertions verification." Journal of Applied
Mathematics 2013 (2013).
[12] Gao, Yingke, Diancheng Wu, Quanquan Li, Tiejun Zhang, and Chaohuan Hou. "Design and implementation of transaction level processor based on UVM." In
2013 IEEE 10th International Conference on ASIC, pp. 1-4. IEEE, 2013.
[13] Surepeddi, Ravi. "System Verilog for Quality of Results (QoR)." In 9th International Symposium on Quality Electronic Design (isqed 2008), pp. 460-464.
IEEE, 2008.
[14] Ni, Wei, and Jichun Zhang. "Research of reusability based on UVM verification." In 2015 IEEE 11th International Conference on ASIC (ASICON), pp. 1-4.
IEEE, 2015.
[15] Li, Yangyang, Wuchen Wu, Ligang Hou, and Hao Cheng. "A study on the assertion-based verification of digital IC." In 2009 Second International Conference
on Information and Computing Science, vol. 2, pp. 25-28. IEEE, 2009.
[16] Doshi, NilayJayesh Kumar, Sheetal Suryawanshi, and Gardas Naresh Kumar. "Development of generic verification environment based on UVM with case
study on HMC controller." In 2016 IEEE International Conference on Recent Trends in Electronics, Information & Communication Technology (RTEICT),
pp. 550-553. IEEE, 2016.
[17] Khalifa, Khaled, and Khaled Salah. "An RTL power optimization technique based on System Verilog assertions." In 2016 IEEE 7th Annual Ubiquitous
Computing, Electronics & Mobile Communication Conference (UEMCON), pp. 1-4. IEEE, 2016.
[18] Cristina Silvano, Giancarlo Sada, and Laura Populin. “Ramgen: A Dual Port Static RAM Generator.” In [1992] proceedings. Fifth annual IEEE International
ASIC Conference and Exhibit, pp. 509-512. IEEE, 2002.
[19] Yadu Krishnan K, Ramesh Bhakthavatchalu. “Block Level SoC Verification Using System Verilog.” Proceedings of the Third International Conference on
Electronics Communication and Aerospace Technology [ICECA 2019], pp. 878-887. IEEE, 2019.
[20] Nii, Koji, Yasumasa Tsukamoto, Makoto Yabuuchi, Yasuhiro Masuda, Susumu Imaoka, Keiichi Usui, Shigeki Ohbayashi, Hiroshi Makino, and Hirofumi
Shinohara. "Synchronous ultra-high-density 2RW dual-port 8T-SRAM with circumvention of simultaneous common-row-access." IEEE Journal of Solid-State
Circuits 44, no. 3 (2009): 977-986.
[21] Mulani, Purvi D. "SoC level verification using System Verilog." In 2009 Second International Conference on Emerging Trends in Engineering & Technology,
pp. 378-380. IEEE, 2009.
[22] Pavithran, T. M., and Ramesh Bhakthavatchalu. "UVM based testbench architecture for logic sub-system verification." In 2017 International Conference on
Technological Advancements in Power and Energy (TAP Energy), pp. 1-5. IEEE, 2017.
[23] Sukhanya, M., and K. Gavaskar. "Functional verification environment for I2C master controller using system verilog." In 2017 Fourth International
Conference on Signal Processing, Communication and Networking (ICSCN), pp. 1-6. IEEE, 2017.
[24] Rejusha, M., and K. B. Jayanthi. "Implementation of VLSI-oriented FELICS algorithm using Pseudo Dual-Port RAM." In International Conference on Pattern
Recognition, Informatics and Medical Engineering (PRIME-2012), pp. 68-73. IEEE, 2012.
[25] Visalli, Giuseppe. "UVM-based verification of ECC module for flash memories." In 2017 European Conference on Circuit Theory and Design (ECCTD), pp.
1-4. IEEE, 2017.

©IJRASET: All Rights are Reserved 1295

You might also like