Next in line…

1 / 17

# Next in line… - PowerPoint PPT Presentation

Next in line…. Advance techniques in design optimisations. Introduction to synthesis tools. Design flow using FPGA and ASIC. Summary. Optimisation while building a counter. process begin wait until clk’event and clk=’1’ ; if (count = some_value ) then count <= 0 ;

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## Next in line…

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Next in line…
• Advance techniques in design optimisations.
• Introduction to synthesis tools.
• Design flow using FPGA and ASIC.
• Summary.
Optimisation while building a counter

process

begin

wait until clk’event and clk=’1’ ;

if (count = some_value) then

count <= 0 ;

else

count <= count + 1 ;

end if ;

end process ;

• Comparator is checking 2 variables, value[3:0] and q[3:0].
Optimisation of counter:

Now we count to zero

process

begin

wait until clk’event and clk=’1’ ;

if (count = 0) then

count <= some_value ;

else

count <= count - 1 ;

end if ;

end process ;

• Slightly different syntax (identical functionality):
• Comparator is checking 1 variable and 1 constant, therefore much smaller.

1.

• Turns out that…
• 1 is better than 2 using ASIC library from vendor A;
• 2 is better than 1 (10 times smaller) using ASIC library from vendor B;
• 1 is the almost the same as 2 using FPGA library from vendor C!

begin

LE <= '1' when (data1 <= data2) else '0';

end EG ;

2.

process (data1, data2)

variable x, y, z : unsigned (64 downto 0);

begin

x := '0' & unsigned(data1);

y := '0' & unsigned(data2);

z := y - x;

if (z(64) = '0') then

LE <= '1';

else

LE <= '0';

end if;

end process;

• Destination architecture
• Standard cells available
• “Fit” with synthesizers
• How good the library designer is
Commercial Synthesis Tools
• Leonardo Spectrum (www.exemplar.com)
• FPGA Express (www.synopsys.com)
• Synplicity Pro (www.synplicity.com)
Leonardo Spectrum

Leonardo and Spectrum is two parts.

Spectrum is the synthesis engine, text and TCL scripts driven.

Spectrum is source compatible with AutologicII.

Leonardo is the graphical front end.

Level 3 handles ASIC synthesis.

FPGA Express
• For FPGA!
• Used in Xilinx Foundation as their default synthesizer.
• Integrated into Foundation, so handled by Project Manager.
• Altera just switched to Leonardo Spectrum.
• ASIC synthesis: Physical Compiler
Completing Design Flow in FPGA

Can I see my design placed inside FPGA in some way?

library IEEE;

use IEEE.std_logic_1164.all;

entity counter is

port ( clk : in std_logic ;

value1 : in integer range 0 to 255;

count : out integer range 0 to 255);

end counter ;

architecture EG of counter is

signal counting : integer range 0 to 255;

begin

process begin

count <= counting;

wait until clk'event and clk='1';

if (counting = 0) then

counting <= value1 ;

else

counting <= counting - 1 ;

end if ;

end process ;

end EG ;

Advantages in Synthesis to PLDs and FPGAs
• Flexibility
• Portability
• Fast design cycle
• Some abstractions
• No need for verifications
• Strict coding style for efficient implementation
• Buried timing
• Less efficient use to silicon area
• Only half way to solution
• No easy verifications
Other Approaches
• Pre-synthesis analysis
• Post-synthesis analysis
• Syntax parsers
• Templates
• Formal descriptions
• Behavioural descriptions
• System descriptions
Conclusions
• Basic HDL structures for fundamental digital system components.
• Synthesize for low power, small area.
• Automatic synthesis tools cannot replace clever syntax & analysis from designers.
• Good tools + good designer = good implementation
• Tools will get clever, but nowhere as good as us.
Sources
• Simon Leung
• 44