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

Subversion Repositories i650

[/] [i650/] [trunk/] [rtl/] [toplev.v] - Diff between revs 20 and 21

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

Rev 20 Rev 21
Line 113... Line 113...
    .early_idx(early_idx),
    .early_idx(early_idx),
    .ontime_idx(ontime_idx)
    .ontime_idx(ontime_idx)
   );
   );
 
 
   //-----------------------------------------------------------------------------
   //-----------------------------------------------------------------------------
 
   // Adder input muxes
 
   //-----------------------------------------------------------------------------
 
   wire [0:6] aa_entry_a, ab_entry_b;
 
 
 
   //-----------------------------------------------------------------------------
   // Accumulator
   // Accumulator
   //-----------------------------------------------------------------------------
   //-----------------------------------------------------------------------------
   wire [0:6] ac_early_out, ac_ontime_out, ac_ped_out;
   wire [0:6] ac_early_out, ac_ontime_out, ac_ped_out;
 
 
   //-----------------------------------------------------------------------------
   //-----------------------------------------------------------------------------
 
   // Address register
 
   //-----------------------------------------------------------------------------
 
   wire [0:6] ar_addr_th, ar_addr_h, ar_addr_t, ar_addr_u;
 
   wire ar_dynamic_addr_hit, ar_addr_no_800x, ar_addr_8000, ar_addr_8001,
 
        ar_addr_8002, ar_addr_8003, ar_addr_8002_8003, ar_invalid_addr;
 
 
 
   //-----------------------------------------------------------------------------
   // Distributor
   // Distributor
   //-----------------------------------------------------------------------------
   //-----------------------------------------------------------------------------
   wire [0:6] ds_early_out, ds_ontime_out;
   wire [0:6] ds_early_out, ds_ontime_out;
   wire ds_back_sig;
   wire ds_back_sig;
 
 
Line 136... Line 148...
   //-----------------------------------------------------------------------------
   //-----------------------------------------------------------------------------
   wire [0:4] gs_out;
   wire [0:4] gs_out;
   wire gs_double_write, gs_no_write;
   wire gs_double_write, gs_no_write;
 
 
   //-----------------------------------------------------------------------------
   //-----------------------------------------------------------------------------
 
   // Opcode register
 
   //-----------------------------------------------------------------------------
 
   wire [0:6] op_opreg_t, op_opreg_u;
 
   wire op_ri_addr_reg;
 
 
 
   //-----------------------------------------------------------------------------
   // Operator controls
   // Operator controls
   //-----------------------------------------------------------------------------
   //-----------------------------------------------------------------------------
   wire [0:6] oc_data_out, oc_addr_out, oc_console_out, oc_display_digit;
   wire [0:6] oc_data_out, oc_addr_out, oc_console_out, oc_display_digit;
   wire oc_console_to_addr;
   wire oc_console_to_addr, oc_acc_ri_console;
   wire [0:14] oc_gs_ram_addr;
   wire [0:14] oc_gs_ram_addr;
   wire oc_read_gs, oc_write_gs;
   wire oc_read_gs, oc_write_gs;
   wire oc_pgm_start, oc_pgm_stop, oc_err_reset, oc_err_sense_reset;
   wire oc_pgm_start, oc_pgm_stop, oc_err_reset, oc_err_sense_reset;
   wire oc_run_control, oc_half_or_pgm_stop, oc_ri_storage, oc_ro_storage,
   wire oc_run_control, oc_half_or_pgm_stop, oc_ri_storage, oc_ro_storage,
        oc_storage_control;
        oc_storage_control;
Line 156... Line 174...
   //-----------------------------------------------------------------------------
   //-----------------------------------------------------------------------------
   wire [0:6] ps_early_out, ps_ontime_out, ps_ped_out;
   wire [0:6] ps_early_out, ps_ontime_out, ps_ped_out;
   wire ps_restart_sig;
   wire ps_restart_sig;
 
 
   //-----------------------------------------------------------------------------
   //-----------------------------------------------------------------------------
 
   // Storage select
 
   //-----------------------------------------------------------------------------
 
   wire [0:6] ss_selected_out;
 
 
 
   //-----------------------------------------------------------------------------
   // Translators
   // Translators
   //-----------------------------------------------------------------------------
   //-----------------------------------------------------------------------------
   wire tr_gs_write;
   wire tr_gs_write;
   wire [0:4] tr_gs_in;
   wire [0:4] tr_gs_in;
   wire [0:6] tr_select_out;
   wire [0:6] tr_gs_out;
 
 
 
   add_in_a aa (
 
    .acc_early_out(ac_early_out),
 
    .acc_ontime_out(ac_ontime_out),
 
    .prog_step_early_out(ps_early_out),
 
    .select_storage_out(ss_selected_out),
 
    .addr_u(ar_addr_u),
 
    .acc_true_add_gate(1'b0),
 
    .acc_compl_add_gate(1'b0),
 
    .left_shift_gate(1'b0),
 
    .prog_step_add_gate(1'b0),
 
    .shift_num_gate(1'b0),
 
    .select_stor_add_gate(1'b0),
 
    .adder_entry_a(aa_entry_a)
 
    );
 
 
 
   add_in_b ab (
 
    .dist_early_out(ds_early_out),
 
    .dist_ontime_out(ds_ontime_out),
 
    .special_int_entry(10'd0),
 
    .ontime_dist_add_gate_tlu(1'b0),
 
    .dist_compl_add_gate(1'b0),
 
    .upper_lower_check(1'b0),
 
    .dist_blank_gate(1'b0),
 
    .early_dist_zero_entry(1'b0),
 
    .dist_true_add_gate(1'b0),
 
    .adder_entry_b(ab_entry_b)
 
    );
 
 
   accumulator ac (
   accumulator ac (
    .rst(rst),
    .rst(oc_hard_reset),
    .ap(ap),
    .ap(ap),
    .bp(bp),
    .bp(bp),
    .dp(dp),
    .dp(dp),
    .dx(dx),
    .dx(dx),
    .d1(d1),
    .d1(d1),
    .d2(d2),
    .d2(d2),
 
    .d10(d10),
    .dxu(dxu),
    .dxu(dxu),
    .d0u(d0u),
    .d0u(d0u),
    .wu(wu),
    .wu(wu),
    .wl(wl),
    .wl(wl),
    .adder_out(`biq_0),
    .adder_out(`biq_0),
 
    .console_out(oc_console_out),
    .acc_regen_gate(1'b1),
    .acc_regen_gate(1'b1),
    .right_shift_gate(1'b0),
    .right_shift_gate(1'b0),
    .acc_ri_gate(1'b0),
    .acc_ri_gate(1'b0),
 
    .acc_ri_console(oc_acc_ri_console),
    .zero_shift_count(1'b0),
    .zero_shift_count(1'b0),
    .man_acc_reset(oc_man_acc_reset),
    .man_acc_reset(oc_man_acc_reset),
    .reset_op_latch(1'b0),
    .reset_op(1'b0),
    .early_idx(early_idx),
    .early_idx(early_idx),
    .ontime_idx(ontime_idx),
    .ontime_idx(ontime_idx),
    .early_out(ac_early_out),
    .early_out(ac_early_out),
    .ontime_out(ac_ontime_out),
    .ontime_out(ac_ontime_out),
    .ped_out(ac_ped_out)
    .ped_out(ac_ped_out)
    );
    );
 
 
   checking ck (
   addr_reg ar (
    .rst(rst),
    .rst(rst),
 
    .ap(ap),
 
    .bp(bp),
 
    .dx(dx),
 
    .d1(d1),
 
    .d2(d2),
 
    .d3(d3),
 
    .d4(d4),
 
    .d5(d5),
 
    .d6(d6),
 
    .d7(d7),
 
    .d8(d8),
 
    .d9(d9),
 
    .w0(w0),
 
    .w1(w1),
 
    .w2(w2),
 
    .w3(w3),
 
    .w4(w4),
 
    .w5(w5),
 
    .w6(w6),
 
    .w7(w7),
 
    .w8(w8),
 
    .w9(w9),
 
    .s0(s0),
 
    .s1(s1),
 
    .s2(s2),
 
    .s3(s3),
 
    .s4(s4),
 
    .error_reset(oc_err_reset),
 
    .restart_a(1'b0),
 
    .set_8000(oc_set_8000),
 
    .reset_8000(oc_reset_8000),
 
    .tlu_band_change(1'b0),
 
    .double_write(gs_double_write),
 
    .no_write(gs_no_write),
 
    .bs_to_gs(1'b0),
 
    .ri_gs(1'b0),
 
    .ps_reg_in(ps_ontime_out),
 
    .console_in(oc_addr_out),
 
    .ri_addr_reg(op_ri_addr_reg),
 
    .console_to_addr_reg(oc_console_to_addr),
 
    .addr_th(ar_addr_th),
 
    .addr_h(ar_addr_h),
 
    .addr_t(ar_addr_t),
 
    .addr_u(ar_addr_u),
 
    .dynamic_addr_hit(ar_dynamic_addr_hit),
 
    .addr_no_800x(ar_addr_no_800x),
 
    .addr_8000(ar_addr_8000),
 
    .addr_8001(ar_addr_8001),
 
    .addr_8002(ar_addr_8002),
 
    .addr_8003(ar_addr_8003),
 
    .addr_8002_8003(ar_addr_8002_8003),
 
    .invalid_addr(ar_invalid_addr)
 
    );
 
 
 
   checking ck (
 
    .rst(oc_hard_reset),
    .bp(bp),
    .bp(bp),
    .d1_dx(d1_dx),
    .d1_dx(d1_dx),
    .acc_ontime(ac_ontime_out),
    .acc_ontime(ac_ontime_out),
    .prog_ontime(ps_ontime_out),
    .prog_ontime(ps_ontime_out),
    .dist_ontime(ds_ontime_out),
    .dist_ontime(ds_ontime_out),
Line 204... Line 314...
    .prog_check_light(ck_prog_check_light),
    .prog_check_light(ck_prog_check_light),
    .dist_check_light(ck_dist_check_light)
    .dist_check_light(ck_dist_check_light)
    );
    );
 
 
   distributor ds (
   distributor ds (
    .rst(rst),
    .rst(oc_hard_reset),
    .ap(ap),
    .ap(ap),
    .cp(cp),
    .cp(cp),
    .dp(dp),
    .dp(dp),
    .dx(dx),
    .dx(dx),
    .d0(d0),
    .d0(d0),
    .d10(d10),
    .d10(d10),
    .selected_storage(7'd0),
    .selected_storage(ss_selected_out),
    .ri_dist(1'd0),
    .ri_dist(1'd0),
    .acc_ontime(ac_ontime_out),
    .acc_ontime(ac_ontime_out),
    .start_acc_dist_ri(1'd0),
    .start_acc_dist_ri(1'd0),
    .end_acc_dist_ri(1'd0),
    .end_acc_dist_ri(1'd0),
    .acc_dist_ri(1'd0),
    .acc_dist_ri(1'd0),
Line 230... Line 340...
   gen_store gs (
   gen_store gs (
    .rst(oc_hard_reset),
    .rst(oc_hard_reset),
    .ap(ap),
    .ap(ap),
    .dp(dp),
    .dp(dp),
    .write_gate(tr_gs_write),
    .write_gate(tr_gs_write),
    .addr_th(`biq_blank),
    .addr_th(ar_addr_th),
    .addr_h(`biq_blank),
    .addr_h(ar_addr_h),
    .addr_t(`biq_blank),
    .addr_t(ar_addr_t),
    .dynamic_addr(digit_idx),
    .dynamic_addr(digit_idx),
    .gs_in(tr_gs_in),
    .gs_in(tr_gs_in),
    .console_ram_addr(oc_gs_ram_addr),
    .console_ram_addr(oc_gs_ram_addr),
    .console_read_gs(oc_read_gs),
    .console_read_gs(oc_read_gs),
    .console_write_gs(oc_write_gs),
    .console_write_gs(oc_write_gs),
Line 265... Line 375...
    .hp(hp),
    .hp(hp),
    .early_idx(early_idx),
    .early_idx(early_idx),
    .ontime_idx(ontime_idx),
    .ontime_idx(ontime_idx),
    .cmd_digit_in(cmd_digit_in),
    .cmd_digit_in(cmd_digit_in),
    .io_buffer_in(io_buffer_in),
    .io_buffer_in(io_buffer_in),
    .gs_in(tr_select_out),
    .gs_in(tr_gs_out),
    .acc_ontime(ac_ontime_out),
    .acc_ontime(ac_ontime_out),
    .dist_ontime(ds_ontime_out),
    .dist_ontime(ds_ontime_out),
    .prog_ontime(ps_ontime_out),
    .prog_ontime(ps_ontime_out),
    .command(command),
    .command(command),
    .data_out(oc_data_out),
    .data_out(oc_data_out),
    .addr_out(oc_addr_out),
    .addr_out(oc_addr_out),
    .console_out(oc_console_out),
    .console_out(oc_console_out),
    .display_digit(oc_display_digit),
    .display_digit(oc_display_digit),
    .console_to_addr(oc_console_to_addr),
    .console_to_addr(oc_console_to_addr),
 
    .acc_ri_console(oc_acc_ri_console),
    .gs_ram_addr(oc_gs_ram_addr),
    .gs_ram_addr(oc_gs_ram_addr),
    .read_gs(oc_read_gs),
    .read_gs(oc_read_gs),
    .write_gs(oc_write_gs),
    .write_gs(oc_write_gs),
    .pgm_start(oc_pgm_start),
    .pgm_start(oc_pgm_start),
    .pgm_stop(oc_pgm_stop),
    .pgm_stop(oc_pgm_stop),
Line 300... Line 411...
    .punch_card(punch_card),
    .punch_card(punch_card),
    .read_card(read_card),
    .read_card(read_card),
    .card_digit_ready(card_digit_ready)
    .card_digit_ready(card_digit_ready)
    );
    );
 
 
 
   op_reg op (
 
    .rst(oc_hard_reset),
 
    .cp(cp),
 
    .d0(d0),
 
    .d9(d9),
 
    .d10(d10),
 
    .d1_d5(d1_d5),
 
    .d5_dx(d5_dx),
 
    .restart_a(1'b0),
 
    .restart_b(1'b0),
 
    .d_alt(1'b0),
 
    .i_alt(1'b0),
 
    .tlu_band_change(1'b0),
 
    .man_prog_reset(oc_man_pgm_reset),
 
    .prog_step_ped(ps_ped_out),
 
    .opreg_t(op_opreg_t),
 
    .opreg_u(op_opreg_u),
 
    .ri_addr_reg(op_ri_addr_reg)
 
    );
 
 
   prog_step ps (
   prog_step ps (
    .rst(rst),
    .rst(oc_hard_reset),
    .ap(ap),
    .ap(ap),
    .dp(dp),
    .dp(dp),
    .dx(dx),
    .dx(dx),
    .d0(d0),
    .d0(d0),
    .d10(d10),
    .d10(d10),
Line 321... Line 452...
    .ontime_out(ps_ontime_out),
    .ontime_out(ps_ontime_out),
    .ped_out(ps_ped_out),
    .ped_out(ps_ped_out),
    .prog_restart_sig(ps_restart_sig)
    .prog_restart_sig(ps_restart_sig)
    );
    );
 
 
 
   store_select ss (
 
    .d0(d0),
 
    .d1_dx(d1_dx),
 
    .addr_no_800x(ar_addr_no_800x),
 
    .addr_8000(ar_addr_8000),
 
    .addr_8001(ar_addr_8001),
 
    .addr_8002_8003(ar_addr_8002_8003),
 
    .addr_hot_8000(1'b0),
 
    .acc_ontime(ac_ontime_out),
 
    .dist_ontime(ds_ontime_out),
 
    .gs_out(tr_gs_out),
 
    .console_switches(oc_data_out),
 
    .acc_plus(1'b0),
 
    .acc_minus(1'b0),
 
    .selected_out(ss_selected_out)
 
    );
 
 
    translators tr (
    translators tr (
    .dist_early_out(`biq_blank),
    .dist_early_out(`biq_blank),
    .bs_out(`biq_blank),
    .bs_out(`biq_blank),
    .console_out(oc_console_out),
    .console_out(oc_console_out),
    .ri_gs(1'b0),
    .ri_gs(1'b0),
    .ri_bs(1'b0),
    .ri_bs(1'b0),
    .ri_console(oc_write_gs),
    .ri_console(oc_write_gs),
    .n800x(1'b1),
    .n800x(ar_addr_no_800x),
 
    .console_read_gs(oc_read_gs),
    .gs_out(gs_out),
    .gs_out(gs_out),
    .gs_write(tr_gs_write),
    .gs_write(tr_gs_write),
    .gs_in(tr_gs_in),
    .gs_in(tr_gs_in),
    .select_out(tr_select_out)
    .gs_biq_out(tr_gs_out)
    );
    );
 
 
endmodule
endmodule
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

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