Consultancy and Total Solutions Training Provider for Embedded Systems, Electronics and Electrical Engineering, Programming, Computing, Operations, ISO9000, ISO14000 and Management.

Bridging the Gap

Training Courses

Coding Verilog for Portability

Course id: 0029


A hardware description language (HDL) is a language for formal description and design of electronic circuits, and most-commonly, digital logic. It can describe the circuit's operation, its design and organization, and tests to verify its operation by means of simulation.

Due to the nature of the back-end technology, most HDL code is targeted at specific technologies, and even specific technology libraries. This reduces design portability to the point that changes in target technology normally require significant rework that increases NRE cost.

There is a better way however, that is to write portable HDL that will result in hardware that can be used for multiple target technologies.

This course uses Verilog, though it can be tailored for VHDL.

Course highlight
Participants will have practical experiences analysing, designing, writing, verifying cores in HDL. Participants will gain an appreciation for how to write better HDL to encourage the hardware to be target technology agnostic.

Xilinx ISE and Altera Quartus and other tools will be used for this purpose.

What you will learn

This course comprises of the following main topics:
  • Reviewing target technology.
  • Understanding target technology differences.
  • Choosing the right strategies for portability.

Who should attend

This course is particularly suited for design engineers, application engineers, responsible for designing and implementing digital chip-design systems.


Participants must be familiar with synthesisable Verilog at the RTL level.

Course methodology

This course is presented in a workshop style with example-led lectures interlaced with hands-on practical for maximum understanding.

Course duration

2 days.

Course structure

  • Review
    • Review of RTL level Verilog code.
    • Review of synthesisable Verilog.
  • Target Technology
    • Why is normal Verilog not agnostic?
    • Affect of target technologies on Verilog code.
    • Overview of ASIC Technologies.
    • Overview of FPGA Technologies.
  • Code Level Portability
    • Partitioning code.
    • Parametric/generic code.
    • Using configurable defines.
    • Effects of badly written Verilog.
  • Design Level Portability
    • The results of Synthesis Inference.
    • Writing module instantiations for portability.
    • Proper usage of design blocks.
    • Effects of badly written Verilog.
  • Discussion & Conclusion

Course Schedule





News on ProvenPac

  ProvenPac Sdn. Bhd.
  C-4-3 Gembira Park,
  Jalan Riang, 58200
  Kuala Lumpur, Malaysia

  Tel: +603 03 5889 5889

No public course
currently scheduled.


Please inform me when
this course is scheduled.


Please contact me to
arrange in-house training.