blob: 1d1c061ec2b395c01c5df2b715cd61a8fec95b53 [file] [log] [blame]
// SPDX-FileCopyrightText: 2020 Efabless Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// SPDX-License-Identifier: Apache-2.0
///////////////////////////
// Mikroislem sinyalleri//
`define DDY_ADRES_BIT 12
`define DDY_ADRES 185
`define DDY_VERI_BIT 32
`define DDY_VERI 153
`define DDY_ANLIK_BIT 5
`define DDY_ANLIK 148
`define DDY_YAZ 147
`define GECERLI 146
`define YURUT_KODU_BIT 7
`define YURUT_KODU 139
`define YURUT_KODU_AMB 'h1
`define YURUT_KODU_DB 'h2
`define YURUT_KODU_BIB 'h4
`define YURUT_KODU_TCB 'h8
`define YURUT_KODU_TBB 'h10
`define YURUT_KODU_CSR 'h20
`define YURUT_KODU_SISTEM 'h40
`define ISLEV_KODU_BIT 12
`define ISLEV_KODU 127
`define IS1_SEC_BIT 3
`define IS1_SEC 124
`define IS1_SEC_KY1 'h1
`define IS1_SEC_PS 'h2
`define IS1_SEC_0 'h4
`define IS2_SEC_BIT 5
`define IS2_SEC 119
`define IS2_SEC_CSR_AD 'h10 // AD: Anlik deger
`define IS2_SEC_0 'h8
`define IS2_SEC_4 'h4
`define IS2_SEC_AD 'h2
`define IS2_SEC_KY2 'h1
`define ANLIK_DEGER_BIT 32
`define ANLIK_DEGER 87
`define KY1_BIT 5
`define KY1 82
`define KY2_BIT 5
`define KY2 77
`define BELLEK_BUYRUGU_BIT 3
`define BELLEK_BUYRUGU 74
`define YUKLE_BUYRUGU 76
`define KAYDET_BUYRUGU 75
`define FENCE_BUYRUGU 74
`define BELLEK_TURU_BIT 3
`define BELLEK_TURU 71
`define BELLEK_TURU_W 73
`define BELLEK_TURU_HW 72
`define BELLEK_TURU_B 71
`define BELLEK_ISARETLI 70
`define HY_YAZ 69
`define HY_DEGER_BIT 32
`define HY_DEGER 37
`define HY_BIT 5
`define HY 32
`define PS_BIT 32
`define PS 0
////////////////////////
// AMB islev kodlari//
`define ADD 'h1
`define SUB 'h2
`define AND 'h4
`define OR 'h8
`define XOR 'h10
`define SLT 'h20
`define SLTU 'h40
`define SLL 'h80
`define SRL 'h100
`define SRA 'h200
`define LUI 'h400
`define AUIPC 'h800
////////////////////////
// DB islev kodlari //
`define JAL 'h1
`define JALR 'h2
`define BEQ 'h4
`define BNE 'h8
`define BLT 'h10
`define BLTU 'h20
`define BGE 'h40
`define BGEU 'h80
/////////////////////////
// BIB islev kodlari //
`define LW 'h1
`define LH 'h2
`define LHU 'h4
`define LB 'h8
`define LBU 'h10
`define SW 'h20
`define SH 'h40
`define SB 'h80
`define FENCE 'h100
/////////////////////////////
// Bellk Buyrugu tanimlamalari//
`define FENCE_b 'h1
`define KAYDET_b 'h2
`define YUKLE_b 'h4
///////////////////////////////
//////////////////////////////
// CSR islev kodlari //
`define ECALL 'h1
`define EBREAK 'h2
`define URET 'h4
`define MRET 'h8
`define CSRRW 'h10
`define CSRRS 'h20
`define CSRRC 'h40
`define CSRRWI 'h80
`define CSRRSI 'h100
`define CSRRCI 'h200
/////////////////////////
// TCB islev kodlari //
`define MUL 'h1
`define MULH 'h2
`define MULHU 'h4
`define MULHSU 'h8
/////////////////////////
// TBB islev kodlari //
`define DIV 'h1
`define DIVU 'h2
`define REM 'h4
`define REMU 'h8