This site contains a lot of Free E-Books and all information about Electronics Enginering, EBooks, Algorithms, Software Books & Complete Micro Processor Guide
Monday, April 28, 2008
“behavioural model” & “structural model”
Verilog Shift Register with Test Bench
output [7:0] result;
input [7:0] value_in;
input direction;
input [1:0] type;
input [2:0] length;
reg [7:0] value_out;
always @(value_in or direction or type or length)
begin
case ({direction, type})
3'b0_00: value_out = value_in >> length;
3'b0_01: case(length)
3'b000: value_out = value_in;
3'b001: value_out = {value_in[7], value_in[7:1]};
3'b010: value_out = {{2{value_in[7]}}, value_in[7:2]};
3'b011: value_out = {{3{value_in[7]}}, value_in[7:3]};
3'b100: value_out = {{4{value_in[7]}}, value_in[7:4]};
3'b101: value_out = {{5{value_in[7]}}, value_in[7:5]};
3'b110: value_out = {{6{value_in[7]}}, value_in[7:6]};
3'b111: value_out = {{7{value_in[7]}}, value_in[7]};
endcase
3'b0_10: case(length)
3'b000: value_out = value_in;
3'b001: value_out = {value_in[0], value_in[7:1]};
3'b010: value_out = {value_in[1:0], value_in[7:2]};
3'b011: value_out = {value_in[2:0], value_in[7:3]};
3'b100: value_out = {value_in[3:0], value_in[7:4]};
3'b101: value_out = {value_in[4:0], value_in[7:5]};
3'b110: value_out = {value_in[5:0], value_in[7:6]};
3'b111: value_out = {value_in[6:0], value_in[7]};
endcase
3'b1_00: value_out = value_in <<>
3'b1_01: value_out = {value_in[7], value_in[6:0] <<>
3'b1_10: case(length)
3'b000: value_out = value_in;
3'b001: value_out = {value_in[6:0], value_in[7]};
3'b010: value_out = {value_in[5:0], value_in[7:6]};
3'b011: value_out = {value_in[4:0], value_in[7:5]};
3'b100: value_out = {value_in[3:0], value_in[7:4]};
3'b101: value_out = {value_in[2:0], value_in[7:3]};
3'b110: value_out = {value_in[1:0], value_in[7:2]};
3'b111: value_out = {value_in[0], value_in[7:1]};
endcase
default: value_out = value_in;
endcase
end
assign result = value_out;
endmodule
--
module testbench;
reg clk, direction;
reg [1:0] type;
reg [2:0] length;
reg [7:0] value_in;
wire [7:0] result;
shifter shifter1(result, value_in, direction, type, length);
initial
begin
clk = 0;
direction = 1;
type = 1;
length = 3;
value_in = 'b11110110;
$display("direction = %d type = %d length = %d value_in = %b", direction, type, length, value_in);
#10 $display("done");
$finish;
end
always #5 clk = !clk;
always @(posedge clk)
$strobe("result: %b", result);
endmodule
Verilog Awareness
* What is the difference between blocking and nonblocking assignment? Explain with a simple example?
* What is the difference between wire and a reg data type?
* Write code for async reset D-Flip-Flop, Shift Register.
* Write code for 2:1 MUX using different coding styles.
* Write code for parallel encoder and priority encoder.
* Different "case" usage styles! Explain.
* What is the difference between === and == ?
* Why is defparam used for ?
* What is the difference between unary operator and logical operator ?
* What is the difference between task and function ?
* What is the difference between transport and inertial delays?
* What is the difference between casex and case statements ?
* What is the difference between $monitor and $display ?
* What is the difference between compiled, interpreted, event based and cycle based simulator ?
Verilog Awareness
What are the different State machine Styles ? Which is better ? Why and when do we use one ove the other? Explain Disadv. and Adv.?
What is the difference between the following lines of code ?
1. reg1<= #10 reg2 ; 2. reg3 = # 10 reg 4 ; What is value of Var1 after the following assignment ? 1. reg Var1; 2. initial begin 3. Var1<= "-" 4. end What is the output of the below code? 1. module quest_for_out(); 2. 3. integer i; 4. reg clk; 5. 6. initial begin 7. clk = 0; 8. #4 $finish; 9. end 10. 11. always #1 clk = !clk; 12. 13. always @ (posedge clk) 14. begin : FOR_OUT 15. for (i=0; i < i =" i">
16. if (i == 5) begin
17. disable FOR_OUT;
18. end
19. $display ( "Current i : %g" ,i);
20. end
21. end
22. endmodule
What is the output of the below code?
1. module quest_for_in();
2.
3. integer i;
4. reg clk;
5.
6. initial begin
7. clk = 0;
8. #4 $finish;
9. end
10.
11. always #1 clk = !clk;
12.
13. always @ (posedge clk)
14. begin
15. for (i=0; i < i =" i">
16. if (i == 5) begin
17. disable FOR_IN;
18. end
19. $display ( "Current i : %g" ,i);
20. end
21. end
22. endmodule
Verilog Blocking Vs Non Blocking, Myths and Facts
So here are some thoughts.
There is very little difference between non-blocking and blocking in speed and no errors if done correctly either way.
The main differences are:
Some people like non-blocking because you can tell that a reg on the left hand side of <= is going to be a flip flop after synthesis. /* example 1a */ reg a,b,c; always @(posedge clock) begin b <= a; /* b and c will be flip flops */ c <= b; end /* example 1b */ reg a,b,c; always @(posedge clock) begin c <= b; b <= a; /* b and c will be flip flops */ end /* example 2a */ reg a,b,c; always @(posedge clock) begin b = a; c = b; /* Only c will be a flip flop,b will go away after synthesis. */ /* We could delete the 2 above assignments and replace it with c=a;b=a; In fact, b is the same as c and can be eliminated.*/ end /* example 2b */ reg a,b,c; always @(posedge clock) begin c = b; b = a; /* Both b and c will be flip flops, because these 2 lines are reversed.*/ end Example 1a, 1b and 2b are functionally the same. Example 2a is functionally different from 2b just because the order of the statements. Some people like blocking because it takes less memory in the simulator. /* example NON-BLOCKING_MEMORY */ reg a,b,c; always @(posedge clock) begin /* b will require 2 memory locations*/ b <= a; /*<---because this b memory location will hold value of a */ c <= b; /*<---and this b memory location will hold value of b before the posedge*/ end /* example BLOCKING_MEMORY */ reg a,b,c; always @(posedge clock) begin // b will require ONLY 1 memory location c = b; b = a; end Note that I am talking about SIMULATOR memory, not flip-flop count after synthesis. In most cases, the simulator has to remember the value before and after posedge clock if a reg goes between modules in order in order to "execute modules in parallel", so there may be no savings. Some people like blocking because you can see sharing of resources more readily. // example 5 reg [15:0] a,b,c,d,e,f,j,k,g,h; reg [16:0] x,y,z; always @(posedge clock) begin x = a + b + c + d + e + f + j + k; y = x + g; z = x + h; end // example 6 reg [15:0] a,b,c,d,e,f,j,k,g,h; reg [16:0] y,z; always @(posedge clock) begin y <= (a + b + c + d + e + f + j + k) + g; z <= (a + b + c + d + e + f + j + k) + h; end Even the cheapest synthesizer should share adder logic in example 5, but a slightly smarter synthesizer is required in example 6. You will have fewer problems with race conditions in SIMULATION if you always use non-blocking assignments inside always @(posedge clock) blocks where you want to have flip-flops. file xyz.v : module xyz(a,b,clk); input b,clk; output a; reg a; always @(posedge clk) a = b; endmodule file abc.v : module abc(b,c,clk); input c, clk; output b; reg b; always @(posedge clk) b = c; endmodule Some of the simulators out there will execute module abc first and then module xyx. This effectively transfers contents of c to a in ONE clk cycle. This is what some people refer to as a simulator race conditon. Other simulators will execute module xyz and then module abc giving a different simulation result. In some simulators, order of execution cannot be controlled by users.
Synthesizable Verilog from behavioral constructs - 5
Behavioural:
forever
begin
command1;
@(posedge clock);
command2;
@(posedge clock);
command3;
@(posedge clock);
end
Synthesizable:
always @(posedge clock or posedge reset)
if (reset) // reset the state machine when reset is high
begin
state <= 0;
end
else
begin
case (state)
0 : begin
command1;
state <= 1;
end
1 : begin
command2;
state <= 2;
end
2 : begin
command3;
state <= 0;
end
endcase
end
If both clock edges are present, then you could implement it in synthesizable Verilog with a state machine changing values on both clock edges:
Behavioural:
forever
begin
command1;
@(posedge clock);
command2;
@(negedge clock);
command3;
@(posedge clock);
@(posedge clock);
command4;
@(negedge clock);
end
Synthesizable:
always @(posedge clock or negedge clock or posedge reset)
if (reset) // reset the state machine when reset is high
begin
state <= 0;
end
else
begin
case (state)
0 : begin
command1;
state <= 1;
end
1 : if (clock == 1) // wait for the positive edge
begin
command2;
state <= 2;
end
2 : begin // this will definitely begin at the negative edge as state 1 precedes it
command3;
state <= 3;
end
3 : state <= 4; // we arrive at the positive edge of the clock, but need to wait a clock cycle
4 : if (clock == 1) // wait for the positive edge
begin
command4;
state <= 0;
end // we'll get back to state 0 at the negative clock edge, the right time for command1
endcase
end
As you can see, multiple clock edges requires care to implement in synthesizable Verilog.
Note: in general commandi refers to a block of commands. It is assumed there is an appropriate clock for the case statement state machines. Care is required in setting appropriate reset states, initialization, and completion of use of a state machine:
* Is there a signal to tell the state machine to begin?
* Does a done signal go high, signalling the state machine has finished?
* When it is not in operation, does the state machine idle correctly? Does it change signal values shared with other code? Does it set outputs from it to appropriate idling values?
* Is the state machine reset to the idle state by a reset signal?
* Ensure that you initialize all registers.
* Ensure that your state register has the correct bit width - if it is too small, assigning a larger state value will just return it to an earlier state.
Design Guidelines and Criteria for Digital Electronics
Synthesizable Verilog from behavioral constructs - 4
Behavioural:
task update_a_and_b;
begin
a = y;
wait (z != 0) b = z;
end
endtask
...
y = x + w;
update_a_and_b; // calls the task
x = a + b;
@(posedge clock);
x = b;
if (y == x) update_a_and_b;
@(posedge clock);
command1;
Care must be taken when translating this into synthesizable Verilog, to preserve correct timing:
module update_a_and_b(do_update_a_and_b, clock, reset, a, z, done_update_a_and_b, b_temp, x_temp);
input do_update_a_and_b; // this signal should go high for only one clock cycle
input clock;
input reset; // reset this module when reset goes high
input [7:0] a;
input [7:0] z;
output done_update_a_and_b;
output [7:0] b_temp;
output [7:0] x_temp;
reg done_update_a_and_b;
reg [7:0] b_temp;
reg [7:0] x_temp;
reg state;
always @(posedge refclk or posedge reset)
if (reset)
begin
state <= 0; done_update_a_and_b = 0; b_temp = 0; x_temp = 0; end else if (do_update_a_and_b && (state == 0)) begin done_update_a_and_b = 0; if (z != 0) begin b_temp = z; x_temp = a+b_temp; // x value is update inside this module, as it must occur immediately when z != 0 done_update_a_and_b = 1; // stay in state 0, we've finished end else state <= 1; end else begin case (state) 0 : done_update_a_and_b = 0; // do nothing, this is the idle state 1 : if (z != 0) begin b_temp = z; x_temp = a+b_temp; // x value is update inside this module, as it must occur immediately when z != 0 done_update_a_and_b = 1; state <= 0; // stay in state 0, we've finished end endcase end endmodule ... reg [2:0] top_state; ... case (top_state) 0 : begin y = x + w; a = y; // this must happen immediately if (z != 0) // we have to update x and b immediately if z != 0 begin b = z; x = a + b; top_state <= 2; end else begin do_update_a_and_b = 1; // call the task top_state <= 1; end end 1 : begin do_update_a_and_b = 0; // stays high for only one cycle if (done_update_a_and_b) begin // we assume the values of x and b weren't needed on the previous cycle, otherwise additional circuitry is needed // or x_temp and b_temp values need to be used on that cycle - it's very difficult to coordinate this correctly // in the general case x = x_temp; b = b_temp; top_state <= 2; end end 2 : begin x = b; if (y == x) begin a = y; // this must happen immediately if (z != 0) // we have to update x and b immediately if z != 0 begin b = z; x = a + b; top_state <= 4; end else begin do_update_a_and_b = 1; // call the task top_state <= 3; end end else top_state <= 4; end 3 : begin do_update_a_and_b = 0; // stays high for only one cycle if (done_update_a_and_b) begin // we assume the values of x and b weren't needed on the previous cycle, otherwise additional circuitry is needed // or x_temp and b_temp values need to be used on that cycle - it's very difficult to coordinate this correctly // in the general case x = x_temp; b = b_temp; top_state <= 4; end end 4: command1; endcase Now if we didn't care about having a couple of additional cycle delays between updates (i.e. assuming nothing depends on the variable values immediately, and nothing else is changing variable values), we could implement this in a far simpler fashion: module update_a_and_b(do_update_a_and_b, clock, reset, a, z, done_update_and_b, b_temp, x_temp); input do_update_a_and_b; // this signal should go high for only one clock cycle input clock; input reset; // reset this module when reset goes high input [7:0] a; input [7:0] z; output done_update_and_b; output [7:0] b_temp; output [7:0] x_temp; reg done_update_and_b; reg [7:0] b_temp; reg [7:0] x_temp; reg state; always @(posedge refclk or posedge reset) if (reset) begin state <= 0; done_update_and_b = 0; b_temp = 0; x_temp = 0; end else if (do_update_a_and_b && (state == 0)) begin state <= 1; done_update_a_and_b = 0; end else begin case (state) 0 : done_update_and_b = 0; // do nothing, this is the idle state 1 : if (z != 0) begin b_temp = z; x_temp = a+b_temp; // x value is update inside this module, as it must occur immediately when z != 0 done_update_and_b = 1; state <= 0; // stay in state 0, we've finished end endcase end endmodule ... reg [2:0] top_state; ... case (top_state) 0 : begin y = x + w; do_update_a_and_b = 1; // call the task top_state <= 1; end 1 : begin do_update_a_and_b = 0; // stays high for only one cycle if (done_update_and_b) begin x = x_temp; b = b_temp; top_state <= 2; end end 2 : begin x = b; if (y == x) begin do_update_a_and_b = 1; // call the task top_state <= 3; end else top_state <= 4; end 3 : begin do_update_a_and_b = 0; // stays high for only one cycle if (done_update_and_b) begin x = x_temp; b = b_temp; top_state <= 4; end end 4: command1; endcase Note: in general commandi refers to a block of commands. It is assumed there is an appropriate clock for the case statement state machines. Care is required in setting appropriate reset states, initialization, and completion of use of a state machine: o Is there a signal to tell the state machine to begin? o Does a done signal go high, signalling the state machine has finished? o When it is not in operation, does the state machine idle correctly? Does it change signal values shared with other code? Does it set outputs from it to appropriate idling values? o Is the state machine reset to the idle state by a reset signal? o Ensure that you initialize all registers. o Ensure that your state register has the correct bit width - if it is too small, assigning a larger state value will just return it to an earlier state.
synthesizable Verilog from behavioral constructs - 3
Behavioural:
command1;
fork
// start of fork block 1
begin
wait (y != 0);
a = y;
end
// start of fork block 2
begin
wait (z != 0);
b = z;
end
join
command2;
command2 will execute only after fork blocks 1 and 2 have finished.
Synthesizable:
case (state)
0 : begin
command1;
done_fork_block_1 = 0;
done_fork_block_2 = 0;
if (y != 0)
begin
a = y;
done_fork_block_1 = 1;
end
if (z != 0)
begin
b = z;
done_fork_block_2 = 1;
end
if (done_fork_block_1 & done_fork_block_2) command2;
else state <= 1; end 1 : begin if ((y != 0) && !done_fork_block_1) begin a = y; done_fork_block_1 = 1; end if ((z != 0) && !done_fork_block_2) begin b = z; done_fork_block_2 = 1; end if (done_fork_block_1 & done_fork_block_2) command2; // else state <= 1; end endcase In some special cases, it may not be necessary to have done signals, but in general the blocks of commands being executed in parallel by fork may finish at different times. Again, if a cycle delay between command1 and the other commands executing is acceptable, then this code is simpler: case (state) 0 : begin command1; done_fork_block_1 = 0; done_fork_block_2 = 0; state <= 1; end 1 : begin if ((y != 0) && !done_fork_block_1) begin a = y; done_fork_block_1 = 1; end if ((z != 0) && !done_fork_block_2) begin b = z; done_fork_block_2 = 1; end if (done_fork_block_1 & done_fork_block_2) command2; // else state <= 1; end endcase As y or z may have different values after a clock cycle passes, care needs to be taken in choosing the simpler alternative, that doesn't exactly implement the behavioural code. Note: in general commandi refers to a block of commands. It is assumed there is an appropriate clock for the case statement state machines. Care is required in setting appropriate reset states, initialization, and completion of use of a state machine: * Is there a signal to tell the state machine to begin? * Does a done signal go high, signalling the state machine has finished? * When it is not in operation, does the state machine idle correctly? Does it change signal values shared with other code? Does it set outputs from it to appropriate idling values? * Is the state machine reset to the idle state by a reset signal? * Ensure that you initialize all registers. * Ensure that your state register has the correct bit width - if it is too small, assigning a larger state value will just return it to an earlier state.
synthesizable Verilog from behavioral constructs - 2
Behavioural:
command1;
while (x != 0)
begin
command2;
end
command3;
Synthesizable:
case (state)
0 : begin
command1;
if (x != 0)
begin
command2;
state <= 1; end else command3; end 1 : if (x != 0) begin command2; end else command3; endcase Again, if a cycle delay between command1 and the other commands executing is acceptable, simpler code is the following: case (state) 0 : begin command1; state <= 1; end 1 : if (x != 0) begin command2; end else command3; endcase Note: in general commandi refers to a block of commands. It is assumed there is an appropriate clock for the case statement state machines. Care is required in setting appropriate reset states, initialization, and completion of use of a state machine: o Is there a signal to tell the state machine to begin? o Does a done signal go high, signalling the state machine has finished? o When it is not in operation, does the state machine idle correctly? Does it change signal values shared with other code? Does it set outputs from it to appropriate idling values? o Is the state machine reset to the idle state by a reset signal? o Ensure that you initialize all registers. o Ensure that your state register has the correct bit width - if it is too small, assigning a larger state value will just return it to an earlier state.
Verilog Awareness - Interview Questions
always @(clk)
begin
a = 0;
a <= 1; $display(a); end
Q: Given the following snippet of Verilog code, draw out the waveforms for "clk" and "a".
always @(clk)
begin
a = 0;
#5 a = 1;
end
Q: What is the difference between the following two lines of Verilog code?
#5 a = b;
a = #5 b;
Q: Write Verilog to provide a divide-by-3 clock from the standard clock.
Q: What is the difference between:
c = foo ? a : b;
and
if (foo) c = a; else c = b;
Q: Using the given, draw the waveforms for the following (each version is separate, i.e. not in the same run):
reg clk;
reg a;
always #10 clk = ~clk;
(1) always @(clk) a = # 5 clk;
(2) always @(clk) a = #10 clk;
(3) always @(clk) a = #15 clk;
Now, change to a wire, and draw for:
(4) assign #5 a = clk;
(5) assign #10 a = clk;
(6) assign #15 a = clk;
synthesizable Verilog from behavioral constructs - 1
Behavioural:
command1;
wait (x != 0);
command3;
Synthesizable:
case (state)
0 : begin
command1;
if (x != 0) command3;
else state <= 1; end 1 : if (x != 0) // wait until this is true command3; endcase You also need to add the variable state, reg state. If a cycle delay between command1 and command3 does not matter, then the following is simpler, but not identical to the original: case (state) 0 : begin command1; state <= 1; end 1 : if (x != 0) // wait until this is true command3; endcase The latter approach is preferred in many cases for coding simplicity. Note: in general commandi refers to a block of commands. It is assumed there is an appropriate clock for the case statement state machines. Care is required in setting appropriate reset states, initialization, and completion of use of a state machine: * Is there a signal to tell the state machine to begin? * Does a done signal go high, signalling the state machine has finished? * When it is not in operation, does the state machine idle correctly? Does it change signal values shared with other code? Does it set outputs from it to appropriate idling values? * Is the state machine reset to the idle state by a reset signal? * Ensure that you initialize all registers. * Ensure that your state register has the correct bit width - if it is too small, assigning a larger state value will just return it to an earlier state.
Free Download - handbook, code check, training guide, electrodynamic
Handbook of electrical design details
http://rapidshare.com/files/11403239/Handbook_of_Electrical_Design_Details.rar
Code check electrical - an illustrated guide to wiring a safe house, code check series, reducing code violation, types of residential electrical system.
http://rapidshare.com/files/49156955/Code.Check.Electrical.Illustrated.Guide.to.Wiring.a.Safe.House_1561587389.zip
Training guide - networking essentials, ASCII, IEEE 802 standard.
http://rapidshare.com/files/48890202/MCSE_Training_Guide-Networking_Essentials-1562057499.rar
Electrodynamic
http://depositfiles.com/files/1494510
Bio mems technologies and applications - microelectromechanical system, fundamentals principles, engineering aspects, biomedical samples.
http://rapidshare.com/files/49075783/Bio-MEMS_ertu.rar
Coarse and Fine grained architectures
Coarse-grained architectures consist of fairly large logic blocks, often containing two or more look-up tables and two or more flip-flops. In a majority of these architectures, a four-input look-up table (think of it as a 16x1 ROM) implements the actual logic. The larger logic blocks usually corresponds to improved performance.
Fine-grained circuits, consist of the basic cell being simple (OR, AND,and NOT).
free download CMOS Logic books
CMOS Memory Circuits
By Tegze P. Haraszti
http://depositfiles.com/files/348411
CMOS Electronics How It Works, How It Fails
By Jaume Segura
http://mihd.net/4th3zp
CMOS Analog Circuit Design
By Phillip E. Allen
http://rapidshare.com/files/24373742/cmos_analog_circuit_design.rar
Multi-voltage CMOS Circuit Design
By Volkan Kursun
http://mihd.net/13csay
Low-Power CMOS Design for Wireless Transceivers
By Alireza Zolfaghari
http://rapidshare.com/files/23566222/kluwer_-_low_power_cmos_design_for_wireless_transceivers_1402072538.rar
CMOS IC Layout Concepts, Methodologies, and Tools
By Dan Clein
http://rapidshare.de/files/21314818/CLEIN__D.__1999_._CMOS_IC_Layout_-_Concepts__Methodologies__and_Tools.rar
Low-Power CMOS Circuits
By Christian Piguet
http://rapidshare.com/files/12380998/Piguet.rar
Nano-CMOS Circuit and Physical Design
By Ban Wong
http://depositfiles.com/en/files/398957
CMOS Current Amplifiers
By Giuseppe Palmisano
http://rapidshare.com/files/24372116/kluwer_-_cmos.current.amplifiers.rar
Design of CMOS Radio-Frequency Integrated Circuits
By Thomas H. Lee
http://mihd.net/dlg6jp
free download CMOS Layout Design books
CMOS Circuit Design, Layout, and Simulation By R. Jacob Baker
http://rapidshare.com/files/44535291/CMOS_Circuit_Design_Layout_and_Simulation_2nd_Baker.pdf
Multi-voltage CMOS Circuit Design
By Volkan Kursun
http://mihd.net/13csay
CMOS Analog Circuit Design
By Phillip E. Allen
http://mihd.net/6qk4xd
CMOS IC Layout Concepts, Methodologies, and Tools
By Dan Clein
http://rapidshare.de/files/21314818/CLEIN__D.__1999_._CMOS_IC_Layout_-_Concepts__Methodologies__and_Tools.rar
High Speed CMOS Design Styles
By Kerry Bernstein
http://mihd.net/5.3615/High.Speed.djvu.html
Nano-CMOS Circuit and Physical Design
By Ban Wong
http://depositfiles.com/files/398957
Parasitic-Aware Optimization of CMOS RF Circuits
By David J. Allstot
http://mihd.net/1ihxzv
IC Layout Basics A Practical Guide
By Christopher
http://mihd.net/ic9s5z
free download cmos analog book
Ultra_Low_Power_Capacitive_Sensor_Interfaces
http://rapidshare.com/files/73934509/Ultra_Low_Power_Capacitive_Sensor_Interfaces.ace
pass=yaali
Switched-Capacitor_Techniques_For_High-Accuracy_Filter_And_ADC_Design
http://rapidshare.com/files/73935266/Switched-Capacitor_Techniques_For_High-Accuracy_Filter_And_ADC_Design.ace
pass=yaali
RF POWER AMPLIFIERS FOR MOBILE COMMUNICATIONS
http://rapidshare.com/files/73935840/RF_POWER_AMPLIFIERS_FOR_MOBILE_COMMUNICATIONS.ace
pass=yaali
Low-Frequency Noise In Advanced Mos Devices
http://rapidshare.com/files/73936346/LowFrequency_Noise_In_Advanced_Mos_Devices.ace
pass=yaali
CMOS_Single_Chip_Fast_Frequency_Hopping_Synthesizers_For_Wireless_Multi-Gigahertz_Applications
http://rapidshare.com/files/73936787/CMOS_Single_Chip_Fast_Frequency_Hopping_Synthesizers_For_Wireless_Multi-Gigahertz_Applications.ace
pass=yaali
Broadband_Opto-Electrical_Receivers_in_Standard_CMOS
http://rapidshare.com/files/73937404/Broadband_OptoElectrical_Receivers_in_Standard_CMOS.ace
pass=yaali
Adaptive_Low-Power_Circuits_for_Wireless_Communications
http://rapidshare.com/files/73938563/Adaptive_LowPower_Circuits_for_Wireless_Communications.ace
pass=yaali
free download Electromagnetics, Circuit Theory, Digital Signal books
Engineering ElectromagneticsBy William Hayt
http://mihd.net/bmtaor
Computational Methods for Electromagnetics and Microwaves By Richard C. Booton
http://rapidshare.com/files/235923/Computational_Methods_for_Electromagnetics_and_Microwaves.rar
Antenna and EM Modeling with MatlabBy Sergey N. Makarov
http://rapidshare.com/files/9753581/_Matlab__Wiley_-_Antenna_and_EM_Modeling_with_MATLAB.zip.html
Ground Penetrating Radar
http://file2upload.com/file/1161/Ground-Penetrating-Radar.pdf.html
Fourier Transforms in Radar and Signal ProcessingBy David Brandwood
http://rapidshare.com/files/14475484/1580531741.rar
Digital Signal Processing: A Computer-Based ApproachBy Sanjit K Mitra
http://rapidshare.com/files/23459161/mcgraw_hill_-_digital_signal_processing_-_computer_based_approach.rar
Signal Analysis : Time, Frequency, Scale, and StructureBy Ronald L. Allen Duncan Mills
http://rapidshare.com/files/3510152/0471234419.pdf
Understanding Digital Signal ProcessingBy Richard G. Lyons
http://mihd.net/ty4aro
Digital Signal Processing: DSP and ApplicationsBy Dag Stranneby
http://rapidshare.com/files/11805490/0750648112.rar
http://mihd.net/muve0c
Introduction to Digital Signal Processing and Filter DesignBy B. A. Shenoi
http://rapidshare.com/files/8096928/0471464821.zip
Signal Processing and Linear Systems, 2000-02By B. P. Lathi
http://rapidshare.de/files/33553548/0195219171.zip
Signals and SystemsBy Bernd Girod
http://depositfiles.com/files/289546/Signals_and_Systems__Wiley_.pa.html
High-Fidelity Circuit Design.By Norman, & George Cooper, Crowhurst
http://rapidshare.com/files/12452683/Crowhurst.pdf
Electrical Circuit Theory and Technology : Revised editionBy John Bird
http://mihd.net/lc1seu
Coombs' Printed Circuits HandbookBy Clyde F. Coombs
http://mihd.net/1sun5d
The Art of ElectronicsBy Paul Horowitz
http://rapidshare.com/files/5195392/art-elect.rar
Digital Switching Systems: System Reliability and AnalysisBy Syed Riffat Ali
http://mihd.net/ms2h7t
Verilog HDL (2nd Edition)By Samir Palnitkar
http://mihd.net/r01wld
Principles and Applications of Electrical EngineeringBy Giorgio Rizzoni
http://mihd.net/lkajm3
SPICE for Power Electronics and Electric Power, Second Edition
By Mohammaed Rashid
http://rapidshare.com/files/9508729/SPICE_for_Power_Electronics__Second_Edit
Free Download - digital, electrodynamics, antenna, circuit board, encyclopedia
Digital filter design - design and implementations.
http://uploadphiles.com/index.php?page=main&id=422e12220&name=0471828963.rar
Electrodynamics of solids
http://rapidshare.com/files/5698787/AA451006.rar.html
Electronics for dummies
http://rapidshare.com/files/6306731/Electronics_for_Dummies.rar
Practical antenna handbook - high frequency dipole, vertically polarized HF, Multiband and tunabe wire, hidden and limited space, directional phased vertical and directional beam, transmitting and recieving, shortwave reception, microwave, mobile, marine, and emergency, radio and electronics technicians, amateur radio operators, citizen banders, shortwave listeners, radio enthusiasts and professionals of al types.
http://rapidshare.com/files/51881408/Practical_Antenna_Handbook_4th_Edition-0071374353.rar
Tab electronics guide to understanding - electricity and electronics second edition
http://rapidshare.com/files/68543062/_djvu_Mcgraw_Hill_-_2000_-_Tab_Electronics_Guide_To_Understanding_Electricity___Electronics.djvu
http://rapidshare.com/files/68554842/0071360573.rar
http://depositfiles.com/files/2313289
http://depositfiles.com/files/2314182
Complete PCB design usig OrCad capture and layout - printed circuit board, practicing engineers,software package, schematic diagram.
http://rapidshare.com/files/61798662/Newnes_Complete_PCB_0750682140.rar
Heteroepitaxy of semiconductors - theory growth and characterization, with graph ilustrate and discussion.
http://w14.easy-share.com/6438681.html
Encylopedia of television - focuses on the history and current state of television.
http://w14.easy-share.com/6261431.html
Newness complete PCB design using orcad capture and layout
http://anonym.to/?http://rapidshare.com/files/61715810/ReallyUsefulEbooks.ne
Free Download - Electrical Electronics, signal,design, ebook, dictionary
Spring signal processing for telecommunications and multimedia
http://rapidshare.de/files/7886988/Springer_Signal.Processing.for.Telecommunications.and.Multimedia_MAZ.rar.html
Newnes short range wirless communications
http://rapidshare.de/files/7886577/Newnes_-_Short-Range_Wireless_Communications_MAZ.rar.html
An Unconventional Guide to Electronics, 2nd Edition
http://rapidshare.de/files/7889674/bbbebook_MAZ.rar.html
Digital signal processing system level design
http://rapidshare.de/files/7884093/Digital.Signal.Processing.System-Level.Design.Using.LabVIEW_MAZ.rar.html
Digital signal processing
http://rapidshare.de/files/7884463/LabVIEW.Digital.Signal.Processing_MAZ.rar.html
Integrated electronics - electronics and lots of problems
http://people.na.infn.it/%7Ebarbarin/MaterialeDidattico/libri/libri_base/Millman%20Halkias%20-%20Integrated%20Electronic,%20Analog%20And%20Digital%20Circuits%20And%20Systems%20-%20Mcgraw%20Hill.pdf
Electronics and communications book set - verilog HDL synthesis, Statistical signal processing, signal and system, handbook of time series, analog and digital circuits for electronics control system, data acquisition and signl processing,guide to rish processors for programmer and engineers, Multiprocessor, system, chip, digital frequency systhesis, mobile telecom, protocol, data, network, mms technologies, fundamental of swithcing theory, fiber optic essetials, practical circuit design, programming the paraller port.
http://www.esnips.com/web/New12192007
The illustrated dictionary for electronics - reference, easy to read, abbreviation, robotics, artificial intelligence, laser, tv, radio, IC technology, digital and analogi electronics, communication, audio, video.
http://rapidshare.de/files/10995676/The_Illustrated_Dictionary_of_Electronics.rar
Introduction to fiber optics
Mirror
http://www.esnips.com/doc/24b27201-ea99-420a-9b76-8f76124ad7e0/Intro
http://www.esnips.com/doc/35705a6b-0fc3-45b1-97b6-8f1220a433d9/Int
Basic circuit analysis and outline eBook
http://rapidshare.com/files/1275285/SO19.rar.html
Digital principles
http://rapidshare.com/files/1288980/SO07.rar.html
Electronic cicuits
http://rapidshare.com/files/1288034/SO06.rar.html
Visual basic for electronics applicatons
http://www.rapidshare.com/files/33498226/Visual_Basic_for_Electronics..r
Digital logic and computer design
http://mihd.net/li0n9m
Digital signal processing principles eBooks and solutions
http://rapidshare.com/files/2324711/DigitalSignalProcessing__Solutions
http://rapidshare.com/files/2326469/DigitalSignalProcessing_3rdEd_muy
Principles of digital communication system and computer networks
http://rapidshare.de/files/26713962/1584503297.zip
Wireless communications principles and practice
http://rapidshare.com/files/10872620/Wireless.Communications-Principles.and.Practice_K_0133755363.rar
Digital communication and principles
http://rapidshare.com/files/18554327/Digital_Communications_Proakis.rar
Theory and problem of electric circuit
http://rapidshare.com/files/37523615/1181983281_so06.rar.schaums.outline
Free download Electrical dictionary, handbook, power system etc.
Electrical engineering dictionary
http://www.filestube.com/6a51a66a2bf71fb803e9/go.html
Standard handbook for electrical engineer
http://www.filestube.com/1da4e4ac5a64a1a303e9/go.html
Electrical and electronics principles and technology
http://www.filestube.com/eda686f24ecedfeb03e9/go.html
Principles and applications of electrical engineering
http://www.filestube.com/c01047f178b96d8103ea/go.html
Electrical power system quality 2nd editions
http://www.filestube.com/aaf7cdf9c3ec55d003e9/go.html
Electrical circuit theory and technology
http://www.filestube.com/026d6d488b5854d203e9/go.html
Fast analytical techniques electrical electronics circuits
http://www.filestube.com/d804b3d3894e7ff103e9/go.html
Handbook of electrical design details second edition
http://www.filestube.com/4b1e2d8c62dee1a003ea/go.html
ELectrical instulation for rotating machine
http://www.filestube.com/ac1ed3cca285f73003e9/go.html
Electrical and electronics principles and technology
http://www.filestube.com/22b676c00e3a3e3b03e9/go.html
Electrical contacts fundamentals applications and technology
http://www.filestube.com/36dc2f96ca9ecddc03e9/go.html
Setting fires with electrical timers
http://www.filestube.com/90b208ac89e548ec03e9/go.html
Electrical engineers portable handbook
http://www.filestube.com/f8e0bc88b393259003e9/go.html
free download CDMA Systems Engineering Handbook
By Jhong Sam Lee
http://rapidshare.com/files/7957458/CDMA.Systems.Engineering.Handbook.pdf