Changeset 1060 for trunk/platforms/tsar_generic_iob
- Timestamp:
- Mar 1, 2019, 12:27:13 PM (6 years ago)
- Location:
- trunk/platforms/tsar_generic_iob
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/platforms/tsar_generic_iob/arch_info.py
r1055 r1060 4 4 5 5 ######################################################################################### 6 # file : arch_info.py for the tsar_generic_iob architecture)6 # file : arch_info.py 7 7 # date : august 2016 8 8 # author : Alain Greiner 9 # 10 # This file describes the <tsar_generic_iob> architecture for ALMOS-MKH. 9 11 ######################################################################################### 10 # This python script defines a specific instance of "tsar_generic_iob" architecture12 # This python script defines a specific instance of ithe "tsar_generic_iob" architecture 11 13 # for the ALMOS-MKH operating system. It is used to generate the "hard_config.h" file, 12 14 # used to configure the hardware architecture, and the "arch_info.bin" file, used by … … 30 32 # - nb_ttys : number of TTY channels (can be from 1 to 8) 31 33 # - nb_nics : number of NIC channels (from 1 to 2) 32 # - fbf_width : frame_buffer width = frame_buffer heigth 33 # - ioc_type : can be 'IOC_BDV','IOC_HBA','IOC_SDC', 'IOC_SPI','NONE' 34 # 35 # The following parameters are imposed by the "tsar_generic_iob" architecture: 36 # - devices_max : max number of devices per cluster 34 # - ioc_type : can be IOC_BDV, IOC_HBA, IOC_SDC, IOC_SPI 35 # - txt_type : IOB architecture use TXT_TTY 36 # - fbf_type : IOB architecture use FBF_SCL 37 # - sys_clk : IOB architecture is SystemC only 38 # 39 # The other hardware parameters are defined below: 37 40 # - x_width : number of bits for x coordinate 38 41 # - y_width : number of bits for y coordinate 42 # - p_width : number of bits for local processor index 39 43 # - paddr_width : number of bits for physical address 40 # - p_width : number of bits for local processor index41 44 # - irqs_per_core : number of input IRQs per processor 42 45 # - io_cxy : IO cluster identifier 43 46 # - boot_cxy : boot cluster identifier 44 47 # - cache_line : number of bytes in cache line (in 16,32,64) 48 # - devices_max : max number of internal devices per cluster 49 # - fbf_width : number of lines = number of pixels 45 50 ######################################################################################## 46 51 … … 49 54 y_size = 2, 50 55 nb_cores = 2, 51 nb_ttys = 1,56 nb_ttys = 3, 52 57 nb_nics = 1, 53 fbf_width = 128, 54 ioc_type = 'IOC_BDV'): 58 ioc_type = 'IOC_BDV', 59 txt_type = 'TXT_TTY', 60 fbf_type = 'FBF_SCL', 61 sys_clk = 50000 ): 55 62 56 63 ### architecture constants … … 61 68 paddr_width = 40 62 69 irqs_per_core = 4 63 devices_max = 1670 io_cxy = ((x_size-1)<<y_width) + (y_size-1) # upper right cluster 64 71 boot_cxy = 0 65 72 cache_line = 64 66 io_cxy = ((x_size-1)<<y_width) + (y_size-1) # upper right cluster 73 devices_max = 16 74 fbf_width = 256 67 75 68 76 ### constructor parameters checking … … 95 103 96 104 ram_base = 0x0000000000 97 ram_size = 0x 800000 # 8Mbytes105 ram_size = 0x1000000 # 16 Mbytes 98 106 99 107 xcu_base = 0x00B0000000 … … 113 121 114 122 tty_base = 0x00B4000000 115 tty_size = 0x 4000 # 16 Kbytes123 tty_size = 0x8000 # 4 Kbytes * 8 channels 116 124 117 125 nic_base = 0x00B5000000 118 nic_size = 0x4000 # 16 kbytes126 nic_size = 0x4000 # 4 Kbytes * 4 channels 119 127 120 128 fbf_base = 0x00B7000000 -
trunk/platforms/tsar_generic_iob/top.cpp
r1056 r1060 1656 1656 1657 1657 // Monitor a specific address for one L1 cache 1658 // clusters[0][ 0]->proc[0]->cache_monitor( 0x00032D74ULL );1658 // clusters[0][1]->proc[0]->cache_monitor( 0x10003ddb4ULL ); 1659 1659 1660 1660 // Monitor a specific address for L2 cache (single word if second argument true) 1661 clusters[0][0]->memc->cache_monitor( 0xdbc7cULL , true );1661 // clusters[0][0]->memc->cache_monitor( 0x0000d74c0ULL , false ); 1662 1662 1663 1663 // Monitor a specific address for one XRAM 1664 // clusters[0][ 0]->xram->start_monitor( 0x0008A000ULL , 64);1664 // clusters[0][1]->xram->start_monitor( 0x100094000ULL , 64); 1665 1665 1666 1666 if ( debug_ok and (n > debug_from) ) … … 1668 1668 std::cout << "****************** cycle " << std::dec << n ; 1669 1669 std::cout << " ************************************************" << std::endl; 1670 // 1670 1671 // trace proc[debug_proc_id] 1671 1672 if ( debug_proc_id != 0xFFFFFFFF ) … … 1679 1680 // 0x20 : itlb trace 1680 1681 // 0x40 : SR 1682 1681 1683 size_t l = debug_proc_id & ((1<<P_WIDTH)-1) ; 1682 1684 size_t cluster_xy = debug_proc_id >> P_WIDTH ; … … 1767 1769 // signal_vci_tgt_brom.print_trace("[SIG]BROM_TGT"); 1768 1770 1769 1770 1771 1772 //disk->print_trace();1773 //signal_vci_tgt_disk.print_trace("[SIG]DISK_TGT");1774 //signal_vci_ini_disk.print_trace("[SIG]DISK_INI");1771 // mtty->print_trace( 1 ); 1772 // signal_vci_tgt_mtty.print_trace("[SIG]MTTY_TGT"); 1773 1774 disk->print_trace(); 1775 signal_vci_tgt_disk.print_trace("[SIG]DISK_TGT"); 1776 signal_vci_ini_disk.print_trace("[SIG]DISK_INI"); 1775 1777 1776 1778 #if ( USE_IOC_SDC )
Note: See TracChangeset
for help on using the changeset viewer.