Posts
Showing posts from October, 2020
Latest Post
Verilog: Half Subtractor Behavioral Modelling with Testbench Code
- Get link
- X
- Other Apps
![Image](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh8wq9_7ZQ9lAGBXLt-r0iw54rv5FaqxKJEDmSmm0JN9DPCrQKZwezgAsstBVsjcZywxNW7z0yMdPQlA1oc2kukQD3JJemkG__cEzgc9B-0hdTdfFNFpAbeExc9A5FCtfmNmvWUAz1RHU/w640-h176/HalfSub.png)
Verilog Code Half Subtractor Behavioral Modelling module Half_Sub ( input a, b; output diff, borr ); always @(a or b) assign {borr,diff} = (~a) + b; endmodule // test-bench initial begin a=0; b=0; #100; //wait 100ns for global reset to finish //add stimulus here #100 a=0; b=1; #100 a=1; b=0; #100 a=1; b=1; end initial begin #100 $ monitor (“a=%b, b=%b, diff=%b, borr=%b”, a, b, diff, borr); end endmodule Xilinx Output: Half Subtractor Behavioral Modelling Verilog Code
Verilog: Half Adder Behavioral Modelling with Testbench Code
- Get link
- X
- Other Apps
![Image](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv8jbR07FZLlT277vqdXt8g5-NO64t7qUeVcnMooQeWmp6m-nnX2lZw1tODeEM2p9jqshIAONwxCii6TNTSdpdG2rVcNsYXnK5pJPJ033JLqgYM1vWhJtRxY8UaFYMPsaZYZdXF5zZztk/w640-h212/HalfAdd.png)
Verilog Code Half Adder Behavioral Modelling module Half_Adder ( input a, b; output sum, carry ); always @(a or b) assign {carry,sum} = a + b; endmodule // test-bench initial begin a=0; b=0; #100; //wait 100ns for global reset to finish //add stimulus here #100 a=0; b=1; #100 a=1; b=0; #100 a=1; b=1; end initial begin #100 $ monitor (“a=%b, b=%b, sum=%b, carry=%b”, a, b, sum, carry); end endmodule Xilinx Output: Half Adder Verilog Code Behavioral Modelling
Full Subtractor Verilog Code in Behavioral Modelling with Testbench Code
- Get link
- X
- Other Apps
![Image](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji0KvRdmADt8TZjag0ThVu9i5eV86r_uAM22MlUkj_dOJvWbL25ZBzBBxVt5MppEiaesIYMhKxR2Jb_QazLQegwdhkFH97dU7GASlvbnI0u-8ENe3aHH-tTZuQIBlQwvlA7YhtRcuug6s/w640-h218/FullSub.png)
Full Subtractor Verilog Code in Behavioral Modelling module Full_Sub ( input a, b, bin; output diff, borr ); always @(a or b or bin) assign {borr,diff} = (~a) + b + bin; endmodule // test-bench initial begin a=0; b=0; bin=0; #100; //wait 100ns for global reset to finish //add stimulus here #100 a=0; b=1; bin=0; #100 a=1; b=0; bin=0; #100 a=1; b=1; bin=0; end initial begin #100 $ monitor (“a=%b, b=%b, bin=%b, diff=%b, borr=%b”, a, b, bin, diff, borr); end endmodule Xilinx Output: Full Subtractor Verilog Code Behavioral Modelling
Verilog: XNOR Gate Behavioral Modelling with Testbench Code
- Get link
- X
- Other Apps
![Image](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNUOyLa92Ak6Ob1BJhCSBBpEe3NClxTth0qdfSkCIfpg7-p34N-SUd-xPBQ-4LFpiTy4g8_2woi8etd4V3Tg9-d-pavUGpV8HxxJdfU9oNHJx2xbvOJU4PQmXG5gIxDCF7OKJW5pcQ1XA/w640-h176/XNOR.png)
Verilog Code XNOR Gate Behavioral Modelling module XNOR_GATE ( input a, b, output out ); reg out; always @(a or b) begin if (a==b) out = 1’b1; else out = 1’b0; endmodule //test-bench initial begin a=0; b=0; #100; //wait 100ns for global reset to finish //add stimulus here #100 a=0; b=1; #100 a=1; b=0; #100 a=1; b=1; end initial begin #100 $ monitor (“a=%b, b=%b, out=%b”, a, b, out); end endmodule Xilinx Output: Verilog XNOR Gate Behavioral Modelling Response
Verilog: XOR Gate Behavioral Modelling with Testbench Code
- Get link
- X
- Other Apps
![Image](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlA-jdxLNro3B9NjUWPZ_NC3H7uv7RlUsagDzWDOps-LQ9kK8429nkExcSY7xfyutaWmPsK1TS1IM1Ez2aqN__R79gCYhQITtBUdWgiGnuZ3rWB8ShC3sUnwUTVUNjboBUeBnDUlXjGIQ/w640-h178/XOR.png)
Verilog Code XOR Gate Behavioral Modelling module XOR_GATE ( input a, b, output out ); reg out; always @(a or b) begin if (a==b) out = 1’b0; else out = 1’b1; endmodule //test-bench initial begin a=0; b=0; #100; //wait 100ns for global reset to finish //add stimulus here #100 a=0; b=1; #100 a=1; b=0; #100 a=1; b=1; end initial begin #100 $ monitor (“a=%b, b=%b, out=%b”, a, b, out); end endmodule Xilinx Output: XOR Gate Verilog Behavioral Modelling
Verilog: NOR Gate Behavioral Modelling with Testbench Code
- Get link
- X
- Other Apps
![Image](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHRaCFjzF0UVKeDPFlIUHUIUFZFZksN2DWpqg-xTTdyS-ownu8aR_xHO_2ZV0tm0m52c8_TOHYl_qHw7rCzcSCACjUUe9hz06TWpdOS3PGsfRxuXQvCCthJN_iIKnkth75ofi6_tSG8TI/w640-h178/NOR.png)
Verilog Code NOR Gate Behavioral Modelling module NOR_GATE ( input a, b, output out ); reg out; always @(a or b) begin if (a==0 & b==0) out = 1’b1; else out = 1’b0; endmodule //test-bench initial begin a=0; b=0; #100; //wait 100ns for global reset to finish //add stimulus here #100 a=0; b=1; #100 a=1; b=0; #100 a=1; b=1; end initial begin #100 $ monitor (“a=%b, b=%b, out=%b”, a, b, out); end endmodule Xilinx Output: NOR Gate Behavioral Modelling Verilog
Verilog: NOT Gate Behavioral Modelling with Testbench Code
- Get link
- X
- Other Apps
![Image](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEBJxHMh2LO1TZqPMilo7OAxHpBBQRFaTSrjhlt3FEbcMniInOypDyw4dVe1fyPhNNldKJ_AmCSi7XZRZNDvPRgNKY1876glrz_zZNFg9YXdyLvCn96oQAoox3B7agNn24pGJoIjRoDAg/w640-h184/NOT.png)
Verilog Code NOT Gate Behavioral Modelling // main module NOT_GATE ( input a; output out ); reg out; always @(a) begin if (a==0) out = 1’b1; else out = 1’b0; endmodule // test-bench initial begin a=0; #100; //wait 100ns for global reset to finish //add stimulus here #100 a=0; #100 a=1; end initial begin #100 $ monitor (“a=%b, out=%b”, a, out); end endmodule Xilinx Output: Not Gate Behavioral Modelling
Popular posts from this blog
VLSI: 1-4 DEMUX (Demultiplexer) Dataflow Modelling with Testbench
Verilog Code for 1-4 DEMUX Dataflow Modelling module demux_1_to_4( input d, input s0, input s1, output y0, output y1, output y2, output y3 ); assign s1n = ~ s1; assign s0n = ~ s0; assign y0 = d& s0n & s1n; assign y1 = d & s0 & s1n; assign y2 = d & s0n & s1; assign y3 = d & s0 & s1; endmodule //Testbench code for 1-4 DEMUX Dataflow Modelling initial begin // Initialize Inputs ...
VLSI: 4-1 MUX Dataflow Modelling with Testbench
Verilog Code for 4-1 MUX Dataflow Modelling module m41(out, i0, i1, i2, i3, s0, s1); output out; input i0, i1, i2, i3, s0, s1; assign y0 = (i0 & (~s0) & (~s1)); assign y1 = (i1 & (~s0) & s1); assign y2 = (i2 & s0 & (~s1)); assign y3 = (i3 & s0 & s1); assign out = (y0 | y1 | y2 | y3); endmodule //Testbench code for 4-1 MUX Dataflow Modelling initial begin // Initialize Inputs a = 1;b = 0;c = 0;d = 0;s0 = 0;s1 = 0; ...
Full Subtractor Verilog Code in Structural/Gate Level Modelling with Testbench
Verilog Code for Full Subtractor Structural/Gate Level Modelling module full_sub(borrow,diff,a,b,c); output borrow,diff; input a,b,c; wire w1,w4,w5,w6; xor (diff,a,b,c); not n1(w1,a); and a1(w4,w1,b); and a2(w5,w1,c); and a3(w6,b,c); or o1(borrow,w4,w5,w6); endmodule //Testbench code for Full Subtractor Structural/Gate Level Modelling initial begin // Initialize Inputs a = 0; b = 0; c = 0; // Wait 100 ns for global reset to finish #100; // Add stimulus here #100; a = 0;b = 0;c = 1; #100; a = 0;b = 1;c = 0; #100; a = 0;b = 1;c = 1; #100; a = 1;b = 0;c = 0; #100; a = 1;b = 0;c = 1; #100; a = 1;b = 1;c = 0; #100; a = 1;b = 1;c = 1; end Output: RTL Schematic: Full Subtractor Verilog Other Verilog Programs: Go to Index of Verilog Programming
Verilog: 8 to 1 Multiplexer (8-1 MUX) Dataflow Modelling with Testbench Code
Verilog Code for 8 to 1 Multiplexer Dataflow Modelling module mux_8to1( input a, input b, input c, input D0, input D1, input D2, input D3, input D4, input D5, input D6, input D7, output out, ); module m81( output out, input D0, D1, D2, D3, D4, D5, D6, D7, S0, S1, S2); assign S1bar=~S1; assign S0bar=~S0; assign S2bar=~S2; assign out = (D0 & S2bar & S1bar & S0bar) | (D1 & S2bar & S1bar & S0) | (D2 & S2bar & S1 & S0bar) + (D3 & S2bar & S1 & S0) + (D4 & S2 & S1bar & S0bar) + (D5 & S2 & S1bar & S0) + (D6 & S2 & S1 & S0bar) + (D7 & S2 & S1 & S0); endmodule //Testbench code for 8-1 MUX Dataflow Modelling initial begin // Initialize Inputs a= 0;b = 0;c = 0;D0 = 1;D1 = 0;D2 = 0;D3 = 0;D4 = 0;D5 = 0;D6 = 0;D7 = 0; // Wait 100 ns for global reset to finish #100; // Add stimulus here #100; a = 0;b = 0;c = 1;d0 = ...
VLSI: Half Subtractor and Full Subtractor Gate Level Modelling
Half Subtractor: Verilog Module Code: module half_subtractor ( input a, input b, output diff output borr ); wire x; xor (diff,a,b); not (x,a); and (borr,x,b); endmodule Full Subtractor: Verilog Module Code: module full_subtractor ( input a, input b, input c, output diff output borr ); wire x,n2,z,n1; xor s1(x,a,b); not s3(n2,x); not s4(n1,c); and s5(y,n1,b); xor s2(diff,a,x); and s6(z,n2,a); or (borr,y,z); endmodule