⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cpu.v

📁 8051的Verilog实现
💻 V
📖 第 1 页 / 共 5 页
字号:
      nr_cycles_a = 4'b0010 ; 
      end
   ANL_A_IR0 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   ANL_A_IR1 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   ANL_A_R0 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   ANL_A_R1 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   ANL_A_R2 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   ANL_A_R3 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   ANL_A_R4 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   ANL_A_R5 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   ANL_A_R6 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   ANL_A_R7 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   
   //-----------------------------------
   // 60h
   //-----------------------------------
   JZ :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   AJMP_3 :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   XRL_ADDR_A :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   XRL_ADDR_N :
      begin
      nr_bytes_a = 2'b11 ; 
      nr_cycles_a = 4'b0100 ; 
      end
   XRL_A_N :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   XRL_A_ADDR :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   XRL_A_IR0 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   XRL_A_IR1 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   XRL_A_R0 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   XRL_A_R1 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   XRL_A_R2 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   XRL_A_R3 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   XRL_A_R4 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   XRL_A_R5 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   XRL_A_R6 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   XRL_A_R7 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   
   //-----------------------------------
   // 70h
   //-----------------------------------
   JNZ :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   ACALL_3 :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0110 ; 
      end
   ORL_C_BIT :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   JMP_A_DPTR :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   MOV_A_N :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   MOV_ADDR_N :
      begin
      nr_bytes_a = 2'b11 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   MOV_IR0_N :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   MOV_IR1_N :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   MOV_R0_N :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   MOV_R1_N :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   MOV_R2_N :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   MOV_R3_N :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   MOV_R4_N :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   MOV_R5_N :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   MOV_R6_N :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   MOV_R7_N :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   
   //-----------------------------------
   // 80h
   //-----------------------------------
   SJMP :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   AJMP_4 :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   ANL_C_BIT :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   MOVC_A_PC :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   DIV_AB :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0101 ; 
      end
   MOV_ADDR_ADDR :
      begin
      nr_bytes_a = 2'b11 ; 
      nr_cycles_a = 4'b0100 ; 
      end
   MOV_ADDR_IR0 :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0100 ; 
      end
   MOV_ADDR_IR1 :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0100 ; 
      end
   MOV_ADDR_R0 :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   MOV_ADDR_R1 :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   MOV_ADDR_R2 :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   MOV_ADDR_R3 :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   MOV_ADDR_R4 :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   MOV_ADDR_R5 :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   MOV_ADDR_R6 :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   MOV_ADDR_R7 :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   
   //-----------------------------------
   // 90h
   //-----------------------------------
   MOV_DPTR_N :
      begin
      nr_bytes_a = 2'b11 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   ACALL_4 :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0110 ; 
      end
   MOV_BIT_C :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   MOVC_A_DPTR :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   SUBB_N :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   SUBB_ADDR :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   SUBB_IR0 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   SUBB_IR1 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   SUBB_R0 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   SUBB_R1 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   SUBB_R2 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   SUBB_R3 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   SUBB_R4 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   SUBB_R5 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   SUBB_R6 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   SUBB_R7 :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   
   //-----------------------------------
   // A0h
   //-----------------------------------
   ORL_C_NBIT :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   AJMP_5 :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0011 ; 
      end
   MOV_C_BIT :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0010 ; 
      end
   INC_DPTR :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0001 ; 
      end
   MUL_AB :
      begin
      nr_bytes_a = 2'b01 ; 
      nr_cycles_a = 4'b0101 ; 
      end
   MOV_IR0_ADDR :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0101 ; 
      end
   MOV_IR1_ADDR :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0101 ; 
      end
   MOV_R0_ADDR :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0100 ; 
      end
   MOV_R1_ADDR :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0100 ; 
      end
   MOV_R2_ADDR :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0100 ; 
      end
   MOV_R3_ADDR :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0100 ; 
      end
   MOV_R4_ADDR :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0100 ; 
      end
   MOV_R5_ADDR :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0100 ; 
      end
   MOV_R6_ADDR :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0100 ; 
      end
   MOV_R7_ADDR :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0100 ; 
      end
   
   //-----------------------------------
   // B0h
   //-----------------------------------
   ANL_C_NBIT :
      begin
      nr_bytes_a = 2'b10 ; 
      nr_cycles_a = 4'b0010 ; 
      end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -