summaryrefslogtreecommitdiffstats
path: root/translated_examples/bigfile.v
diff options
context:
space:
mode:
Diffstat (limited to 'translated_examples/bigfile.v')
-rw-r--r--translated_examples/bigfile.v501
1 files changed, 501 insertions, 0 deletions
diff --git a/translated_examples/bigfile.v b/translated_examples/bigfile.v
new file mode 100644
index 0000000..bf88278
--- /dev/null
+++ b/translated_examples/bigfile.v
@@ -0,0 +1,501 @@
+// File bigfile.vhd translated with vhd2vl v2.2 VHDL to Verilog RTL translator
+
+// vhd2vl is Free (libre) Software:
+// Copyright (C) 2001 Vincenzo Liguori - Ocean Logic Pty Ltd
+// http://www.ocean-logic.com
+// Modifications Copyright (C) 2006 Mark Gonzales - PMC Sierra Inc
+// Modifications Copyright (C) 2002, 2005, 2008, 2009 Larry Doolittle - LBNL
+// http://doolittle.icarus.com/~larry/vhd2vl/
+//
+// vhd2vl comes with ABSOLUTELY NO WARRANTY. Always check the resulting
+// Verilog for correctness, ideally with a formal verification tool.
+//
+// You are welcome to redistribute vhd2vl under certain conditions.
+// See the license (GPLv2) file included with the source for details.
+
+// The result of translation follows. Its copyright status should be
+// considered unchanged from the original VHDL.
+
+// CONNECTIVITY DEFINITION
+// no timescale needed
+
+module bigfile(
+sysclk,
+g_zaq_in,
+g_aux,
+scanb,
+g_wrb,
+g_rdb,
+g_noop_clr,
+swe_ed,
+swe_lv,
+din,
+g_dout_w0x0f,
+n9_bit_write,
+reset,
+alu_u,
+debct_ping,
+g_sys_in,
+g_zaq_in_rst_hold,
+g_zaq_hhh_enb,
+g_zaq_out,
+g_dout,
+g_zaq_ctl,
+g_zaq_qaz_hb,
+g_zaq_qaz_lb,
+gwerth,
+g_noop,
+g_vector,
+swe_qaz1
+);
+
+// from external pins
+input sysclk;
+input [31:0] g_zaq_in;
+input [31:0] g_aux;
+input scanb;
+input g_wrb;
+input g_rdb;
+input [31:0] g_noop_clr;
+input swe_ed;
+input swe_lv;
+input [63:0] din;
+input [4:0] g_dout_w0x0f;
+input n9_bit_write;
+// from reset_gen block
+input reset;
+input [31:0] alu_u;
+input debct_ping;
+output [31:0] g_sys_in;
+output [31:0] g_zaq_in_rst_hold;
+output [31:0] g_zaq_hhh_enb;
+output [31:0] g_zaq_out;
+output [31:0] g_dout;
+output [31:0] g_zaq_ctl;
+output [31:0] g_zaq_qaz_hb;
+output [31:0] g_zaq_qaz_lb;
+output [31:0] gwerth;
+output [31:0] g_noop;
+output [8 * 32 - 1:0] g_vector;
+output [31:0] swe_qaz1;
+
+wire sysclk;
+wire [31:0] g_zaq_in;
+wire [31:0] g_aux;
+wire scanb;
+wire g_wrb;
+wire g_rdb;
+wire [31:0] g_noop_clr;
+wire swe_ed;
+wire swe_lv;
+wire [63:0] din;
+wire [4:0] g_dout_w0x0f;
+wire n9_bit_write;
+wire reset;
+wire [31:0] alu_u;
+wire debct_ping;
+wire [31:0] g_sys_in;
+wire [31:0] g_zaq_in_rst_hold;
+wire [31:0] g_zaq_hhh_enb;
+wire [31:0] g_zaq_out;
+wire [31:0] g_dout;
+wire [31:0] g_zaq_ctl;
+wire [31:0] g_zaq_qaz_hb;
+wire [31:0] g_zaq_qaz_lb;
+reg [31:0] gwerth;
+wire [31:0] g_noop;
+reg [8 * 32 - 1:0] g_vector;
+reg [31:0] swe_qaz1;
+
+
+// IMPLEMENTATION
+// constants
+parameter g_t_klim_w0x0f = 5'b 00000;
+parameter g_t_u_w0x0f = 5'b 00001;
+parameter g_t_l_w0x0f = 5'b 00010;
+parameter g_t_hhh_l_w0x0f = 5'b 00011;
+parameter g_t_jkl_sink_l_w0x0f = 5'b 00100;
+parameter g_secondary_t_l_w0x0f = 5'b 00101;
+parameter g_style_c_l_w0x0f = 5'b 00110;
+parameter g_e_z_w0x0f = 5'b 00111;
+parameter g_n_both_qbars_l_w0x0f = 5'b 01000;
+parameter g_style_vfr_w0x0f = 5'b 01001;
+parameter g_style_klim_w0x0f = 5'b 01010;
+parameter g_unklimed_style_vfr_w0x0f = 5'b 01011;
+parameter g_style_t_y_w0x0f = 5'b 01100;
+parameter g_n_l_w0x0f = 5'b 01101;
+parameter g_n_vfr_w0x0f = 5'b 01110;
+parameter g_e_n_r_w0x0f = 5'b 01111;
+parameter g_n_r_bne_w0x0f = 5'b 10000;
+parameter g_n_div_rebeq_w0x0f = 5'b 10001;
+parameter g_alu_l_w0x0f = 5'b 10010;
+parameter g_t_qaz_mult_low_w0x0f = 5'b 10011;
+parameter g_t_qaz_mult_high_w0x0f = 5'b 10100;
+parameter gwerthernal_style_u_w0x0f = 5'b 10101;
+parameter gwerthernal_style_l_w0x0f = 5'b 10110;
+parameter g_style_main_reset_hold_w0x0f = 5'b 10111; // comment
+reg [31:0] g_t_klim_dout;
+reg [31:0] g_t_u_dout;
+reg [31:0] g_t_l_dout;
+reg [31:0] g_t_hhh_l_dout;
+reg [31:0] g_t_jkl_sink_l_dout;
+reg [31:0] g_secondary_t_l_dout;
+reg [3:0] g_style_c_l_dout; // not used
+reg [31:0] g_e_z_dout;
+reg [31:0] g_n_both_qbars_l_dout;
+wire [31:0] g_style_vfr_dout;
+reg [31:0] g_style_klim_dout;
+wire [31:0] g_unklimed_style_vfr_dout;
+reg [31:0] g_style_t_y_dout;
+reg [31:0] g_n_l_dout;
+reg [31:0] g_n_vfr_dout;
+reg [31:0] g_e_n_r_dout;
+reg g_n_r_bne_dout;
+reg [31:0] g_n_div_rebeq_dout;
+reg [31:0] g_alu_l_dout;
+reg [31:0] g_t_qaz_mult_low_dout;
+reg [31:0] g_t_qaz_mult_high_dout;
+reg [31:0] gwerthernal_style_u_dout;
+reg [31:0] gwerthernal_style_l_dout;
+reg [31:0] g_style_main_reset_hold_dout; // other
+reg [31:0] q_g_zaq_in;
+reg [31:0] q2_g_zaq_in;
+reg [31:0] q3_g_zaq_in;
+reg [3:0] q_g_zaq_in_cd;
+reg [31:0] q_g_style_vfr_dout;
+reg [3:0] q_g_unzq; // i
+wire [31:0] g_n_active; // inter
+wire [31:0] g_zaq_in_y;
+wire [31:0] g_zaq_in_y_no_dout;
+wire [31:0] g_zaq_out_i;
+wire [31:0] g_zaq_ctl_i;
+wire [31:0] g_sys_in_i;
+wire [31:0] g_sys_in_ii;
+wire [31:0] g_dout_i;
+
+ // qaz out
+ assign g_zaq_out_i = ((g_secondary_t_l_dout & ((g_aux ^ g_style_t_y_dout)))) | ((g_alu_l_dout & alu_u & ~g_secondary_t_l_dout)) | (( ~g_alu_l_dout & ~g_secondary_t_l_dout & g_t_u_dout));
+ // Changed
+ assign g_zaq_out = g_zaq_out_i & ~g_t_jkl_sink_l_dout;
+ // qaz
+ // JLB
+ assign g_zaq_ctl_i = ~((((g_t_l_dout & ~g_t_jkl_sink_l_dout)) | ((g_t_l_dout & g_t_jkl_sink_l_dout & ~g_zaq_out_i))));
+ // mux
+ //vnavigatoroff
+ assign g_zaq_ctl = scanb == 1'b 1 ? g_zaq_ctl_i : 32'b 00000000000000000000000000000000;
+ //vnavigatoron
+ assign g_zaq_hhh_enb = ~((g_t_hhh_l_dout));
+ assign g_zaq_qaz_hb = g_t_qaz_mult_high_dout;
+ assign g_zaq_qaz_lb = g_t_qaz_mult_low_dout;
+ // Dout
+ assign g_dout_i = g_dout_w0x0f == g_t_klim_w0x0f ? g_t_klim_dout & g_style_klim_dout : g_dout_w0x0f == g_t_u_w0x0f ? g_t_u_dout & g_style_klim_dout : g_dout_w0x0f == g_t_l_w0x0f ? g_t_l_dout & g_style_klim_dout : g_dout_w0x0f == g_t_hhh_l_w0x0f ? g_t_hhh_l_dout & g_style_klim_dout : g_dout_w0x0f == g_t_jkl_sink_l_w0x0f ? g_t_jkl_sink_l_dout & g_style_klim_dout : g_dout_w0x0f == g_secondary_t_l_w0x0f ? g_secondary_t_l_dout & g_style_klim_dout : g_dout_w0x0f == g_style_c_l_w0x0f ? ({28'b 0000000000000000000000000000,g_style_c_l_dout}) & g_style_klim_dout : g_dout_w0x0f == g_e_z_w0x0f ? g_e_z_dout : g_dout_w0x0f == g_n_both_qbars_l_w0x0f ? g_n_both_qbars_l_dout : g_dout_w0x0f == g_style_vfr_w0x0f ? g_style_vfr_dout & g_style_klim_dout : g_dout_w0x0f == g_style_klim_w0x0f ? g_style_klim_dout : g_dout_w0x0f == g_unklimed_style_vfr_w0x0f ? g_unklimed_style_vfr_dout : g_dout_w0x0f == g_style_t_y_w0x0f ? g_style_t_y_dout & g_style_klim_dout : g_dout_w0x0f == g_n_l_w0x0f ? g_n_l_dout : g_dout_w0x0f == g_n_vfr_w0x0f ? g_n_vfr_dout : g_dout_w0x0f == g_e_n_r_w0x0f ? g_e_n_r_dout : g_dout_w0x0f == g_n_r_bne_w0x0f ? {31'b 0000000000000000000000000000000,g_n_r_bne_dout} : g_dout_w0x0f == g_n_div_rebeq_w0x0f ? g_n_div_rebeq_dout : g_dout_w0x0f == g_alu_l_w0x0f ? g_alu_l_dout & g_style_klim_dout : g_dout_w0x0f == g_t_qaz_mult_low_w0x0f ? g_t_qaz_mult_low_dout & g_style_klim_dout : g_dout_w0x0f == g_t_qaz_mult_high_w0x0f ? g_t_qaz_mult_high_dout & g_style_klim_dout : g_dout_w0x0f == gwerthernal_style_u_w0x0f ? gwerthernal_style_u_dout & g_style_klim_dout : g_dout_w0x0f == g_style_main_reset_hold_w0x0f ? g_style_main_reset_hold_dout & g_style_klim_dout : g_dout_w0x0f == gwerthernal_style_l_w0x0f ? gwerthernal_style_l_dout & g_style_klim_dout : 32'b 00000000000000000000000000000000;
+ assign g_dout = g_rdb == 1'b 0 ? g_dout_i : {32{1'b1}};
+ // this can be used to use zzz1
+ always @(posedge sysclk) begin
+ if((scanb == 1'b 1)) begin
+ if((reset == 1'b 1)) begin
+ g_style_main_reset_hold_dout <= g_zaq_in;
+ end
+ //vnavigatoroff
+ end
+ else begin
+ g_style_main_reset_hold_dout <= q2_g_zaq_in;
+ end
+ //vnavigatoron
+ end
+
+ // qaz
+ assign g_zaq_in_rst_hold = g_style_main_reset_hold_dout;
+ // Din
+ always @(posedge reset or posedge sysclk) begin : P2
+ reg [4:0] g_dout_w0x0f_v;
+
+ if((reset != 1'b 0)) begin
+ g_t_klim_dout <= {32{1'b0}};
+ g_t_u_dout <= {32{1'b0}};
+ g_t_l_dout <= {32{1'b0}};
+ g_t_hhh_l_dout <= {32{1'b0}};
+ g_t_jkl_sink_l_dout <= {32{1'b0}};
+ g_secondary_t_l_dout <= {32{1'b0}};
+ g_style_c_l_dout <= {4{1'b0}};
+ g_e_z_dout <= {32{1'b0}};
+ g_n_both_qbars_l_dout <= {32{1'b0}};
+ g_style_klim_dout <= {32{1'b0}};
+ g_style_t_y_dout <= {32{1'b0}};
+ g_n_l_dout <= {32{1'b0}};
+ g_e_n_r_dout <= {32{1'b0}};
+ g_n_r_bne_dout <= 1'b 0;
+ g_n_div_rebeq_dout <= {32{1'b1}};
+ g_alu_l_dout <= {32{1'b0}};
+ g_t_qaz_mult_low_dout <= {32{1'b1}};
+ // NOTE Low
+ g_t_qaz_mult_high_dout <= {32{1'b0}};
+ gwerthernal_style_u_dout <= {32{1'b0}};
+ gwerthernal_style_l_dout <= {32{1'b0}};
+ end else begin
+ // clear
+ g_n_div_rebeq_dout <= g_n_div_rebeq_dout & ~g_noop_clr;
+ if((g_wrb == 1'b 0)) begin
+ // because we now...
+ for (i=0; i <= 1; i = i + 1) begin
+ if((i == 0)) begin
+ g_dout_w0x0f_v = g_dout_w0x0f;
+ end
+ else if((i == 1)) begin
+ if((n9_bit_write == 1'b 1)) begin
+ // set
+ g_dout_w0x0f_v = {g_dout_w0x0f[4:1],1'b 1};
+ end
+ else begin
+ disable; //VHD2VL: add block name here
+ end
+ //vnavigatoroff
+ end
+ else begin
+ // not possible but added for code coverage's sake
+ end
+ //vnavigatoron
+ case(g_dout_w0x0f_v)
+ g_t_klim_w0x0f : begin
+ g_t_klim_dout <= din[i * 32 + 31:i * 32];
+ end
+ g_t_u_w0x0f : begin
+ // output klim
+ for (j=0; j <= 31; j = j + 1) begin
+ if(((g_t_klim_dout[j] == 1'b 0 && n9_bit_write == 1'b 0) || (din[j] == 1'b 0 && n9_bit_write == 1'b 1))) begin
+ g_t_u_dout[j] <= din[32 * i + j];
+ end
+ end
+ end
+ g_t_l_w0x0f : begin
+ g_t_l_dout <= din[i * 32 + 31:i * 32];
+ end
+ g_t_hhh_l_w0x0f : begin
+ g_t_hhh_l_dout <= din[i * 32 + 31:i * 32];
+ end
+ g_t_jkl_sink_l_w0x0f : begin
+ g_t_jkl_sink_l_dout <= din[i * 32 + 31:i * 32];
+ end
+ g_secondary_t_l_w0x0f : begin
+ g_secondary_t_l_dout <= din[i * 32 + 31:i * 32];
+ end
+ g_style_c_l_w0x0f : begin
+ g_style_c_l_dout[3:0] <= din[3 + i * 32:i * 32];
+ end
+ g_e_z_w0x0f : begin
+ g_e_z_dout <= din[i * 32 + 31:i * 32];
+ end
+ g_n_both_qbars_l_w0x0f : begin
+ g_n_both_qbars_l_dout <= din[i * 32 + 31:i * 32];
+ end
+ g_style_vfr_w0x0f : begin
+ // read-only register
+ end
+ g_style_klim_w0x0f : begin
+ g_style_klim_dout <= din[i * 32 + 31:i * 32];
+ end
+ g_unklimed_style_vfr_w0x0f : begin
+ // read-only register
+ end
+ g_style_t_y_w0x0f : begin
+ g_style_t_y_dout <= din[i * 32 + 31:i * 32];
+ end
+ g_n_l_w0x0f : begin
+ g_n_l_dout <= din[i * 32 + 31:i * 32];
+ end
+ g_n_vfr_w0x0f : begin
+ // writes
+ end
+ g_e_n_r_w0x0f : begin
+ g_e_n_r_dout <= din[i * 32 + 31:i * 32];
+ end
+ g_n_r_bne_w0x0f : begin
+ g_n_r_bne_dout <= din[i * 32];
+ end
+ g_n_div_rebeq_w0x0f : begin
+ g_n_div_rebeq_dout <= din[i * 32 + 31:i * 32] | g_n_div_rebeq_dout;
+ // a '1' writes
+ end
+ g_alu_l_w0x0f : begin
+ g_alu_l_dout <= din[i * 32 + 31:i * 32];
+ end
+ g_t_qaz_mult_low_w0x0f : begin
+ g_t_qaz_mult_low_dout <= din[i * 32 + 31:i * 32];
+ end
+ g_t_qaz_mult_high_w0x0f : begin
+ g_t_qaz_mult_high_dout <= din[i * 32 + 31:i * 32];
+ end
+ gwerthernal_style_u_w0x0f : begin
+ gwerthernal_style_u_dout <= din[i * 32 + 31:i * 32];
+ end
+ gwerthernal_style_l_w0x0f : begin
+ gwerthernal_style_l_dout <= din[i * 32 + 31:i * 32];
+ //vnavigatoroff
+ end
+ default : begin
+ //vnavigatoron
+ end
+ endcase
+ end
+ end
+ end
+ end
+
+ // sample
+ always @(posedge reset or posedge sysclk) begin
+ if((reset != 1'b 0)) begin
+ q_g_zaq_in <= {32{1'b0}};
+ q2_g_zaq_in <= {32{1'b0}};
+ q3_g_zaq_in <= {32{1'b0}};
+ end else begin
+ q_g_zaq_in <= g_zaq_in;
+ q2_g_zaq_in <= q_g_zaq_in;
+ q3_g_zaq_in <= g_zaq_in_y;
+ end
+ end
+
+ // vfr register
+ assign g_unklimed_style_vfr_dout = q2_g_zaq_in;
+ // switch
+ assign g_zaq_in_y = g_style_t_y_dout ^ q2_g_zaq_in;
+ // qaz
+ assign g_style_vfr_dout = {g_zaq_in_y[31:4],(((g_style_c_l_dout[3:0] & q_g_zaq_in_cd)) | (( ~g_style_c_l_dout[3:0] & g_zaq_in_y[3:0])))};
+ // in scan mode
+ assign g_zaq_in_y_no_dout = scanb == 1'b 1 ? (g_style_t_y_dout ^ g_zaq_in) : g_style_t_y_dout;
+ //vnavigatoron
+ assign g_sys_in_i = ({g_zaq_in_y_no_dout[31:4],(((g_style_c_l_dout[3:0] & q_g_zaq_in_cd)) | (( ~g_style_c_l_dout[3:0] & g_zaq_in_y_no_dout[3:0])))});
+ assign g_sys_in_ii = ((g_sys_in_i & ~gwerthernal_style_l_dout)) | ((gwerthernal_style_u_dout & gwerthernal_style_l_dout));
+ assign g_sys_in = g_sys_in_ii;
+ always @(posedge reset or posedge sysclk) begin
+ if((reset != 1'b 0)) begin
+ q_g_zaq_in_cd <= {4{1'b0}};
+ q_g_unzq <= {4{1'b1}};
+ end else begin
+ // sample
+ if((debct_ping == 1'b 1)) begin
+ // taken
+ for (i=0; i <= 3; i = i + 1) begin
+ if((g_zaq_in_y[i] != q3_g_zaq_in[i])) begin
+ q_g_unzq[i] <= 1'b 1;
+ end
+ else begin
+ if((q_g_unzq[i] == 1'b 0)) begin
+ q_g_zaq_in_cd[i] <= g_zaq_in_y[i];
+ end
+ else begin
+ q_g_unzq[i] <= 1'b 0;
+ end
+ end
+ end
+ end
+ else begin
+ for (i=0; i <= 3; i = i + 1) begin
+ if((g_zaq_in_y[i] != q3_g_zaq_in[i])) begin
+ q_g_unzq[i] <= 1'b 1;
+ end
+ end
+ end
+ end
+ end
+
+ // generate lqqs
+ always @(posedge reset or posedge sysclk) begin
+ if((reset != 1'b 0)) begin
+ q_g_style_vfr_dout <= {32{1'b0}};
+ end else begin
+ if((scanb == 1'b 1)) begin
+ q_g_style_vfr_dout <= g_style_vfr_dout;
+ //vnavigatoroff
+ end
+ else begin
+ // in scan
+ q_g_style_vfr_dout <= g_style_vfr_dout | ({g_zaq_out_i[31:17],1'b 0,g_zaq_out_i[15:1],1'b 0}) | g_zaq_ctl_i | g_sys_in_ii;
+ end
+ //vnavigatoron
+ end
+ end
+
+ // generate
+ assign g_n_active = (((((q_g_style_vfr_dout & ~g_style_vfr_dout)) | (( ~q_g_style_vfr_dout & g_style_vfr_dout & g_n_both_qbars_l_dout))))) & g_n_l_dout;
+ // check for lqq active and set lqq vfr register
+ // also clear
+ always @(posedge reset or posedge sysclk) begin
+ if((reset != 1'b 0)) begin
+ g_n_vfr_dout <= {32{1'b0}};
+ gwerth <= {32{1'b0}};
+ end else begin
+ for (i=0; i <= 31; i = i + 1) begin
+ // lqq
+ // vfr matches
+ if((g_n_active[i] == 1'b 1)) begin
+ gwerth[i] <= 1'b 1;
+ if((g_e_z_dout[i] == 1'b 1)) begin
+ // lqq
+ g_n_vfr_dout[i] <= 1'b 1;
+ end
+ else begin
+ g_n_vfr_dout[i] <= q_g_style_vfr_dout[i];
+ end
+ end
+ else begin
+ // clear
+ if((g_e_z_dout[i] == 1'b 0)) begin
+ g_n_vfr_dout[i] <= q_g_style_vfr_dout[i];
+ // default always assign
+ // in both
+ if((g_n_both_qbars_l_dout[i] == 1'b 1 || g_style_vfr_dout[i] == 1'b 1)) begin
+ gwerth[i] <= 1'b 0;
+ end
+ end
+ else begin
+ // write
+ if((g_wrb == 1'b 0 && g_dout_w0x0f == g_n_vfr_w0x0f && din[i] == 1'b 1)) begin
+ gwerth[i] <= 1'b 0;
+ g_n_vfr_dout[i] <= 1'b 0;
+ end
+ end
+ end
+ end
+ end
+ end
+
+ //--
+ // Create the Lqq
+ always @(g_n_r_bne_dout or g_e_n_r_dout) begin : P1
+ reg [31:0] imod8, idiv8;
+
+ for (i=0; i <= 31; i = i + 1) begin
+ imod8 = i % 8;
+ idiv8 = i / 8;
+ if((g_n_r_bne_dout == 1'b 0)) begin
+ // non-unique
+ g_vector[8 * i + 7:8 * i] <= g_e_n_r_dout[8 * idiv8 + 7:8 * idiv8];
+ end
+ else begin
+ // unique
+ if((imod8 == 0)) begin
+ g_vector[8 * i + 7:8 * i] <= g_e_n_r_dout[8 * idiv8 + 7:8 * idiv8];
+ end
+ else begin
+ g_vector[8 * i + 7:8 * i] <= (((g_e_n_r_dout[8 * idiv8 + 7:8 * idiv8])) + ((imod8)));
+ end
+ end
+ end
+ end
+
+ //--
+ // Qaz
+ assign g_noop = g_n_div_rebeq_dout;
+ always @(swe_ed or swe_lv or g_e_z_dout) begin
+ for (i=0; i <= 31; i = i + 1) begin
+ if((g_e_z_dout[i] == 1'b 1)) begin
+ swe_qaz1[i] <= swe_ed;
+ end
+ else begin
+ swe_qaz1[i] <= swe_lv;
+ end
+ end
+ end
+
+
+endmodule
OpenPOWER on IntegriCloud