Latest Post
Ads
C Program for Level Sketch
- Get link
- X
- Other Apps
C Level Sketch:
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
float th,ov, HH,H,L,LL,lowTap,UpTap,CC,HH1,H1,L1,LL1,HHper,Hper,Lper,LLper,BtTap;
char ch;
do
{
printf("\nEnter Tank Height in mm:");
scanf("%f",&th);
printf("\nHeight of HH:");
scanf("%f",&HH);
printf("\nHeight of H:");
scanf("%f",&H);
printf("\nHeight of L:");
scanf("%f",&L);
printf("\nHeight of LL:");
scanf("%f",&LL);
printf("\nEnter Height of Overflow Nozzle (if required):");
scanf("%f",&ov);
if (ov != 0)
{
th = ov;
}
else
{
th = th;
}
printf("Height Valid: %.2f",th);
HHper = (HH * 100)/th;
Hper = (H * 100)/th;
Lper = (L * 100)/th;
LLper = (LL * 100)/th;
if (HHper < 90 && LLper > 10)
{
printf("\nAlarm Positions are Valid.");
}
else
{
printf("\nChange Alarm Positions.");
}
printf("\nEstimate Lower Tapping Height:");
scanf("%f",&lowTap);
printf("\nEstimate Upper Tapping Height:");
scanf("%f",&UpTap);
printf("\nEstimate Bottom Pipe(Enter zero if not required):");
scanf("%f",&BtTap);
if (BtTap == 0)
{
CC = UpTap - lowTap;
HH1 = HH - lowTap;
H1 = H - lowTap;
L1 = L - lowTap;
LL1 = LL - lowTap;
}
else
{
CC = UpTap + BtTap;
HH1 = HH + BtTap;
H1 = H + BtTap;
L1 = L + BtTap;
LL1 = LL + BtTap;
}
printf("\n C-C Distance is %f",CC);
HHper = (HH1 * 100)/CC;
Hper = (H1 * 100)/CC;
Lper = (L1 * 100)/CC;
LLper = (LL1 * 100)/CC;
printf("\nHH percentage: %.2f",HHper);
printf("\nH percentage: %.2f",Hper);
printf("\nL percentage: %.2f",Lper);
printf("\nLL percentage: %.2f",LLper);
if (HHper < 90 && LLper > 10)
{
printf("\nTapping Positions are Valid.");
}
else
{
printf("\nChange Tapping Positions.");
}
printf ("\n\nDo you want to repeat the operation Y/N: ");
scanf (" %c", &ch);
}
while (ch == 'y' || ch == 'Y');
return 0;
}
- Get link
- X
- Other Apps
Ads
Popular posts from this blog
VLSI: BCD to Excess 3 and Excess 3 to BCD Dataflow Modelling
module bcd_ex3_Dataflow( input a, input b, input c, input d, output w, output x, output y, output z ); assign w = (a | (b & c) | (b & d)); assign x = (((~b) & c) | ((~b) & d) | (b & (~c) & (~d))); assign y = ((c & d) | ((~c) & (~d))); assign z = ~d; endmodule Excess 3 to BCD: module ex3_to_bcd( input w, input x, input y, input z, output a, output b, output c, output d ); assign a = ((w & x) | (w & y & z)); assign b = (((~x) & (~y)) | ((~x) & (~z)) | (x & y & z)); assign c = (((~y) & z) | (y & (~z))); assign d = ~z; endmodule
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
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; // Wait 100 ns for global reset to finish #100; // Add stimulus here #100; s0=0;s1=1;a=0;b=1;c=0;d=0; #100; s0=1;s1=0;a=0;b=0;c=1;d=0;
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
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 d = 1; s0 = 0; s1 = 0; // Wait 100 ns for global reset to finish #100;
Comments
Post a Comment