////////////////////////////////////////////////////////////////// // Translated Verilog Source File // Auto-Generated By Xilinx's Blf2lang. // Copyright (c) 2003. Xilinx, Inc. ////////////////////////////////////////////////////////////////// //State Machine `timescale 1ns/1ns module pdp8 ( clock,brkrq,intrq,halt,mb0,mb1,mb2,mb3,mem,a_src0,a_src1,a_src2,b_src0,b_src1,b_src2,shift0,shift1,shift2,mb_load,ma_load,ac_load,pc_load,ts1,ts2,ts3,ts4,fetch,defer,exec,break,intr,ir0,ir1,ir2 ); input clock; input brkrq; input intrq; input halt; input mb0; input mb1; input mb2; input mb3; input mem; input a_src0; input a_src1; input a_src2; input b_src0; input b_src1; input b_src2; input shift0; input shift1; input shift2; input mb_load; input ma_load; input ac_load; input pc_load; output ts1; output ts2; output ts3; output ts4; output fetch; output defer; output exec; output break; output intr; output ir0; output ir1; output ir2; // Global and port properties... // Declarations for internal nets... wire ts1_xcD; wire ts1_xcQ; wire ts1_xcCLOCK; wire ts2_xcD; wire ts2_xcQ; wire ts2_xcCLOCK; wire ts3_xcD; wire ts3_xcQ; wire ts3_xcCLOCK; wire ts4_xcD; wire ts4_xcQ; wire ts4_xcCLOCK; wire fetch_xcD; wire fetch_xcQ; wire fetch_xcCLOCK; wire defer_xcD; wire defer_xcQ; wire defer_xcCLOCK; wire exec_xcD; wire exec_xcQ; wire exec_xcCLOCK; wire break_xcD; wire break_xcQ; wire break_xcCLOCK; wire intr_xcD; wire intr_xcQ; wire intr_xcCLOCK; wire ir0_xcD; wire ir0_xcQ; wire ir0_xcCLOCK; wire ir1_xcD; wire ir1_xcQ; wire ir1_xcCLOCK; wire ir2_xcD; wire ir2_xcQ; wire ir2_xcCLOCK; // Properties on instances and internal nets... //Logic implementation... assign ts1_xcCLOCK = ((clock)); assign ts1_xcD = ((brkrq & ~(ts1_xcQ) & ~(ts2_xcQ) & ~(ts3_xcQ) & ts4_xcQ) | (defer_xcQ & ~(ts1_xcQ) & ~(ts2_xcQ) & ~(ts3_xcQ) & ts4_xcQ) | ( ~(halt) & ~(ts1_xcQ) & ~(ts2_xcQ) & ~(ts3_xcQ) & ts4_xcQ) | (intrq & ~(ts1_xcQ) & ~(ts2_xcQ) & ~(ts3_xcQ) & ts4_xcQ) | (fetch_xcQ & ~(ir0_xcQ) & ~(ts1_xcQ) & ~(ts2_xcQ) & ~(ts3_xcQ) & ts4_xcQ) | (fetch_xcQ & ~(ir1_xcQ) & ~(ts1_xcQ) & ~(ts2_xcQ) & ~(ts3_xcQ) & ts4_xcQ)); G_DEC ts1_B2LINST_1 ( .q(ts1_xcQ), .d(ts1_xcD), .clk(ts1_xcCLOCK), .e(1'b1), .c(1'b0)); assign ts1 = (ts1_xcQ); assign ts2_xcCLOCK = ((clock)); assign ts2_xcD = ((ts1_xcQ & ~(ts2_xcQ) & ~(ts3_xcQ) & ~(ts4_xcQ))); G_DEC ts2_B2LINST_2 ( .q(ts2_xcQ), .d(ts2_xcD), .clk(ts2_xcCLOCK), .e(1'b1), .c(1'b0)); assign ts2 = (ts2_xcQ); assign ts3_xcCLOCK = ((clock)); assign ts3_xcD = (( ~(ts1_xcQ) & ts2_xcQ & ~(ts3_xcQ) & ~(ts4_xcQ))); G_DEC ts3_B2LINST_3 ( .q(ts3_xcQ), .d(ts3_xcD), .clk(ts3_xcCLOCK), .e(1'b1), .c(1'b0)); assign ts3 = (ts3_xcQ); assign ts4_xcCLOCK = ((clock)); assign ts4_xcD = (( ~(ts1_xcQ) & ~(ts2_xcQ) & ts3_xcQ & ~(ts4_xcQ)) | (halt & ~(ts1_xcQ) & ~(ts2_xcQ) & ~(ts3_xcQ) & ts4_xcQ)); G_DEC ts4_B2LINST_4 ( .q(ts4_xcQ), .d(ts4_xcD), .clk(ts4_xcCLOCK), .e(1'b1), .c(1'b0)); assign ts4 = (ts4_xcQ); assign fetch_xcCLOCK = ((clock)); assign fetch_xcD = (( ~(halt) & ~(ts1_xcQ) & ~(ts2_xcQ) & ~(ts3_xcQ) & ts4_xcQ)); G_DEC fetch_B2LINST_5 ( .q(fetch_xcQ), .d(fetch_xcD), .clk(fetch_xcCLOCK), .e(1'b1), .c(1'b0)); assign fetch = (fetch_xcQ); assign defer_xcCLOCK = ((clock)); assign defer_xcD = ((fetch_xcQ & ~(ir0_xcQ) & mb3 & ~(ts1_xcQ) & ~(ts2_xcQ) & ~(ts3_xcQ) & ts4_xcQ) | (fetch_xcQ & ~(ir1_xcQ) & mb3 & ~(ts1_xcQ) & ~(ts2_xcQ) & ~(ts3_xcQ) & ts4_xcQ)); G_DEC defer_B2LINST_6 ( .q(defer_xcQ), .d(defer_xcD), .clk(defer_xcCLOCK), .e(1'b1), .c(1'b0)); assign defer = (defer_xcQ); assign exec_xcCLOCK = ((clock)); assign exec_xcD = ((defer_xcQ & ~(ts1_xcQ) & ~(ts2_xcQ) & ~(ts3_xcQ) & ts4_xcQ) | (fetch_xcQ & ~(ir0_xcQ) & ~(mb3) & ~(ts1_xcQ) & ~(ts2_xcQ) & ~(ts3_xcQ) & ts4_xcQ) | (fetch_xcQ & ~(ir1_xcQ) & ~(mb3) & ~(ts1_xcQ) & ~(ts2_xcQ) & ~(ts3_xcQ) & ts4_xcQ)); G_DEC exec_B2LINST_7 ( .q(exec_xcQ), .d(exec_xcD), .clk(exec_xcCLOCK), .e(1'b1), .c(1'b0)); assign exec = (exec_xcQ); assign break_xcCLOCK = ((clock)); assign break_xcD = ((brkrq & ~(ts1_xcQ) & ~(ts2_xcQ) & ~(ts3_xcQ) & ts4_xcQ)); G_DEC break_B2LINST_8 ( .q(break_xcQ), .d(break_xcD), .clk(break_xcCLOCK), .e(1'b1), .c(1'b0)); assign break = (break_xcQ); assign intr_xcCLOCK = ((clock)); assign intr_xcD = ((intrq & ~(ts1_xcQ) & ~(ts2_xcQ) & ~(ts3_xcQ) & ts4_xcQ)); G_DEC intr_B2LINST_9 ( .q(intr_xcQ), .d(intr_xcD), .clk(intr_xcCLOCK), .e(1'b1), .c(1'b0)); assign intr = (intr_xcQ); assign ir0_xcCLOCK = ((clock)); assign ir0_xcD = ((fetch_xcQ & mb0 & ~(ts1_xcQ) & ts2_xcQ & ~(ts3_xcQ) & ~(ts4_xcQ))); G_DEC ir0_B2LINST_10 ( .q(ir0_xcQ), .d(ir0_xcD), .clk(ir0_xcCLOCK), .e(1'b1), .c(1'b0)); assign ir0 = (ir0_xcQ); assign ir1_xcCLOCK = ((clock)); assign ir1_xcD = ((fetch_xcQ & mb1 & ~(ts1_xcQ) & ts2_xcQ & ~(ts3_xcQ) & ~(ts4_xcQ))); G_DEC ir1_B2LINST_11 ( .q(ir1_xcQ), .d(ir1_xcD), .clk(ir1_xcCLOCK), .e(1'b1), .c(1'b0)); assign ir1 = (ir1_xcQ); assign ir2_xcCLOCK = ((clock)); assign ir2_xcD = ((fetch_xcQ & mb2 & ~(ts1_xcQ) & ts2_xcQ & ~(ts3_xcQ) & ~(ts4_xcQ))); G_DEC ir2_B2LINST_12 ( .q(ir2_xcQ), .d(ir2_xcD), .clk(ir2_xcCLOCK), .e(1'b1), .c(1'b0)); assign ir2 = (ir2_xcQ); endmodule