Download presentation
Presentation is loading. Please wait.
Published byGregory Nelson Modified over 9 years ago
1
Automated Generation of the Register Set of a SOC and its Verification Environment K. Poulos, K. Adaos, G.P. Alexiou Dept. of Computer Engineering and Informatics Univ. of Patras, Greece 18th Panhellenic Conference on Informatics
2
Introduction System Environment UVM Register Layer Register Field Template Register File Template Register Generation Procedure Examples Conclusion – Current Work 26-Nov-151Dept. of Computer Engineering and Informatics, Univ. of Patras Agenda
3
Part of System-on-Chip Platform for Research and Education Result of a graduate thesis in the VLSI Lab of CEID. Target: Develop an automated tool that a)Generates the synthesizabe set of the registers of a SOC b)Generates its verification environment c)Be compliant with design and verification standards Introduction 26-Nov-152Dept. of Computer Engineering and Informatics, Univ. of Patras
4
System Environment 26-Nov-153Dept. of Computer Engineering and Informatics, Univ. of Patras The register file enables the parts of the system to communicate and control each other.
5
System Environment 26-Nov-154Dept. of Computer Engineering and Informatics, Univ. of Patras The register file enables the parts of the system to communicate and control each other. – A processor or a HOST system can change the behavior of the SOC
6
System Environment 26-Nov-155Dept. of Computer Engineering and Informatics, Univ. of Patras The register file enables the parts of the system to communicate and control each other. – A processor or a HOST system can change the behavior of the SOC – Peripherals return data and status
7
UVM is the industry standard for verification Object Oriented, Based on SystemVerilog Provides a set of predefined agents to control and monitor the bahavior of the DUV Constraint Randomization Techniques UVM Register Layer 26-Nov-156Dept. of Computer Engineering and Informatics, Univ. of Patras
8
UVM Register Layer is a part of the UVM spec – Models the behavior of the registers of a SOC/HW design based on their properties – Enables frontdoor/backdoor access to the registers during verification – With predefined operations, the user can bypass/omit HW components and focus on the peripheral operation Our tool supports registers named after the UVM register layer => Consistent view of design and verification process. UVM Register Layer 26-Nov-157Dept. of Computer Engineering and Informatics, Univ. of Patras
9
A generic register template is utilized with an interface that is common in all fields Two access ports: – Bus Port (activated during bus operations) – HW Port (driven by a HW module/state machine). Differentiation is done internally based on the register’s properties Register Field Template 26-Nov-158Dept. of Computer Engineering and Informatics, Univ. of Patras SignalDirectionDescription reset_ninputAsynchronous reset input (active low) clkinputClock input sresetinputSynchronous reset signal (active high) bus_reinputRead enable for the bus bus_weinputWrite enable for the bus bus_dininputData input for the bus hw_weinputWrite enable input for HW blocks hw_dininputData input for the HW blocks qoutputRegister Output bus_doutoutputData output for the bus.
10
Differentiation is done internally based on the properties of the processor port Register Field Template 26-Nov-159Dept. of Computer Engineering and Informatics, Univ. of Patras Field Typebus we bus din hw we hw din bus re bus dout RO RW RC RS WRC WRS WC WS WSRC WCRS W1C W1S W1T W0C W0S W1SRC W1CRS W0SRC W1CRS WO WOC WOS
11
RO : A read only register can be written by HW blocks (via signals hw_we and hw_din) and can only be read by the Bus of the System (via ports bus_re and bus_dout) Register Field Template 26-Nov-1510Dept. of Computer Engineering and Informatics, Univ. of Patras Field Typebus we bus din hw we hw din bus re bus dout RO RW RC RS WRC WRS WC WS WSRC WCRS W1C W1S W1T W0C W0S W1SRC W1CRS W0SRC W1CRS WO WOC WOS
12
Register Field Template 26-Nov-1511Dept. of Computer Engineering and Informatics, Univ. of Patras Field Typebus we bus din hw we hw din bus re bus dout RO RW RC RS WRC WRS WC WS WSRC WCRS W1C W1S W1T W0C W0S W1SRC W1CRS W0SRC W1CRS WO WOC WOS Other register field types model other common HW operations: – W1C: To clear the register, the processor has to write logic-1 (for example for clearing an interrupt flag).
13
Register Field Template 26-Nov-1512Dept. of Computer Engineering and Informatics, Univ. of Patras Field Typebus we bus din hw we hw din bus re bus dout RO RW RC RS WRC WRS WC WS WSRC WCRS W1C W1S W1T W0C W0S W1SRC W1CRS W0SRC W1CRS WO WOC WOS RW : A Read/Write field uses all ports
14
Register Field Code example 26-Nov-1513Dept. of Computer Engineering and Informatics, Univ. of Patras Field Typebus we bus din hw we hw din bus re bus dout RO RW RC RS WRC WRS WC WS WSRC WCRS W1C W1S W1T W0C W0S W1SRC W1CRS W0SRC W1CRS WO WOC WOS
15
AHB Register File Architecture 26-Nov-1514Dept. of Computer Engineering and Informatics, Univ. of Patras A register consists of one or more register fields. The AHB bus interface logic adapts the AHB bus signals to the bus access signals (bus_we, bus_re, bus_din, bus_dout). By changing only the bus interface logic we can support bus standards different than the AHB.
16
Register File Generation 26-Nov-1515Dept. of Computer Engineering and Informatics, Univ. of Patras Generation is based on three input files Register File Desciption (the only file defined by the user) A predesigned Register Field Template A predesigned Register File Template
17
Register File Generation 26-Nov-1516Dept. of Computer Engineering and Informatics, Univ. of Patras The generator provides three outputs A synthesizable system verilog file with the register file description A C header file (compatible with GNU compilers) The description of the register file according to UVM register layer to be used for verification
18
Register File Description File 26-Nov-1517Dept. of Computer Engineering and Informatics, Univ. of Patras Name Position - Width Address Type Reset Value Comment (optional)
19
Register File Description File 26-Nov-1518Dept. of Computer Engineering and Informatics, Univ. of Patras Text Based: Easily Integrates in a Version Control System (we use git) Available parsers can also support spreadsheet files (Microsoft xls or OpenOffice)
20
Example 26-Nov-1519Dept. of Computer Engineering and Informatics, Univ. of Patras Simple microcontroller (175 total register bits)
21
Example 26-Nov-1520Dept. of Computer Engineering and Informatics, Univ. of Patras Simple microcontroller (175 total register bits)
22
Example 26-Nov-1521Dept. of Computer Engineering and Informatics, Univ. of Patras Simple microcontroller (175 total register bits) AreaSpeed TechnologyXilinx Spartan3A UMC 180nXilinx Spartan3A UMC 180n Total Design Area 5,049 LUTs42 K gates50 MHz142 MHz Register File Area 281 LUTs2.72 K gates122 MHz398 MHz
23
Support of extra register fields and types Support of additional bus standards (Wishbone, APB, AXI) GUI support Extend automation in other SOC components Current Work 26-Nov-1522Dept. of Computer Engineering and Informatics, Univ. of Patras
24
26-Nov-1523Dept. of Computer Engineering and Informatics, Univ. of Patras Automated Generation of the Register Set of a SOC and its Verification Environment adaos@ceid.upatras.gr www.ceid.upatras.gr/webpages/faculty/alexiou/vlsilab
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.