Cisco is **NETWORKING** based company. You **MUST** have at least the minimum knowledge, and taste of network with you. You can also get CCNA,and CCNP degrees from Cisco..

In the following post. I do my best to transfer to main important concepts

Part 1: Introduction to networking:

**Modems** : This is the very first device between your equipment that connect your computers to** the internet cloud.**[DSL or Digital Subscriber Line(12Mbps is the Maximum of this technology, Asynchronous and download is faster than upload, and speed is always fix), T1, T2,T3, cable, fiber optic,comcast modems]

**Routers**: behind the modem, there is device called router, and it responsible for routing data in the network

**Firewalls**: underneath the router, firewall exists to protect your device from hackers

**Switches: **is located under firewall as the spliter of internet signal : HUBs was old concept of Switches. JUST trow them in garbage. Hub has no intelligent and basically split internet between users and it causes problem, but Switches knows how to transfer data. Switches may have different ports from 4 to hundred, thousands. We have managed and un-managed switch. Manage version allows you to go into the switch and program to do certain things like quality of the service.. 10Mbps[old days]/100Mbps[nowadays]/ 1000Mbps [latest technology]

**Wireless Access Points: **will allow wireless devices, and computers to connect to your network. standards are 802.11 family [a[old and nobody use them nowadays, and is not compatible with other standard], b[11Mbps],g,n[allows much larger area to cover, faster, suitable for VOIP],ac]

**Defines Logical and Physical: **[Not necessary the same concepts]. For example physically you may have one device including modem+ router + firewall + Switch but logically they for devices. Even you may connect your computer to a switch share with other computer but you not logically connected to the same network

**Speed** :first of all b=bit and B=Byte and the you should know that speed is measured in bps means bit per second

**VPN**: Virtual Private Network.: Somebody out of physical network becomes a member of your internal network

**Cabling : **jack-patch panel

** Clients, Devices and Servers: **Everything on the network is called network device, Server:is a network device that provide something for the rest of the network, Clients: is a network device that receives ar service from service

Part 2: Understanding broadband technologies

I learnt Python from Google Developer Python class, and I recommend you to start learning it as a fast scripting language.

**This topic is also known as timing analysis.**

There three type of testing approaches in digital designs:

1-We design, without considering a part for test inside the design, and after it we apply a test pattern to cover a large portion of the faults

2- Design for testablility. such as BIST (Built-In-Self-Test) normally come up with design i FPGA boards

3- Fault tolerant design: In this type of design, we consider a good margin to tolerate errors

Fault sources:

1- In design process: It can happen in two parts; specifications and implementation

2-Device defects

3-Manufacturing process: It happens in material

Fault types:

1- Dynamic: is more related to timing

2- Static: is more related to wiring faults, two wire close to each other and etc.

Test Models: (very simple fault model: Stuck-at faults)

1 – Stuck-at-0 (s-a-0)

2 – Stuck-at-1 (s-a-1)

Combinational Circuits- Test pattern generation

We have Fault vectors (F), and test vectors (T)

Fault Simulation: Given a test vector, by simulating the circuit with the fault, identify all the faults covered by the test vector, It the output is different this test vector can detect that fault

Test Generation: Given a fault, identify all the test vectors which can cover that fault.

Limitations: 1-We expect one fault to occur[max] 2- Fault other than Stuck-at-fault are expected to show up as stuck-at-faults at some other location 3- these approaches are valid only for combinational circuits

Typical Circuit Enhancement:

1- Insertion of test points: We increase number of outputs

2-Pin amplification: We multiplex the function of the pin

3-Test modes:

4- Scan chains: We can test all pins from a pin

Will be continued ….

You can ignore this post as, I have never asked, or heard from my gangs who got interview at Cisco hardware team, that any questions related to MATLAB were asked there. I personally had a tutoring sessions with my students at McGIll, and I decided to review MATLAB here for you, as you are an engineer and having knowledge of MATLAB is a MUST for you.

Note: What in many other programming languages can only be done with loops, Matlab can often do with vectors

Desktop calculations:1-At the end of each command line putting

;will not echo the input2- Arithmetic:

+ – * / \(left and right divisions, note that MATLAB has two operation for division)^: Then 6/3 is 2 and 3\6 is 2, too.3- Last line editing: by pressing

Up/Down buttons; you can recall the last line4- A few built-in functions:

sin(x), cos(x), tan(x), sqrt(x), exp(x), log(x), log10(x), acos(x), asin(x), atan(x), atan2(x,y)5- Naming constants and variables

: MATLAB is Case-sensitive. Therefore, Pi, Pi, PI; pi are different 7- Format: 5 digits display is default, but 15 digits display can be achieved by command:format long, for scientific nation command isformat short e.6- Cleaning the screen:

clc7- NaN : Not a Number : I got reject from a company by not knowing it. These values result from operations which have undefined numerical results

One-dimensional arrays

1-Define a row and column matrix: space and comma are equal [1 2 3] = [1,2,3]

2-Indexing for a

matrix(x,y)3- Size of a matrix:

size(Matrix),Length of vector:length(Matrix)4- Clearing variables:

clear5- Add/subtract to matrix

A+B.A-B, array multiplicationA.*B, array divisionA./B. Array powerA.^n6- Defining equally distance elements,

A=[1:1:10];7-Simple plots:

plot(x,y,’color’), grid on/off, xlabel(‘’), ylabel(‘’), figure, hold on/off, hist(Y,X)Matrices

1- Defining a matrix:

A=[1 2 3;4 5 6]2- Juxtaposition and sub matrix C

= [A B], C=[A;B], C=A(:,1), A(:,1), A(1:2,1:2’]3- Elementary operations with matrices

A+B, A-B, A.*B and A*B, A./B4-

ones(m,n), zeros(m,n)Complex numbers

1-imaginary unit is i or j but j is preferred professionally, since, ‘i’ is as current unit in electrical engineering , note that there is no need to write * before i,j

2- real part:

real(Z),imaginary part: imag(Z),magnitudeabs(Z), angle byangle(Z)3- Arrays of complex numbers

System of linear equations:

AX=B1- Determinant:

det(A)2- Crammer’s rule:

X=[det(D1);det(D2);det(D3)]/det(A), D1=A, D1(:,1)=B, D2=A, D2(:,2)=B, …..3- Matrix inversion

inv(A)4-Solving systems of linear equations in MATLAB

Polynomials

1-Polynomial representation: by its coefficients

2- Getting roots:

roots(coeff)3- Multiplication is achieved by convolving

conv(c1,c2)4-Division is achieved by deconvolving

deconv(c1,c2)Programming in MATLAB

1- Programming a function:

function y=Alan(x1, x2)2- Repetitive control structure- FOR LOOPS: e.g.

for K=1:1:10P(1,k) =sqrt(k);End3- Conditional control structure:

If condition

Expression

Elseif condition>>>>>> look at the here elseif are one work but in C++ it was else if

Expression

Expression

Else

Expression

end4- Repetitive control structure-

WHILE LOOPExternal files and programs:

1-Saving data:

save filename.mat variable / save(filename, variables)2- Loading data

X=load(filename.)Differential and integral

1- Calculating differential:

diff(x)/interval: consider that length of diff(x) is less that length of x2- Calculating Integral

: sum(x)*intervalWorking with stringsString in MATLAB are string of characters

- Alway use single quote to define a string
- Adding two strings of x,y back to back is possible by
strcat() , using + sign is a mistake- Several ways to print a string out to workspace: Formatting strings in MATLAB:
Type the name of the variablew/o a trailing semicolon

disp()is almost the same as above, except it does not print out the variable namefprintf()is for formatting text and printing out to a file or other device, such as the workspace. It is a very powerful command for formatting strings, combining them, and printing them outsprintf()is for formatting text in order to create new string variable- Note that : using cell array for many elements are better that making matrix of the names = ['Jonas','Fred','John'] meansnames = JonasFredJohn butnames = {‘Jonas’,’Fred’,’John’} means names = ‘Jonas’ ‘Fred’ ‘John’

- Cell arrays can mix and match data types
- Structures can be used to organize and group information

Working with files

fopen()-> fid = fopen(filename, permission) ; fid: number returned by fopen which you will use to refer to this file, permission: ‘r’,’w’, ‘a’fclose()- Other ways to write to files:
ìcsvwrite(), ìdlmwrite()>> myFileID = fopen(‘testfile.txt’,’w’)

myFileID = 3

>> x = 100;

>> fprintf(myFileID,’X isequal to %d\n’,x);

>> fclose(myFileID);

**Best**

**Ali**

**post no 12**

**Introduction to MATLAB**by D.F. Griffiths

I am uploading a series of videos on my YouTube channel , but it’s matter of time. Please subscribe. and get the latest updates

Meanwhile, I introduce the following:

- Testbench.in : System Verilog and VMM tutorial with a lots of example
- Asicguru.com : Another nice SV tutorial site
- Doulos SV Tutorial : Not that much extensive, but still good
- Another decent tutorial from Project-Veripage
- SV Tutorial from ASIC-World. It is not yet complete, but once it is complete, then it will be another great site to learn SV.