///#### LSU EE 3755 Spring 2010 Verilog Homework 1- Code template.############# ///#### Instructions: ///#### ///#### Copy this to a file( name it hw1.v) and save on your class account. ///#### Use this file for your solution. ///#### Your entire solution should be on this file. ///#### Do not rename the modules in this file and be sure to use the file name given above. /// //////////////////////////////////////////////////////////////////////////////// /// Problem 0 module hello(); initial begin //#### Display your name and class account. //#### Write your code here. //#### For example //#### If your name is "Clark Kent" and class account is ee375501 //#### The exact answer will be: $display("ee375501 Clark Kent\n");//simply change the account number and name. end endmodule //////////////////////////////////////////////////////////////////////////////// /// Problem 1 module one_bit_slice_ex(abc_next,abc_pre,a,b,c); input a, b, c, abc_pre; output abc_next; wire abc_xor, abc_pre_not; //##### your solution goes here //##### 3 lines endmodule //////////////////////////////////////////////////////////////////////////////// /// Problem 2 module one_bit_slice_im(abc_next,abc_pre,a,b,c); input a, b, c ,abc_pre; output abc_next; wire abc_xor, abc_pre_not; //#### your solution goes here //#### could be only 1 line endmodule //////////////////////////////////////////////////////////////////////////////// /// Problem 3 module two_one_bit_slices (abc_next,a,b,c,abc_pre); input [1:0] a, b,c; input abc_pre; output abc_next; wire abc_1; //#### your solution goes here //#### 2 lines. endmodule //////////////////////////////////////////////////////////////////////////////// /// Problem 4 module one_bit_detect_unit(P_set_i_1, Position,a,b,P_set_i); input a,b,P_set_i; output P_set_i_1,Position; reg P_set_i_1,Position; always begin P_set_i_1 = 0; Position = 0; if( (a == 1) & (b == 1) & (P_set_i == 0)) begin P_set_i_1 = 1; Position = 1; end #5; if(P_set_i ==1) begin P_set_i_1 = 1; end #5; end endmodule //complete this module module three_bit_detect_unit(Position, a, b); input [2:0] a, b; output[2:0] Position; wire [2:0] P_set; //#### Your solution goes here //#### 3 lines //////////////////////////////////////////////////////////////////////////////// /// Test Bench /// Do not modify test bench module test(); wire[2:0] position; reg [2:0] a, b; integer i; three_bit_detect_unit com1(position ,a,b); initial begin for(i=0; i<=63; i=i+1) begin a = i[2:0]; b = i[5:3]; #100; $display("a = %b,b=%b,position=%b\n",a,b,position); end $display("Tests completed."); $finish; end endmodule //########## Hint for problem 4############################################ //## When you run your program, you will see these from the output. //##//// a = 000,.... //##//// ...... //##//// a = 011,b=111,position = 010 //##//// a = 100,b=111,position = 100 //##//// a = ..... //#########################################################################