Länge: 0:54:00 |
0:0:0 Multiplier 0:2:14 Example 2 2 bit numbers 0:6:10 Design options 0:11:59 Inputs and outputs, equations 0:16:9 Add2 operation LUT26, LUT28 0:18:59 LUT26 naming convention 0:22:59 Start library multiplier 0:23:46 Schematic 0:30:39 Make icon 0:32:14 Hooking up the subcircuits 0:36:44 Simulation 0:39:39 SPICE text 0:41:1 Pulse statements 0:42:14 Simulate SPICE 1:18:4 Setting up waveform display 0:44:12 Check output 0:46:34 Generate reference output 0:48:14 Tool silicon compiler 0:50:34 Change text size 0:51:44 LTSPICE layout simulation |
Länge: 0:50:41 |
0:0:0 Welcome 0:10:5 Questions 0:10:5 Preferences Silicon Compiler 0:12:22 Simulation layout 0:14:10 Reference signals for simulation 0:17:14 TestJS: Truth table to LTSPICE PWL statement 0:21:0 Propagation delay with reference signals 0:23:50 Testing and vectors 0:25:40 Silicon Compiler multiplier 0:27:40 Layout and Exports of test cell 0:34:30 Test signal genration 0:35:25 Generate LTSPICE waveform 0:36:25 generate signals 0:39:19 Connecting a cell for testing 0:43:5 Checking Exports 0:45:29 Simulation results |
Länge: 0:50:41 |
0:0:0 LTSPICE schematic no AD, AS, PD, PS 0:0:0 Schematic -> VHDL -> silicon compiler 0:2:21 Reusable addx 0:2:51 Silicon compiler option rows. 0:4:51 VHDL multiplier start 0:6:48 Paste VHDL Text and replace STD_LOGIC with Bit 0:9:1 Check working Silicon compiler change VHDL cell name 0:10:56 Ports modification in and out 0:13:14 LUT modification, more MUX 0:16:24 Syntax check with silicon compiler 0:16:24 LUT2 requirement analysis 0:18:32 Identifying output codes 0:23:20 components LUT2.. 0:24:49 Adding y4.. 0:26:4 MUX modification 0:27:42 Summary of steps 0:30:24 LTSPICE text and simulation 0:32:2 Simulation configuration and result 0:35:34 Discussion VHDL text versus schematic 0:36:25 0 0:36:25 Last laboratory: built addx 0:38:5 0 |
Länge: 0:50:41 |
0:0:10 Evaluation 0:0:10 Multiplier 0:0:51 LTSPICE longest delay 0:2:32 LTSPICE netlist 0:5:37 net@16 net@19, net@11 0:10:10 Control panel, Save Defaults activate subcircuit voltages 0:12:36 Add signals net@16 0:17:2 W/L change not usefull 0:18:41 Schematic 0:22:10 IRSIM switch level simulator |
A1 | A0 | * | B1 | B0 | |
1 | 1 | * | 1 | 0 | |
0 | 0 | B0 = 0, result 00 | |||
1 | 1 | B1 = 1, result A | |||
Carry | |||||
1 | 1 | 0 | Result R |
R0 = A0 * B0 | LUT28 |
A | B | R | C |
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
A1 | A0 | B1 | B0 | R3 | R2 | R1 | R0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 |
0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 1 | 0 | 1 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 0 | 0 | 1 | 1 | 0 |
1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
A1,A0,B1,B0;xR3,xR2,xR1,xR0,COMMENT 0,0,0,0;0,0,0,0; 0*0=0 0,0,0,1;0,0,0,0; 0*1=0 0,0,1,0;0,0,0,0; 0*2=0 0,0,1,1;0,0,0,0; 0*3=0 0,1,0,0;0,0,0,0; 1*0=0 0,1,0,1;0,0,0,1; 1*1=1 0,1,1,0;0,0,1,0; 1*2=2 0,1,1,1;0,0,1,1; 1*3=3 1,0,0,0;0,0,0,0; 2*0=0 1,0,0,1;0,0,1,0; 2*1=2 1,0,1,0;0,1,0,0; 2*2=4 1,0,1,1;0,1,1,0; 2*3=6 1,1,0,0;0,0,0,0; 3*0=0 1,1,0,1;0,0,1,1; 3*1=3 1,1,1,0;0,1,1,0; 3*2=6 1,1,1,1;1,0,0,1; 3*3=9
entity LUT4_0DF0 is port( I0,I1,I2,I3: in STD_LOGIC;O: out STD_LOGIC);
end LUT4_0DF0;
architecture LUT4_0DF0_BODY of LUT4_0DF0 is
component LUT20 port ( I0,I1 : in STD_LOGIC;O: out STD_LOGIC); end component;
component LUT2D port ( I0,I1 : in STD_LOGIC;O: out STD_LOGIC); end component;
component LUT2F port ( I0,I1 : in STD_LOGIC;O: out STD_LOGIC); end component;
component MUX4 port(I0,I1,I2,I3,I4,I5 : in STD_LOGIC;O: out STD_LOGIC); end component;
signal y1,y2,y3,y4,O2 : STD_LOGIC ;
begin
LUT2_1: LUT20 port map (I0,I1,Y1);
LUT2_2: LUT2F port map (I0,I1,Y2);
LUT2_3: LUT2D port map (I0,I1,Y3);
LUT2_4: LUT20 port map (I0,I1,Y4);
MUX0: MUX4 port map (Y1,Y2,Y3,Y4,I2,I3,O);
end LUT4_0DF0_BODY;
Change VHDL code.
entity multiply2x2vhdl is port( A1,A0,B1,B0: in Bit;R3,R2,R1,R0: out Bit);
end multiply2x2vhdl;
architecture multiply2x2vhdl_BODY of multiply2x2vhdl is
component LUT20 port ( I0,I1 : in Bit;O: out Bit); end component;
component LUT28 port ( I0,I1 : in Bit;O: out Bit); end component;
component LUT2C port ( I0,I1 : in Bit;O: out Bit); end component;
component LUT24 port ( I0,I1 : in Bit;O: out Bit); end component;
component LUT2A port ( I0,I1 : in Bit;O: out Bit); end component;
component LUT26 port ( I0,I1 : in Bit;O: out Bit); end component;
component MUX4 port(I0,I1,I2,I3,I4,I5 : in Bit;O: out Bit); end component;
signal y1,y2,y3,y4,y5,y6: Bit ;
-- Y 4321
-- R3 = 0x8000
-- R2 = 0x4C00
-- R1 = 0x6AC0
-- R0 = 0xA0A0
begin
LUT2_1: LUT20 port map (B0,B1,Y1);
LUT2_2: LUT28 port map (B0,B1,Y2);
LUT2_3: LUT2C port map (B0,B1,Y3);
LUT2_4: LUT24 port map (B0,B1,Y4);
LUT2_5: LUT2A port map (B0,B1,Y5);
LUT2_6: LUT26 port map (B0,B1,Y6);
-- Y 1 2 3 4
MUX3: MUX4 port map (Y1,Y1,Y1,Y2,A0,A1,R3);
MUX2: MUX4 port map (Y1,Y1,Y3,Y4,A0,A1,R2);
MUX1: MUX4 port map (Y1,Y3,Y5,Y6,A0,A1,R1);
MUX0: MUX4 port map (Y1,Y5,Y1,Y5,A0,A1,R0);
end multiply2x2vhdl_BODY;
Bn Am Si Ci | S Co 0 0 0 0 | 0 0 0 0 0 1 | 1 0 0 0 1 0 | 1 0 0 0 1 1 | 0 1 0 1 0 0 | 0 0 0 1 0 1 | 1 0 0 1 1 0 | 1 0 0 1 1 1 | 0 1 1 0 0 0 | 0 0 1 0 0 1 | 1 0 1 0 1 0 | 1 0 1 0 1 1 | 0 1 1 1 0 0 | 1 0 1 1 0 1 | 0 1 1 1 1 0 | 0 1 1 1 1 1 | 1 1Co = (S1*C1) + (Bn*Am*(Si*/Ci+/Si+Ci))