Theory Sparc_Types
section ‹SPARC V8 architecture CPU model›
theory Sparc_Types
imports Main "../lib/WordDecl" "Word_Lib.Bit_Shifts_Infix_Syntax"
begin
text ‹The following type definitions are taken from David Sanan's
definitions for SPARC machines.›
type_synonym machine_word = word32
type_synonym byte = word8
type_synonym phys_address = word36
type_synonym virtua_address = word32
type_synonym page_address = word24
type_synonym offset = word12
type_synonym table_entry = word8
definition page_size :: "word32" where "page_size ≡ 4096"
type_synonym virtua_page_address = word20
type_synonym context_type = word8
type_synonym word_length_t1 = word_length8
type_synonym word_length_t2 = word_length6
type_synonym word_length_t3 = word_length6
type_synonym word_length_offset = word_length12
type_synonym word_length_page = word_length24
type_synonym word_length_phys_address = word_length36
type_synonym word_length_virtua_address = word_length32
type_synonym word_length_entry_type = word_length2
type_synonym word_length_machine_word = word_length32
definition length_machine_word :: "nat"
where "length_machine_word ≡ LENGTH(word_length_machine_word)"
text_raw ‹\newpage›
section ‹CPU Register Definitions›
text‹
The definitions below come from the SPARC Architecture Manual, Version 8.
The LEON3 processor has been certified SPARC V8 conformant (2005).
›
definition leon3khz ::"word32"
where
"leon3khz ≡ 33000"
text ‹The following type definitions for MMU is taken from
David Sanan's definitions for MMU.›
text‹
The definitions below come from the UT699 LEON 3FT/SPARC V8 Microprocessor Functional Manual,
Aeroflex, June 20, 2012, p35.
›