WEBVTT

00:00.520 --> 00:01.320
Hi everyone.

00:01.400 --> 00:03.040
Welcome to esteemed PCB Academy.

00:03.080 --> 00:04.040
My name is Avril.

00:04.160 --> 00:09.040
In our previous video we talked about LVDS and different terminology we use for LVDS.

00:09.040 --> 00:15.920
For example V differential v common and current mode drivers, along with couple of simulations on cadence

00:15.920 --> 00:16.880
security tools.

00:17.680 --> 00:23.040
We have also discussed different IEEE and Ansi standards for LVDS.

00:23.400 --> 00:25.840
In this video we will focus on simulation part.

00:25.880 --> 00:32.640
We will see how to set up the topology of LVDS driver and receiver along with lossy transmission line

00:32.640 --> 00:34.800
on Security Topology Explorer.

00:35.240 --> 00:39.320
Then we will add Stackup information and Ibis models to make it more realistic.

00:39.560 --> 00:43.920
We will see how to do different measurements on output waveform and diagram.

00:44.200 --> 00:45.440
So let's get started.

00:45.640 --> 00:51.800
So before jumping to the simulation of high speed signals, we should be aware of why we are doing pre

00:51.800 --> 00:52.840
layout simulations.

00:53.440 --> 00:55.640
So let's understand that with an example.

00:55.760 --> 00:59.800
Suppose in our case we need 0.4 GB data rate.

01:00.800 --> 01:06.360
So are these drivers good enough to support that data rate with nice and clean waveform at receiver

01:06.360 --> 01:10.520
side or parasitics and losses will destroy the waveform.

01:11.040 --> 01:15.600
So in short, we do pre layout analysis to define constraints and design rules.

01:16.480 --> 01:20.160
Now let me tell you about few of these constraints we simulate for.

01:21.160 --> 01:22.960
First one is length of a transmission line.

01:23.600 --> 01:28.880
So we simulate length of a transmission line to verify the effect of length or propagation delay on

01:28.880 --> 01:30.560
the signal at receiver side.

01:31.680 --> 01:33.560
Second one is impedance discontinuity.

01:34.200 --> 01:40.280
So on our transmission line there can be impedance discontinuity due to stub and vars on the line.

01:41.120 --> 01:43.320
Third one is stack up and material property.

01:43.680 --> 01:49.640
So we basically analyze what stack up and material property are doing with the waveform by doing pre

01:49.640 --> 01:50.640
layout analysis.

01:52.080 --> 01:57.040
Fourth one is different type of losses like dielectric conductors crosstalk etc..

01:57.560 --> 02:05.160
So now by running sweep analysis on these parameters We need to find the limit or break even points

02:05.320 --> 02:09.120
for design rules, and we implement these design rules while layout.

02:10.160 --> 02:13.960
Now let's talk about topology and requirement for simulating something.

02:14.800 --> 02:19.560
So in our case we are simulating high speed LVDS drivers and receiver.

02:20.240 --> 02:28.240
And for that I am using TS, DDS, LVDS 1047 driver and DDS LVDS 1048 receiver.

02:29.200 --> 02:33.600
And because these driver and receiver follows Ansi standards.

02:34.080 --> 02:41.120
So drivers differential output and receivers differential inputs should have 100 ohm differential impedance.

02:42.560 --> 02:47.160
Plus we need to terminate it with 100 ohm resistor at the receiver's input.

02:47.640 --> 02:51.680
So as you can see in the figure this is what we are going to simulate.

02:52.360 --> 02:58.840
Now let's move to the simulation requirement part to simulate this topology or to make simulation more

02:58.840 --> 02:59.480
realistic.

02:59.480 --> 03:02.510
Instead of just following the default All simulation.

03:03.110 --> 03:07.270
We need few information from chip manufacturer and PCB manufacturer.

03:07.990 --> 03:12.950
And first one is Ibis model or Spice model, or other circuit models in general.

03:13.190 --> 03:17.190
But in our case we need Spice models only.

03:17.230 --> 03:19.350
Second is PCB stack up information.

03:19.710 --> 03:23.630
So here I mean detailed stack up including materials, property, etc..

03:25.430 --> 03:32.110
Third one is fixed or variable parameters like data rate, bit pattern, differential impedance, maximum

03:32.110 --> 03:35.310
length supported, maximum number of vars, etc..

03:36.910 --> 03:39.710
And last but not the least connector models.

03:39.870 --> 03:45.070
So if we are using any connector in our design, we need to include those as well in our simulation

03:45.070 --> 03:48.710
because those also has parasitics in it.

03:48.750 --> 03:54.470
Now with all this information, we are ready for setting up our topology in Security Topology Explorer.

03:55.310 --> 03:59.830
So in the step one we need to open Security Topology Explorer 17.4.

04:00.230 --> 04:02.110
You will get it with couple of licenses.

04:02.470 --> 04:06.150
I'm just going to use security Aurora license and click over.

04:06.190 --> 04:06.550
Okay.

04:07.870 --> 04:08.430
All right.

04:08.670 --> 04:13.990
So now it is asking either you want to open an existing design or want to create a new one.

04:14.350 --> 04:16.270
I'm just going to create new topology.

04:16.790 --> 04:18.830
So here you can set your topology name.

04:19.270 --> 04:28.310
In our case it is LVDS 1047 and 1048 receiver driver topology.

04:29.670 --> 04:31.590
And I'm just going to save it in desktop.

04:34.150 --> 04:39.350
After selecting the folder you have to select either you want to use some template or just go for the

04:39.350 --> 04:40.270
blank topology.

04:40.670 --> 04:42.910
So in our case we're going to create it from scratch.

04:43.070 --> 04:47.030
So we'll just select blank topology and click over create button.

04:48.630 --> 04:55.150
After creating the new topology we have to place driver block from Add block menu.

04:56.350 --> 05:01.870
And if you'll try to place the driver you'll see it is single ended output as of now.

05:02.350 --> 05:06.830
To make it make a differential output, you have to just select differential from here.

05:07.510 --> 05:10.590
And now we are ready to place differential output driver.

05:11.670 --> 05:15.430
Now in the next step we have to add Ibis model in this transmitter.

05:15.590 --> 05:20.270
To do that you have to just double click to open Edit Property tab.

05:20.910 --> 05:23.150
And here you have to select the Ibis file.

05:23.590 --> 05:26.590
Now it will direct you to this load Ibis section.

05:27.110 --> 05:34.950
So as of now you can see we have a default Ibis model assigned to change this to manufacturer's Ibis

05:34.990 --> 05:35.430
model.

05:35.470 --> 05:37.710
You have to just click over this three dot.

05:39.030 --> 05:43.150
And in our case we have saved the Ibis file in desktop.

05:43.350 --> 05:49.310
So I have to just go there and select the Ibis model for driver and open it.

05:49.310 --> 05:53.670
As soon as you select the Ibis model it will direct you to differential pin tab.

05:53.910 --> 05:57.150
And from here you have to select differential pairs.

05:57.150 --> 05:58.550
So it has four channel.

05:58.790 --> 06:03.550
And I am just going to use doubt four plus and doubt four minus channel.

06:05.790 --> 06:10.590
In case you are going to use multiple channels, you can select multiple differential pairs.

06:11.070 --> 06:12.590
I'm just going to uncheck those.

06:13.230 --> 06:19.190
So for this type of topology what you have to do you have to just select the output pins which differential

06:19.190 --> 06:20.990
pins you want to use for output.

06:20.990 --> 06:24.910
So I'm just going to use ten comma nine and click over okay.

06:26.310 --> 06:29.270
And our driver model is ready to use.

06:30.790 --> 06:33.110
Similarly we can setup the receiver model.

06:33.550 --> 06:36.710
So firstly we have to place our differential receiver model here.

06:38.310 --> 06:39.670
Again double click on this one.

06:39.670 --> 06:40.950
Select the Ibis file.

06:42.270 --> 06:48.110
Click on these three dots and select RDS LVDS 1048 Ibis model.

06:48.910 --> 06:49.910
Click on open.

06:50.750 --> 06:57.990
Now for receiver we are going to use pin number two and pin number one as a differential input of receiver.

06:58.870 --> 07:03.550
And we are going to place couple of single data pins which will be enable pins.

07:04.340 --> 07:09.820
Just select those and we're not going to change anything on pin mapping and click on okay.

07:11.220 --> 07:11.700
Alright.

07:11.700 --> 07:13.860
So our receiver model is also ready to use.

07:14.820 --> 07:18.980
So now in both case as of now I am seeing pin numbers on pins.

07:19.300 --> 07:21.020
I just want to change it to net name.

07:21.980 --> 07:25.820
It will be easy to identify which pin is for what purpose.

07:26.620 --> 07:29.620
So I'm just going to slide it down here.

07:31.820 --> 07:37.620
And just arrange positive and negative pins in front of each other.

07:38.580 --> 07:39.100
All right.

07:39.220 --> 07:43.780
And if you zoom in to receiver side we have to enable receiver.

07:44.700 --> 07:45.140
To do that.

07:45.140 --> 07:50.380
You have to just right click over enable pin and connect it to power.

07:51.740 --> 07:55.020
Double click over power and change it to 3.3V.

07:55.500 --> 08:02.420
Similarly, for enable asterisk you have to just connect it to ground and our receiver side is enabled

08:02.420 --> 08:02.660
now.

08:03.900 --> 08:08.340
Alright, so till now we have set up our driver and receiver model.

08:09.420 --> 08:14.540
Now in the next step we have to add trace between transmitter and receiver.

08:15.340 --> 08:21.420
To do that again make sure this differential block is selected and click over trace.

08:24.420 --> 08:26.060
Now to edit the trace property.

08:26.540 --> 08:33.940
As you can see it is 5000 mil longer trace which has 118.673Ω differential impedance.

08:34.540 --> 08:39.340
To edit the trace property, you have to just select it and click over Trace Editor.

08:39.780 --> 08:45.820
Now inside this trace editor, we have to add the stackup that we are going to use in our PCB.

08:46.380 --> 08:50.060
So we'll get this information from our PCB manufacturer.

08:51.340 --> 08:58.940
In my case I'm just going to use this Stackup which is a four layer 1.6mm thick Stackup.

08:59.500 --> 09:01.060
So I'm just going to add it quickly.

09:08.580 --> 09:09.260
All right.

09:09.260 --> 09:13.380
So till here we have added our stack up in this trace editor.

09:14.060 --> 09:18.460
Now in the next step I'm just going to place these tracks on the bottom layer.

09:19.220 --> 09:26.100
To do that you have to just go to that layer name column and double click here and select bottom.

09:28.060 --> 09:30.900
So you can see the traces are shifted to the bottom layer.

09:31.940 --> 09:35.660
Now in the next step again I'm going to change the unit to mill.

09:36.660 --> 09:42.100
So as of now if you see the impedance it is 104.917.

09:42.140 --> 09:47.860
We have to make it more precise to 100 ohm characteristic impedance of differential pair signals.

09:48.180 --> 09:51.380
To do that we have to change the trace width and spacing.

09:52.180 --> 09:57.740
So I have already calculated what should be the trace width and spacing for this stackup from cross

09:57.740 --> 10:00.980
section editor of PCB editor 17.4 tool.

10:01.660 --> 10:03.740
So let's put that value here quickly.

10:05.020 --> 10:09.740
So I have changed the trace width to five mil and spacing to 7.5 mil.

10:10.260 --> 10:15.420
And again, if you're going to calculate the transmission line parameters here you can see the impedance

10:15.420 --> 10:17.460
is very much close to 100 ohm.

10:18.340 --> 10:23.180
Now in the next step you can put the length of the transmission line and change its reference plane

10:23.180 --> 10:23.940
if you want.

10:23.980 --> 10:29.260
So in our case, the reference plane is the nearest plane to bottom layer which is power plane.

10:29.620 --> 10:31.700
So let it be power plane and length.

10:31.700 --> 10:34.220
We are going to simulate for 5000 mil.

10:35.100 --> 10:39.060
Now you can save this trace editor and stack up value.

10:40.020 --> 10:47.220
Just name it stack up for LVDS and save it.

10:48.180 --> 10:53.100
So after setting all this value, you have to just click over this generate element model.

10:53.780 --> 10:56.820
And you can see we have implemented all the changes in trace.

10:57.660 --> 11:04.500
Now after setting all the trace parameters, we have to just connect those to connect driver and trace.

11:04.500 --> 11:12.740
You have to just click over or double click over this driver pin and connect it to a pin of the trace.

11:13.300 --> 11:16.340
And similarly we can connect it to receiver.

11:17.940 --> 11:19.060
Let's do that quickly.

11:22.700 --> 11:22.980
Alright.

11:22.980 --> 11:26.140
Why I'm connecting like this I'll tell you in a few seconds.

11:26.900 --> 11:33.420
So once it is done now in the next step we have to add a termination register at the receiver side.

11:34.100 --> 11:38.820
So to place a register you have to just select Ideal Elements.

11:39.100 --> 11:42.340
Right click and select the register element.

11:43.180 --> 11:43.860
To rotate it.

11:43.860 --> 11:45.700
You have to again right click and click over.

11:46.020 --> 11:51.340
Either you can rotate it left side or right side and place it here.

11:52.940 --> 11:55.740
So as you can see as of now, it is not connected to any pin.

11:56.100 --> 11:58.980
To connect it again you have to follow the same process.

12:02.140 --> 12:05.380
So till now register element is also connected to receiver side.

12:05.980 --> 12:07.970
Now we have to change its value to 100 ohm.

12:08.010 --> 12:12.330
To do that, you have to just select the resistor, go to the Edit Properties section and change it

12:12.330 --> 12:14.650
to 100 and enter.

12:16.770 --> 12:17.290
All right.

12:17.290 --> 12:21.050
So as you can see as of now the topology is ready to simulate.

12:21.610 --> 12:25.050
But before running the simulation we have to add analysis options.

12:26.690 --> 12:32.450
For that you have to just click over set analysis option tab from Workflow or Topology Explorer.

12:33.490 --> 12:35.170
And here you will see three columns.

12:35.810 --> 12:39.170
Data rate number of bits and stimulus pattern.

12:41.010 --> 12:51.530
If you open the data sheet of DDS LVDS 1047, they will find this driver supports up to 0.4 GB data

12:51.530 --> 12:51.930
rate.

12:52.290 --> 12:54.690
So we are going to use the same value here.

12:54.770 --> 12:59.250
As of now and number of bits we can change it to 32 bits.

13:00.450 --> 13:03.210
And for setting the stimulus pattern you have to right click here.

13:03.650 --> 13:05.570
Then left click over define pattern.

13:06.570 --> 13:10.890
Make sure you have selected random from Data Pattern and click over preview.

13:11.730 --> 13:19.410
So these 32 random bits we are going to send over driver differential line and click over okay.

13:20.890 --> 13:28.570
Now in the next step at the receiver side make sure write receiver IO model assigned to write signal

13:28.570 --> 13:36.370
name for example are in one positive should have R in positive receiver model and negative should have

13:36.370 --> 13:37.810
R in minus receiver model.

13:39.330 --> 13:43.330
Now in the next step we need to check the connectivity between transmitter and receiver.

13:44.170 --> 13:51.210
To do that you have to click over check connectivity from Workflow of Topology Explorer and click over

13:51.250 --> 13:51.970
check button.

13:53.290 --> 14:00.810
So as you can see the simulation is ready to use and RX pin two comma one are connected to transmitter

14:00.810 --> 14:03.570
pin or driver pin 910.

14:04.530 --> 14:09.010
Now we can close these menus and we can go for the simulation part.

14:10.170 --> 14:14.410
To simulate this topology, we have to click over Start transient analysis.

14:14.730 --> 14:15.850
Let's click on that.

14:18.810 --> 14:25.610
So as of now we can see three waveforms in this C viewer.

14:26.210 --> 14:27.850
One is for Enable and Enable assist.

14:27.850 --> 14:29.210
We're just going to disable it.

14:29.970 --> 14:34.370
And the other waveform is for R in one plus minus r in one minus.

14:34.890 --> 14:38.890
So this is the output or differential output of received differential signal.

14:39.290 --> 14:44.250
Now to edit the property of this waveform you can just left click over here.

14:44.770 --> 14:48.570
And here you can add the add different styles.

14:48.690 --> 14:52.810
And if you want to add some marker on it you can do that.

14:53.690 --> 14:55.410
And from here you can change the color.

14:55.610 --> 15:02.770
Let's make it red and change the width to two unit and click on okay.

15:03.490 --> 15:05.530
So now this waveform will be like more visible.

15:06.370 --> 15:09.770
Apart from that you can do certain measurements on this one.

15:09.770 --> 15:16.130
Let's suppose I want to measure the rise time and fall time, let's say 10 to 90% of the waveform.

15:16.810 --> 15:23.330
To do that, let's just right click go to measure and click over rise and fall time.

15:25.690 --> 15:26.290
Now here.

15:26.490 --> 15:31.090
So here you will see all the waveform selected from this menu.

15:32.930 --> 15:36.410
And this is the minimum and maximum voltage of this waveform.

15:37.450 --> 15:39.050
And here you can add the percentage.

15:40.290 --> 15:45.090
So when we measure the rise time and fall time for a particular waveform we get two information.

15:45.090 --> 15:49.130
One is what is the rise time or fall time for 10 to 90%.

15:49.650 --> 15:53.050
And what is the rise time and fall time for 20 to 80%.

15:53.290 --> 15:56.490
Now, to do that measurement you have to just click over apply button.

15:57.370 --> 16:02.010
And here you will get the minimum and maximum rise time and fall time for this particular waveform.

16:02.690 --> 16:07.410
Similarly using the markers you can do amplitude measurement.

16:08.370 --> 16:11.240
So we have to just select the vertical voltage measurement.

16:11.440 --> 16:11.840
Okay.

16:13.240 --> 16:15.720
And add these markers at the maximum value.

16:15.840 --> 16:23.440
So from where we'll get peak to peak value of this particular waveform which is 0.671689.

16:24.240 --> 16:27.960
Similarly you can measure the overshoot and undershoot on this waveform.

16:28.520 --> 16:32.360
Now this all the measurement was for receiver output.

16:32.720 --> 16:39.200
Similarly you can do certain measurements for receiver input and driver output.

16:39.960 --> 16:45.040
Because we have added our longer transmission line between driver and receiver.

16:45.960 --> 16:49.920
So we'll see some propagation delay between driver and receiver waveform.

16:50.600 --> 16:52.920
So you can set the marker at a particular voltage.

16:53.280 --> 16:55.920
And from there you will get the delay value.

16:56.080 --> 17:01.480
To do that you have to just select a particular section of the waveform.

17:02.000 --> 17:07.520
Right click go to Measure Difference and this time uncheck vertical.

17:10.200 --> 17:13.440
Now let's set this marker at 1.25V.

17:16.520 --> 17:23.880
And here you can see the clear time difference is 780 5.9 picoseconds.

17:24.160 --> 17:28.160
And you can compare these measurements with the information given on the datasheet.

17:29.400 --> 17:33.400
So this is one kind of waveform measurements.

17:33.840 --> 17:38.800
Or from these measurements we can maintain the signal integrity of the waveform.

17:39.520 --> 17:42.560
There is one more way to measure the signal integrity of the waveform.

17:43.080 --> 17:44.400
And that is eye diagram.

17:44.920 --> 17:49.520
We are going to learn more about eye diagram and jitter in the next video.

17:50.320 --> 17:52.360
So I will add this project in the description.

17:52.360 --> 17:53.440
You can download it.

17:54.800 --> 18:00.320
And to run this simulation you need the free trial of Sigrity Aurora and other security tools.

18:00.760 --> 18:02.560
I have added a link in the description.

18:02.560 --> 18:05.720
You can go there and register for getting the free trial.

18:06.640 --> 18:08.520
And there you can run these simulations.

18:09.040 --> 18:10.400
So see you in the next video.
