ซอฟต์แวร์ Quartus® II เวอร์ชั่น 6.0 และมีการสังเคราะห์สัญญาณทิศทาง VHDL อย่างเข้มงวดมากขึ้น เนื่องจากเป็นการบังคับใช้กฎ VHDL ซอฟต์แวร์ Quartus II จึงแปลงบัฟเฟอร์สองทิศทางที่มีรหัสไม่ถูกต้องเป็นพินเอาต์พุต
ตัวอย่างเช่น หากคุณใช้บัฟเฟอร์แบบสองทิศทางตามที่แสดงไว้ในรหัสต่อไปนี้ ซอฟต์แวร์ Quartus II จะสังเคราะห์พินเอาต์พุต (เริ่มต้นด้วยเวอร์ชัน 6.0)
process(mdio_out,mdio_oe)
begin
if (mdio_oe = '1') then
mac_mdio <= mdio_out;
else
mac_mdio <= 'Z';
end if
end process;
mdio_oe <= NOT(mdio_oe_n);
test_out <= mac_mdio and test;
mii_mdio <= mac_mdio;
หากmac_mdioเป็นสัญญาณและmii_mdioเป็นพอร์ตสองทิศทาง การบ้านหลังสุดจะเป็นไปในทิศทางเดียวกัน ดังที่เขียนไว้ ไม่สามารถให้ข้อมูลไหล จาก mii_mdio ไปยัง mac_mdioได้ ตั้งแต่เวอร์ชัน 6.0 ซอฟต์แวร์ Quartus II จะบังคับใช้ลักษณะทิศทางของการบ้าน VHDL นี้โดยการใส่บัฟเฟอร์ระหว่างmac_mdioและmii_mdio บัฟเฟอร์นี้จะปรากฏอยู่ในตัวแสดง RTL เป็นบัฟเฟอร์ทิศทางในซีรีส์ที่มีบัฟเฟอร์ Tri-State และมีการสังเคราะห์พินสองทิศทาง (mii_mdio) เป็นเอาต์พุตเท่านั้น
ซอฟต์แวร์ Quartus II เวอร์ชั่นก่อนหน้าไม่ได้บังคับใช้ลักษณะทิศทางของการบ้านประเภทนี้โดยสังเคราะห์โค้ดด้านบนเป็นพินสองทิศทาง
เพื่อให้สอดคล้องกับมาตรฐาน VHDL ให้ลบคําสั่งการกําหนดสัญญาณสุดท้ายในตัวอย่างด้านบนและเขียนรหัสดังนี้:
process(mdio_out,mdio_oe)
begin
if (mdio_oe = '1') then
mii_mdio <= mdio_out;
else
mii_mdio <= 'Z';
end if;
end process;
mdio_oe <= NOT(mdio_oe_n);
test_out <= mii_mdio and test;