From 335280ccd532843a2eb808e75eacb61070a95325 Mon Sep 17 00:00:00 2001 From: "jose.rodriguezlabra" Date: Sun, 24 Mar 2019 16:35:59 -0400 Subject: [PATCH 1/2] Added Binary Search Code --- Bank_behav1.wcfg | 8 +- lab2CA.runs/impl_1/gen_run.xml | 14 +- lab2CA.sim/sim_1/behav/xsim/xelab.pb | Bin 4381 -> 5421 bytes .../webtalk/xsim_webtalk.tcl | 40 +++-- .../xsim/xsim.dir/CPU9bits_tb_behav/xsim.mem | Bin 19590 -> 19925 bytes lab2CA.sim/sim_1/behav/xsim/xvlog.pb | Bin 8668 -> 8668 bytes lab2CA.srcs/sources_1/new/dataMemory.v | 57 +++++-- lab2CA.srcs/sources_1/new/instructionMemory.v | 150 +++++++++++++----- lab2CA.xpr | 4 +- 9 files changed, 186 insertions(+), 87 deletions(-) diff --git a/Bank_behav1.wcfg b/Bank_behav1.wcfg index 234d01c..123f0ad 100644 --- a/Bank_behav1.wcfg +++ b/Bank_behav1.wcfg @@ -11,13 +11,13 @@ - - - + + + - + diff --git a/lab2CA.runs/impl_1/gen_run.xml b/lab2CA.runs/impl_1/gen_run.xml index 2c0c43a..063b89e 100644 --- a/lab2CA.runs/impl_1/gen_run.xml +++ b/lab2CA.runs/impl_1/gen_run.xml @@ -1,14 +1,14 @@ + - + - - + @@ -18,12 +18,12 @@ - - + - + + @@ -31,8 +31,8 @@ - + diff --git a/lab2CA.sim/sim_1/behav/xsim/xelab.pb b/lab2CA.sim/sim_1/behav/xsim/xelab.pb index 175ab9378d8334a5b87ce9004cf48bab7b237e57..3887e53ecf87a57e1ebbbae2995afbcdd9aa9197 100644 GIT binary patch delta 1027 zcmbQMv{q}wA12TLj9gm9sX3|1B?_5&DXA3-s>MJ?Nxp)*YO%UPX0bwkX^BF9nnF^3 zXz7I#H)W^P$(QD$0ZvXK}UlcCu}1F`zt)ZF}{N+b4^)U?FXoDwS- z!zhBw$=OOjv^ce>Sl=tZIMp*fFEKeYU*FkL!6z|EKPNHC$k|b^xG1?;zc|0NC^@w_ z-cUa;wOl_Xu_VzKY^q+F03#NYCAgSO%mtXhGW95yS}-~=MzI?j=o*_Fm}W2(uvM^4 zU}O+r;-Z$9&C#7R(SdECg1};6g1}-B1%c(j1cBw?2?A3CXb>n6$_SgkF{$$b0FA>x AH~;_u delta 12 TcmZ3hHCJiFAEwPb?23EXSIM Usage Report
" +webtalk_add_data -client xsim -key File_Counter -value "9" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key Command -value "xelab" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key Vhdl2008 -value "false" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key GenDLL -value "false" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key SDFModeling -value "false" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key HWCosim -value "false" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key DPI_Used -value "false" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key Debug -value "typical" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key Simulation_Image_Code -value "109 KB" -context "xsim\\usage" +webtalk_add_data -client xsim -key Simulation_Image_Data -value "19 KB" -context "xsim\\usage" +webtalk_add_data -client xsim -key Total_Nets -value "0" -context "xsim\\usage" +webtalk_add_data -client xsim -key Total_Processes -value "281" -context "xsim\\usage" +webtalk_add_data -client xsim -key Total_Instances -value "144" -context "xsim\\usage" +webtalk_add_data -client xsim -key Xilinx_HDL_Libraries_Used -value "secureip unimacro_ver unisims_ver " -context "xsim\\usage" +webtalk_add_data -client xsim -key Compiler_Time -value "1.19_sec" -context "xsim\\usage" +webtalk_add_data -client xsim -key Compiler_Memory -value "49056_KB" -context "xsim\\usage" +webtalk_transmit -clientid 4125363012 -regid "" -xml C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.xml -html C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.html -wdm C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.wdm -intro "

XSIM Usage Report


" webtalk_terminate diff --git a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/xsim.mem b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/xsim.mem index 32c1368078dfd772a78f27f019e5e23243b27ff0..e0224a8ea2ee24f7f975d5187575a46556b7a54f 100644 GIT binary patch literal 19925 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 JNRx8N{{sW?9@78- literal 19590 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 delta 236 zcmccPe8+i07Jq7TYEEL3zN@pVv8lO%?qmTbxsB7a7}3Qy3oyBeq6>l)Z*CNC!cYyC xFp#XlE^$+;47)^)3>Q|3$u%-OllRL?Fc}+8zA5_+t26${O~I;n^IipcMgZeWL<|4` diff --git a/lab2CA.srcs/sources_1/new/dataMemory.v b/lab2CA.srcs/sources_1/new/dataMemory.v index b9c116e..d88881c 100644 --- a/lab2CA.srcs/sources_1/new/dataMemory.v +++ b/lab2CA.srcs/sources_1/new/dataMemory.v @@ -9,23 +9,46 @@ module dataMemory( reg [8:0] memory [15:0]; initial begin - // String Compare Memory - memory[0] <= 9'b000000100; - memory[1] <= 9'b000001000; - memory[2] <= 9'b000001100; - memory[3] <= 9'b010101010; - memory[4] <= 9'b000001111; - memory[5] <= 9'b000000100; - memory[6] <= 9'b000000011; - memory[7] <= 9'b000000000; - memory[8] <= 9'b000001111; - memory[9] <= 9'b000000100; - memory[10] <= 9'b000000010; - memory[11] <= 9'b000000000; - memory[12] <= 9'b000000000; - memory[13] <= 9'b000000000; - memory[14] <= 9'b000000000; - memory[15] <= 9'b000000000; +// // String Compare Memory +// memory[0] <= 9'b000000100; +// memory[1] <= 9'b000001000; +// memory[2] <= 9'b000001100; +// memory[3] <= 9'b010101010; +// memory[4] <= 9'b000001111; +// memory[5] <= 9'b000000100; +// memory[6] <= 9'b000000011; +// memory[7] <= 9'b000000000; +// memory[8] <= 9'b000001111; +// memory[9] <= 9'b000000100; +// memory[10] <= 9'b000000010; +// memory[11] <= 9'b000000000; +// memory[12] <= 9'b000000000; +// memory[13] <= 9'b000000000; +// memory[14] <= 9'b000000000; +// memory[15] <= 9'b000000000; + + // Binary Search Memory + memory[0] <= 9'b000000000; + memory[1] <= 9'b000000111; + memory[2] <= 9'b000000001; + memory[3] <= 9'b000000010; + memory[4] <= 9'b000000011; + memory[5] <= 9'b000000100; + memory[6] <= 9'b000000101; + memory[7] <= 9'b000000110; + memory[8] <= 9'b000000111; + memory[9] <= 9'b000001000; + memory[10] <= 9'b000001001; + memory[11] <= 9'b000001010; + memory[12] <= 9'b000001011; + memory[13] <= 9'b000001100; + memory[14] <= 9'b000001101; + memory[15] <= 9'b000001110; + memory[16] <= 9'b000001111; + memory[17] <= 9'b000010000; + memory[18] <= 9'b000010001; + memory[19] <= 9'b000010010; + end always@(address, clk, memory)begin diff --git a/lab2CA.srcs/sources_1/new/instructionMemory.v b/lab2CA.srcs/sources_1/new/instructionMemory.v index 7347372..e6210eb 100644 --- a/lab2CA.srcs/sources_1/new/instructionMemory.v +++ b/lab2CA.srcs/sources_1/new/instructionMemory.v @@ -34,51 +34,117 @@ module instructionMemory( //String Compare - memory[0] <= 9'b000000000; - memory[1] <= 9'b010000000; - memory[2] <= 9'b010001000; - memory[3] <= 9'b010010000; - memory[4] <= 9'b010011000; - memory[5] <= 9'b000100000; - memory[6] <= 9'b011001001; - memory[7] <= 9'b000101010; - memory[8] <= 9'b011010010; - memory[9] <= 9'b000110100; - memory[10] <= 9'b011011011; - memory[11] <= 9'b000111110; - memory[12] <= 9'b101010000; - memory[13] <= 9'b101000010; - memory[14] <= 9'b101001100; - memory[15] <= 9'b101011110; //ends initialization - memory[16] <= 9'b101000011; - memory[17] <= 9'b101001101; - memory[18] <= 9'b000110000; - memory[19] <= 9'b000111010; - memory[20] <= 9'b110010001; - memory[21] <= 9'b100100001; - memory[22] <= 9'b100110000; - memory[23] <= 9'b110011001; - memory[24] <= 9'b100100001; - memory[25] <= 9'b100101101; - memory[26] <= 9'b011000001; - memory[27] <= 9'b011001001; - memory[28] <= 9'b101000010; - memory[29] <= 9'b101001100; - memory[30] <= 9'b010110111; - memory[31] <= 9'b110010001; - memory[32] <= 9'b101110010; - memory[33] <= 9'b101000000; - memory[34] <= 9'b101001110; - memory[35] <= 9'b001001000; - memory[36] <= 9'b011000001; - memory[37] <= 9'b101000000; - memory[38] <= 9'b101111000; - memory[39] <= 9'b000000000; - +// memory[0] <= 9'b000000000; +// memory[1] <= 9'b010000000; +// memory[2] <= 9'b010001000; +// memory[3] <= 9'b010010000; +// memory[4] <= 9'b010011000; +// memory[5] <= 9'b000100000; +// memory[6] <= 9'b011001001; +// memory[7] <= 9'b000101010; +// memory[8] <= 9'b011010010; +// memory[9] <= 9'b000110100; +// memory[10] <= 9'b011011011; +// memory[11] <= 9'b000111110; +// memory[12] <= 9'b101010000; +// memory[13] <= 9'b101000010; +// memory[14] <= 9'b101001100; +// memory[15] <= 9'b101011110; //ends initialization +// memory[16] <= 9'b101000011; +// memory[17] <= 9'b101001101; +// memory[18] <= 9'b000110000; +// memory[19] <= 9'b000111010; +// memory[20] <= 9'b110010001; +// memory[21] <= 9'b100100001; +// memory[22] <= 9'b100110000; +// memory[23] <= 9'b110011001; +// memory[24] <= 9'b100100001; +// memory[25] <= 9'b100101101; +// memory[26] <= 9'b011000001; +// memory[27] <= 9'b011001001; +// memory[28] <= 9'b101000010; +// memory[29] <= 9'b101001100; +// memory[30] <= 9'b010110111; +// memory[31] <= 9'b110010001; +// memory[32] <= 9'b101110010; +// memory[33] <= 9'b101000000; +// memory[34] <= 9'b101001110; +// memory[35] <= 9'b001001000; +// memory[36] <= 9'b011000001; +// memory[37] <= 9'b101000000; +// memory[38] <= 9'b101111000; +// memory[39] <= 9'b000000000; + + // Binary Search + + memory[0] <= 9'b000000000; + memory[1] <= 9'b000000000; + memory[2] <= 9'b000000000; + memory[3] <= 9'b000000000; + memory[4] <= 9'b000000000; + memory[5] <= 9'b000000000; + memory[6] <= 9'b011001011; //addi R1, 3 (N = 3) + memory[7] <= 9'b011001011; //addi R1, 3 (N = 3) + memory[8] <= 9'b011001011; //addi R1, 3 (N = 3) + memory[9] <= 9'b011001011; //addi R1, 3 (N = 3) + memory[10] <= 9'b011001011; //addi R1, 3 (N = 3) + memory[11] <= 9'b011010010; //addi R2, 2 (inputAddr = 2) + memory[12] <= 9'b000111110; //lb R3, R3 + memory[13] <= 9'b101011010; //banks R3, 1 + memory[14] <= 9'b011001011; //addi R1, 3 (N = 3) + memory[15] <= 9'b101000000; //loop: banks R0, 0 + memory[16] <= 9'b011100010; //slt R0, R1 + memory[17] <= 9'b110000001; //beq R0, Exit + memory[18] <= 9'b100100001; //j Skip0 + memory[19] <= 9'b100101110; //Exit: j Loose + memory[20] <= 9'b010101000; //Skip0: add R2, R0 + memory[21] <= 9'b010101010; //add R2, R1 + memory[22] <= 9'b111110000; //sll R2 + memory[23] <= 9'b101011011; //bankl R3,1 + memory[24] <= 9'b010111100; //add R3, R2 + memory[25] <= 9'b101001100; //banks R1, 2 + memory[26] <= 9'b000100110; //lb R0, R3 + memory[27] <= 9'b010001000; //zero R1 + memory[28] <= 9'b011001010; //addi R1, 1 (numAddr = 1) + memory[29] <= 9'b000101010; //lb R1, R1 + memory[30] <= 9'b100100001; //j SkipU + memory[31] <= 9'b101110001; //j TransLoop + memory[32] <= 9'b101010110; //SkipU: banks R2, 3 + memory[33] <= 9'b100100001; //j SkipD + memory[34] <= 9'b100110111; //j TransLoose + memory[35] <= 9'b010010000; //SkipD: zero R2 + memory[36] <= 9'b010110010; //add R2, R1 + memory[37] <= 9'b010101001; //sub R1, R0 + memory[38] <= 9'b110001001; //beq R1, Go1 + memory[39] <= 9'b100100001; //j Skip1 + memory[40] <= 9'b100101001; //Go1: j Win + memory[41] <= 9'b010001000; //Skip1: zero R1 + memory[42] <= 9'b010101100; //add R1, R2 + memory[43] <= 9'b011100010; //slt R0, R1 + memory[44] <= 9'b110001001; //beq R1, Go2 + memory[45] <= 9'b100100110; //j Skip2 + memory[46] <= 9'b010000000; //Go2: zero R0 + memory[47] <= 9'b011000010; //addi R0, 1 + memory[48] <= 9'b101001111; //bankl R1,3 + memory[49] <= 9'b010100010; //add R0, R1 + memory[50] <= 9'b101001101; //bankl R1,2 + memory[51] <= 9'b101110101; //j loop + memory[52] <= 9'b010001000; //Skip2: zero R1 + memory[53] <= 9'b011001111; //addi R1, -1 + memory[54] <= 9'b101000111; //bankl R0, 3 + memory[55] <= 9'b010101000; //add R1, R0 + memory[56] <= 9'b101000001; //bankl R0,0 + memory[57] <= 9'b101111011; //j loop + memory[58] <= 9'b010000000; //Loose: zero R0 + memory[59] <= 9'b011000111; //addi R0, -1 + memory[60] <= 9'b101000110; //banks R0, 3 + memory[61] <= 9'b100100000; //j Win + memory[62] <= 9'b000000000; //Win: halt + + end - always@(address)begin readData <= memory[address]; end diff --git a/lab2CA.xpr b/lab2CA.xpr index d15e3f5..9a80179 100644 --- a/lab2CA.xpr +++ b/lab2CA.xpr @@ -3,7 +3,7 @@ - +