OpenCores
URL https://opencores.org/ocsvn/8051/8051/trunk

Subversion Repositories 8051

[/] [8051/] [tags/] [rel_12/] [rtl/] [verilog/] [oc8051_top.v] - Diff between revs 5 and 7

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 5 Rev 7
Line 131... Line 131...
//alu_op_r      alu operation (registerd)
//alu_op_r      alu operation (registerd)
//psw_set       write to psw or not; from decoder to psw (through register)
//psw_set       write to psw or not; from decoder to psw (through register)
wire [3:0] alu_op, alu_op_r; wire [1:0] psw_set, psw_set_r;
wire [3:0] alu_op, alu_op_r; wire [1:0] psw_set, psw_set_r;
 
 
//
//
// immediate1, immediate1_r        from imediate_sel1 to alu_src1_sel1
// immediate1_r         from imediate_sel1 to alu_src1_sel1
// immediate2, immediate2_r        from imediate_sel1 to alu_src2_sel1
// immediate2_r         from imediate_sel1 to alu_src2_sel1
// src1. src2, src2     alu sources
// src1. src2, src2     alu sources
// des2, des2           alu destinations
// des2, des2           alu destinations
// des1_r               destination 1 registerd (to comp1)
// des1_r               destination 1 registerd (to comp1)
// psw                  output from psw
// psw                  output from psw
// desCy                carry out
// desCy                carry out
// desAc
// desAc
// desOv                overflow
// desOv                overflow
// wr, wr_r             write to data ram
// wr, wr_r             write to data ram
wire [7:0] src1, src2, src3, des1, des2, des1_r, psw, psw_r;
wire [7:0] src1, src2, src3, des1, des2, des1_r, psw, psw_r;
wire desCy, desAc, desOv, alu_cy, wr, wr_r;
wire desCy, desAc, desOv, alu_cy, wr, wr_r;
wire [7:0] immediate1, immediate1_r, immediate2, immediate2_r;
wire [7:0] immediate1_r, immediate2_r;
 
 
 
 
//
//
// rd           read program rom
// rd           read program rom
// pc_wr_sel    program counter write select (from decoder to pc)
// pc_wr_sel    program counter write select (from decoder to pc)
Line 202... Line 202...
oc8051_reg8 oc8051_reg8_op3(.clk(clk), .rst(rst), .din(op3_n), .dout(op3_nr));
oc8051_reg8 oc8051_reg8_op3(.clk(clk), .rst(rst), .din(op3_n), .dout(op3_nr));
//oc8051_reg5 oc8051_reg5_rn(.clk(clk), .rst(rst), .din({psw[4:3], op1_n[2:0]}), .dout(rn_r));
//oc8051_reg5 oc8051_reg5_rn(.clk(clk), .rst(rst), .din({psw[4:3], op1_n[2:0]}), .dout(rn_r));
 
 
oc8051_reg4 oc8051_reg4_alu_op(.clk(clk), .rst(rst), .din(alu_op), .dout(alu_op_r));
oc8051_reg4 oc8051_reg4_alu_op(.clk(clk), .rst(rst), .din(alu_op), .dout(alu_op_r));
 
 
oc8051_reg8 oc8051_reg8_imm1(.clk(clk), .rst(rst), .din(immediate1), .dout(immediate1_r));
 
oc8051_reg8 oc8051_reg8_imm2(.clk(clk), .rst(rst), .din(immediate2), .dout(immediate2_r));
 
oc8051_reg1 oc8051_reg1_bit_addr(.clk(clk), .rst(rst), .din(bit_addr), .dout(bit_addr_r));
oc8051_reg1 oc8051_reg1_bit_addr(.clk(clk), .rst(rst), .din(bit_addr), .dout(bit_addr_r));
 
 
oc8051_reg1 oc8051_reg1_wad2(.clk(clk), .rst(rst), .din(wad2), .dout(wad2_r));
oc8051_reg1 oc8051_reg1_wad2(.clk(clk), .rst(rst), .din(wad2), .dout(wad2_r));
oc8051_reg8 oc8051_reg8_des1(.clk(clk), .rst(rst), .din(des1), .dout(des1_r));
oc8051_reg8 oc8051_reg8_des1(.clk(clk), .rst(rst), .din(des1), .dout(des1_r));
oc8051_reg2 oc8051_reg2_cy(.clk(clk), .rst(rst), .din(cy_sel), .dout(cy_sel_r));
oc8051_reg2 oc8051_reg2_cy(.clk(clk), .rst(rst), .din(cy_sel), .dout(cy_sel_r));
Line 248... Line 246...
         .desAc(desAc), .desOv(desOv), .bit_in(bit_out));
         .desAc(desAc), .desOv(desOv), .bit_in(bit_out));
 
 
 
 
//
//
//
//
oc8051_immediate_sel oc8051_immediate_sel1(.sel(imm_sel), .op1(op1_n), .op2(op2_n),
oc8051_immediate_sel oc8051_immediate_sel1(.clk(clr), .rst(rst), .sel(imm_sel), .op1(op1_n), .op2(op2_n),
          .op3(op3_n), .pch(pc_hi_r), .pcl(pc[7:0]), .out1(immediate1), .out2(immediate2));
          .op3(op3_n), .pch(pc_hi_r), .pcl(pc[7:0]), .out1(immediate1_r), .out2(immediate2_r));
 
 
//
//
//data ram
//data ram
oc8051_ram_top oc8051_ram_top1(.clk(clk), .rst(rst), .rd_addr(rd_addr), .rd_data(ram_data),
oc8051_ram_top oc8051_ram_top1(.clk(clk), .rst(rst), .rd_addr(rd_addr), .rd_data(ram_data),
          .wr_addr(wr_addr), .bit_addr(bit_addr), .wr_data(des1), .wr(wr_r),
          .wr_addr(wr_addr), .bit_addr(bit_addr), .wr_data(des1), .wr(wr_r),

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.