Manual Routing in Vivado
Summary
TLDRThis video tutorial explores the manual routing workflow in Vivado, focusing on reducing skew in output buses during the implementation process. It discusses two approaches: indirect routing through placement constraints and direct manual routing. The tutorial guides viewers on how to optimize timing for a 32-bit output bus in a BFT example design by manually placing registers closer to their respective I/O pins and using manual routing to adjust delays. The video concludes with a lab exercise demonstrating these techniques to achieve the desired timing constraints.
Takeaways
- ⚙️ Manual routing in Vivado can be used to meet design requirements beyond typical timing constraints, such as reducing skew in output buses.
- 🔄 Direct manual routing allows for specifying the exact path a connection takes between a driver and a load, providing precise control over routing.
- 📏 Indirect routing through placement can guide Vivado's automatic routing by constraining the placement of drivers or loads, potentially improving routing quality.
- 🔍 Timing analysis should be re-run after manual placement and routing to ensure that timing closure has been maintained.
- 🔗 The placement of drivers and loads can affect the routing's ability to meet design requirements, such as constant routing delay across implementation runs.
- 📉 Manual placement can reduce skew by positioning registers closer to their corresponding I/O pins, ensuring uniform distances for each bit of a bus.
- 🛠️ Tickle commands in Vivado can be used to place cells, reroute connections, and perform other manual operations to optimize routing.
- 🔄 The use of directed routing strings allows for the replication of manual routing across similar nets, streamlining the process for multiple signals.
- 📋 The lab exercise in the video demonstrates optimizing the timing of a 32-bit output bus in a BFT example design using manual routing techniques.
- 🔍 The interactive routing assignment panel in Vivado provides a visual tool for selecting routing nodes and planning the path of a net.
Q & A
What is the purpose of manual routing in Vivado?
-Manual routing in Vivado is used to achieve specific design requirements, such as reducing skew in the bits of an output bus or ensuring constant routing delays across implementation runs. It allows designers to override automatic routing to meet these precise needs.
How does indirect routing through placement affect Vivado's routing?
-Indirect routing through placement involves constraining the placement of drivers and loads in a design. This increases the likelihood that Vivado will find a routing that meets specific requirements, but it does not guarantee the same routing will be used in subsequent runs unless additional routing constraints are applied.
What are the potential drawbacks of manually placing elements in a design?
-Manually placing elements in a design may affect timing closure in unexpected ways, such as altering routing delays. It's critical to rerun timing analysis after placing and routing to ensure that timing closure has been preserved.
How can manual routing be used to control skew in an output bus?
-Manual routing allows precise control over the path a net takes by specifying the nodes through which the connection will pass. This enables designers to adjust the routing delay of specific bits, which can be used to reduce skew in an output bus.
What steps are involved in manually placing the registers of an output bus?
-The steps involve identifying a suitable placement site for the registers, using TCL commands to place the cells, rerouting the connections, and rerunning timing analysis to check if the skew has improved.
How can the routing of a net be fixed to ensure consistency across implementation runs?
-To fix the routing of a net, a directed routing string is used, which defines the exact path of the connection between the driver and the load. This string can be reused for other nets with similar routing requirements.
What command can be used to view the current timing of an output bus after routing?
-The 'report datasheet' command in Vivado can be used to generate timing reports, showing details like the maximum skew of the output bus after routing.
Why is it important to rerun timing analysis after manually routing or placing elements?
-Rerunning timing analysis is essential because manual routing and placement can alter routing delays and potentially impact timing closure. The analysis ensures that the design still meets timing requirements.
How is the skew between bits in an output bus measured in Vivado?
-Skew is measured by the delay of each bit in the bus relative to a reference bit, such as bit 0. For example, Vivado may report a skew of over 500 picoseconds, which can be reduced through manual placement and routing.
What is a directed routing string in Vivado, and how is it used?
-A directed routing string in Vivado defines the exact routing path between a driver and a load, listing all the nodes in between. This allows precise control of the routing process and can be reused for multiple nets with the same relative routing needs.
Outlines
Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.
Upgrade durchführenMindmap
Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.
Upgrade durchführenKeywords
Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.
Upgrade durchführenHighlights
Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.
Upgrade durchführenTranscripts
Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.
Upgrade durchführenWeitere ähnliche Videos ansehen
Dynamic routing | RIP version 1 (Routing information protocol) | Cisco Packet Tracer Tutorial 04
Dynamic Routing - CompTIA Network+ N10-009 - 2.1
PD Lec 7 - Physical Design Inputs Overview | Tutorial | VLSI | Physical Design
Static Routing - CompTIA Network+ N10-009 - 2.1
What Are Routing Protocols? How Do They Work?
PD Lec 67 - Global and Detail Routing | VLSI | Physical Design
5.0 / 5 (0 votes)