> For the complete documentation index, see [llms.txt](https://design-gateway.gitbook.io/design-gateway/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://design-gateway.gitbook.io/design-gateway/alinx-ax7010/3-alinx-ax7010.md).

# บทที่ 3 ขั้นตอนการสร้างและรันโปรเจกต์ลงบอร์ด ALINX AX7010

บทความนี้แนะนำขั้นตอนการสร้างโปรเจกต์ใน Vivado 2023.1 ตั้งแต่เริ่มต้นจนถึงการรันโปรแกรมบนบอร์ด ALINX AX7010 โดยใช้โค้ดตัวอย่างที่มาพร้อมกับบอร์ดในการรันโปรเจกต์ เพื่อให้คุณสามารถสร้างโปรเจกต์และปรับแต่งวงจรได้ตามต้องการ

## การสร้างโปรเจกต์&#x20;

มีขั้นตอนดังนี้

1. เข้าโปรแกรม **Vivado 2023.1** จากนั้นเลือก **Create New Project** เพื่อสร้างโปรเจกต์ใหม่ แล้วกด **Next**

<figure><img src="/files/XG8f31kuMm2oLs4pe6F2" alt="Create Project ใน Vivado 2023.1"><figcaption><p>Create Project ใน Vivado 2023.1</p></figcaption></figure>

2. ตั้งชื่อโปรเจกต์ที่ช่อง **Project name** จากนั้นเลือกที่ตำแหน่งที่ต้องการจะเก็บโฟลเดอร์ของโปรเจกต์นี้ที่ช่อง **Project location**

<figure><img src="/files/Zz7UYxMJ5VAovLylVsCw" alt="ตั้งค่า Project Name และ Project Location"><figcaption><p>ตั้งค่า Project Name และ Project Location</p></figcaption></figure>

3. เลือก **RTL Project** เพื่อออกแบบในระดับ Register Transfer Level (RTL) หรือออกแบบลอจิก

<figure><img src="/files/erIg2DWKRN6QOb1CnQQl" alt="เลือก Project Type เป็น RTL Project"><figcaption><p>เลือก Project Type เป็น RTL Project</p></figcaption></figure>

4. เลือกภาษาที่ต้องการใช้ในการออกแบบวงจร ในการออกแบบครั้งนี้จะใช้**ภาษา Verilog** จากนั้นกด **Next** เพื่อดำเนินการต่อ

<figure><img src="/files/qS1822UEJgieHS6PyNGB" alt="เลือกภาษาที่ใช้เป็น Verilog"><figcaption><p>เลือกภาษาที่ใช้เป็น Verilog</p></figcaption></figure>

<figure><img src="/files/xR4mCE5EzDxLPXjXyI7X" alt="กด Next โดยยังไม่ Add Constraints"><figcaption><p>กด Next โดยยังไม่ Add Constraints</p></figcaption></figure>

5. เลือกบอร์ดที่ใช้ในการออกแบบ ซึ่งก็คือบอร์ด ALINX AX7010 ที่ใช้ชิป Zynq™ 7000 SoC XC7Z010 ดังนั้นให้เลือก Family เป็น **Zynq-7000**, Package เป็น **clg400**, Speed เป็น **-1** และเลือกรุ่นที่ใช้เป็น **XC7Z010**

<figure><img src="/files/RSHO21U3yGsdoirhYcb8" alt="ตั้งค่าบอร์ดสำหรับใช้ในโปรเจกต์เป็น ALINX AX7010 "><figcaption><p>ตั้งค่าบอร์ดสำหรับใช้ในโปรเจกต์เป็น ALINX AX7010 </p></figcaption></figure>

<figure><img src="/files/Gkh3f16OT7KXHJhLVsZs" alt="ตรวจสอบการตั้งค่าต่าง ๆ ก่อนสร้างโปรเจกต์"><figcaption><p>ตรวจสอบการตั้งค่าต่าง ๆ ก่อนสร้างโปรเจกต์</p></figcaption></figure>

6. เมื่อเสร็จสิ้นขั้นตอนที่ 5. จะได้หน้าสำหรับการแก้ไขโปรเจกต์นี้ ซึ่งหมายความว่า**สร้างโปรเจกต์เรียบร้อยแล้ว**

<figure><img src="/files/y68ywn3E3UjlewB1C1ES" alt="หน้าสำหรับการแก้ไขโปรเจกต์"><figcaption><p>หน้าสำหรับการแก้ไขโปรเจกต์</p></figcaption></figure>

## การเพิ่ม/สร้างไฟล์โค้ด

มีขั้นตอนดังนี้

1. เลือก **Add Sources** เพื่อเพิ่มโค้ดที่ใช้ในวงจร

<figure><img src="/files/dT8Hw7hGN2wiGtm2JyA6" alt="เพิ่มไฟล์โค้ดที่ใช้ในโปรเจกต์"><figcaption><p>เพิ่มไฟล์โค้ดที่ใช้ในโปรเจกต์</p></figcaption></figure>

2. เลือก **Add or create design sources** เพื่อเพิ่ม/สร้างไฟล์โค้ด

<figure><img src="/files/7VdhcDMMTmxWZDb7Awp9" alt="เลือกเพิ่ม/สร้างไฟล์โค้ดสำหรับออกแบบ"><figcaption><p>เลือกเพิ่ม/สร้างไฟล์โค้ดสำหรับออกแบบ</p></figcaption></figure>

แบ่งการยกตัวอย่างออกเป็น 2 แบบ คือ **เพิ่มไฟล์โค้ด**และ**สร้างไฟล์โค้ด**

* **เพิ่มไฟล์โค้ด** สำหรับในกรณีที่มีไฟล์โค้ดอยู่แล้วสามารถเพิ่มโค้ดได้โดยคลิกที่ **Add File**

<figure><img src="/files/OfWTfVIhYMFpEpssBLSR" alt="เลือกเพิ่มไฟล์โค้ดสำหรับออกแบบ"><figcaption><p>เลือกเพิ่มไฟล์โค้ดสำหรับออกแบบ</p></figcaption></figure>

เลือก**ที่อยู่ที่เก็บไฟล์โค้ด**ไว้ จากนั้นเลือกไฟล์ที่ต้องการแล้วกด **OK**

<figure><img src="/files/Z59UKDyBb329dXGR47tB" alt="เลือกไฟล์โค้ดที่ต้องการ"><figcaption><p>เลือกไฟล์โค้ดที่ต้องการ</p></figcaption></figure>

เมื่อได้ไฟล์โค้ดที่ต้องการแล้ว กด **Finish**

<figure><img src="/files/zAGAep6TFdr4sjGLNXp8" alt="กด Finish เพื่อเพิ่มไฟล์โค้ดไว้ในโปรเจกต์"><figcaption><p>กด Finish เพื่อเพิ่มไฟล์โค้ดไว้ในโปรเจกต์</p></figcaption></figure>

* **สร้างไฟล์โค้ด** สำหรับในกรณีที่ไม่มีไฟล์โค้ด คลิกที่ **Create File**

<figure><img src="/files/eDcAdkLVdfCo0kcbepit" alt="เลือกสร้างไฟล์โค้ดสำหรับออกแบบ"><figcaption><p>เลือกสร้างไฟล์โค้ดสำหรับออกแบบ</p></figcaption></figure>

**เลือกภาษา**ที่ใช้ในการเขียนโค้ด **ตั้งชื่อไฟล์** และ**เลือกตำแหน่งที่จะเก็บไฟล์** จากนั้นกด **Finish**

<figure><img src="/files/rUelOhEtPvqsQK2TK89n" alt="ตั้งค่าสำหรับการสร้างไฟล์โค้ด"><figcaption><p>ตั้งค่าสำหรับการสร้างไฟล์โค้ด</p></figcaption></figure>

<figure><img src="/files/QeCIzE9BnhWRvWu77vgD" alt="ตั้งชื่อ Module แล้วกด OK จากนั้นกด YES"><figcaption><p>ตั้งค่าไฟล์โค้ดเสร็จสิ้น</p></figcaption></figure>

ตั้งชื่อ **Module** แล้วกด **OK** จากนั้นกด **YES**

<figure><img src="/files/BvSy9b53sLnJ17sYfHAm" alt="ตั้งชื่อ Module ที่อยู่ในไฟล์โค้ด"><figcaption><p>ตั้งชื่อ Module ที่อยู่ในไฟล์โค้ด</p></figcaption></figure>

<figure><img src="/files/bmYrDkWRYRJQ0BMff6MS" alt="กด Yes โดยยังไม่ต้องตั้งค่า I/O Port "><figcaption><p>กด Yes โดยยังไม่ต้องตั้งค่า I/O Port </p></figcaption></figure>

3. กด **PROJECT MANAGER** กดเปิด **Design Sources** แล้วกดดับเบิลคลิกที่ **Key** เพื่อดูไฟล์โค้ดที่เราสร้าง/เพิ่มเข้ามา

<figure><img src="/files/pTgoFdW9IIKsEDsdWgWK" alt="เปิดไฟล์โค้ดในโปรเจกต์"><figcaption><p>เปิดไฟล์โค้ดในโปรเจกต์</p></figcaption></figure>

ในกรณีที่ยังไม่มีไฟล์โค้ด ให้เข้าไปคัดลอกไฟล์โค้ดตัวอย่างที่มากับบอร์ดโดยไปที่โฟลเดอร์ที่เก็บ **course\_s1\_fpga** ไว้จากนั้นเลือก **06\_key > auto\_create\_project > src > design** แล้วเปิดไฟล์ **key\_test.v**

<figure><img src="/files/9vlPQffVqqvfc4VDNfKJ" alt="ลือกไฟล์ key_test.v จากโปรเจกต์ตัวอย่างที่มาพร้อมกับบอร์ด"><figcaption><p>เลือกไฟล์ key_test.v จากโปรเจกต์ตัวอย่างที่มาพร้อมกับบอร์ด</p></figcaption></figure>

คัดลอกโค้ดในไฟล์ **key\_test.v** จากนั้นนำมาวางที่ไฟล์ **key.v** ในโปรแกรม Vivado แล้วกด **Save**

<figure><img src="/files/y2WYswblwVKoAhWqgZhJ" alt="ไฟล์ key_test.v "><figcaption><p>ไฟล์ key_test.v </p></figcaption></figure>

<figure><img src="/files/OQkbNFYIf4JTAXcXvrqc" alt="ไฟล์โค้ด key.v ในโปรแกรม Vivado"><figcaption><p>ไฟล์โค้ด key.v ในโปรแกรม Vivado</p></figcaption></figure>

## การกำหนดขาเชื่อมต่อ

ในหัวข้อนี้ เราจะต้องกำหนดให้ขาเข้า (Input) ขาออก (Output) ของไฟล์ key.v ให้เชื่อมต่อกับขาบน บอร์ด FPGA โดยใช้ไฟล์ .xdc ซึ่งไฟล์นี้เป็นไฟล์ที่ใช้สำหรับกำหนดขาเชื่อมต่อต่างๆใน Vivado

*\*\*สามารถดูรายละเอียดของขาเชื่อมต่อต่างๆ บนบอร์ดได้จากเอกสาร ALINX AX7010 User Manual*

มีขั้นตอนดังนี้

1. กด **Open Elaborated Design** เพื่อกำหนดพอร์ต I/O และตรวจสอบการเชื่อมต่อของลอจิกภายใน (Netlist) ของวงจร จากนั้นกด **OK** เพื่อดำเนินการต่อ

<figure><img src="/files/CTPGtS8hKO4NxL7y5Uzt" alt="Open Elaborated Design"><figcaption><p>Open Elaborated Design</p></figcaption></figure>

2. กด **Window** แล้วเลือก **I/O Ports**

<figure><img src="/files/PNhzChpZ6VqOHyKNux0U" alt="I/O Port"><figcaption><p>I/O Port</p></figcaption></figure>

3. หน้าการตั้งค่า I/O Port จะแสดงขึ้นมาในเมนูด้านล่าง ให้ตั้งค่า **Package Pin** และ **I/O std** ดังนี้

<figure><img src="/files/MXbH8KW5yeweSKhZUB6M" alt="ตั้งค่า Package Pin และ I/O std"><figcaption><p>ตั้งค่า Package Pin และ I/O std</p></figcaption></figure>

ในโปรเจกต์ตัวอย่างในที่นี้ผลลัพธ์ของวงจรคือ เมื่อกดปุ่ม (Key) บนบอร์ดจาก ไฟ LED จะสว่างขึ้น ดังนั้น I/O Port ที่ต้องกำหนดจึงมี LED และ Key ทั้งหมด 4 ปุ่ม และสัญญาณนาฬิกา (Clock) ซึ่ง Package Pin และ I/O std ที่ตั้งค่าในโปรเจกต์นี้สามารถดูได้จากส่วน **Pin Number** และ **Power Supply** ของหัวข้อที่ต้องการตั้งค่าในเอกสาร **ALINX AX7010 User Manual** เช่น การตั้งค่าสำหรับ LED สามารถหาได้ในหัวข้อ ZYNQ ProgrammableLogic (PL) peripherals > User LEDs

* LED

<figure><img src="/files/HVMIV2G09ySoSybjIILe" alt="ตารางหมายเลขขาพิน (Pin Number) ของ LED บนบอร์ด จาก User Manual"><figcaption><p>ตารางหมายเลขขาพิน (Pin Number) ของ LED บนบอร์ด จาก User Manual</p></figcaption></figure>

<figure><img src="/files/DcN2xZ17HjvQfhWnpBBt" alt="รูปภาพแสดงการเชื่อมต่อของต่างๆ ของ LED บนบอร์ด จาก User Manual"><figcaption><p>รูปภาพแสดงการเชื่อมต่อของต่างๆ ของ LED บนบอร์ด จาก User Manual</p></figcaption></figure>

* KEY

<figure><img src="/files/iGBKY5dQquiUytnEwzrQ" alt="ตารางหมายเลขขาพิน (Pin Number) ของ KEY บนบอร์ด จาก User Manual"><figcaption><p>ตารางหมายเลขขาพิน (Pin Number) ของ KEY บนบอร์ด จาก User Manual</p></figcaption></figure>

<figure><img src="/files/6VunPyJc6eKUXeMVAKhq" alt="รูปภาพแสดงการเชื่อมต่อของต่างๆ ของ KEY บนบอร์ด จาก User Manual"><figcaption><p>รูปภาพแสดงการเชื่อมต่อของต่างๆ ของ KEY บนบอร์ด จาก User Manual</p></figcaption></figure>

* Clock

<figure><img src="/files/30o31X5DLwqi7Z6EquTY" alt="ตารางหมายเลขขาพิน (Pin Number) ของ PL Clock บนบอร์ด จาก User Manual"><figcaption><p>ตารางหมายเลขขาพิน (Pin Number) ของ PL Clock บนบอร์ด จาก User Manual</p></figcaption></figure>

<figure><img src="/files/Ite1xnUm2zMJxivVmw73" alt="รูปภาพแสดงการเชื่อมต่อของต่างๆ ของ PL Clock บนบอร์ด จาก User Manual"><figcaption><p>รูปภาพแสดงการเชื่อมต่อของต่างๆ ของ PL Clock บนบอร์ด จาก User Manual</p></figcaption></figure>

4. กด **Save (Ctrl+S)** และ**ตั้งชื่อไฟล์** จากนั้นกด **OK**

<figure><img src="/files/fSiOA1eE6O3j7DpnoCRY" alt="ตั้งชื่อสำหรับไฟล์ Constraints (.xdc)"><figcaption><p>ตั้งชื่อสำหรับไฟล์ Constraints (.xdc)</p></figcaption></figure>

5. กด **PROJECT MANAGER** แล้วเลือก **Constraints > constrs\_1 > key.xdc (target)** เพื่อดูขาเชื่อมต่อที่เรากำหนดไว้

<figure><img src="/files/OfwmKkgffjadxv6z9xKA" alt="ตรวจสอบไฟล์ key.xdc"><figcaption><p>ตรวจสอบไฟล์ key.xdc</p></figcaption></figure>

**แนะนำรูปแบบพื้นฐานของการเขียน XDC (Xilinx Design Constraints)**

พอร์ต I/O ทั่วไปจำเป็นต้องกำหนดหมายเลขพิน (Pin number) และมาตรฐานระดับสัญญาณ (Level Standard) หรือระดับแรงดันไฟฟ้า

* การกำหนดขาเชื่อมต่อ (Pin number) มีดังนี้

&#x20;         set\_property PACKAGE\_PIN **"pin number"** \[get\_ports **"Port name"**]

* การกำหนดระดับสัญญาณ (level signal) มีดังนี้:

&#x20;         set\_property IOSTANDARD **"Level Standard"** \[get\_ports **"Port Name"**]

เมื่อกำหนด Package Pin และ I/O std ใน I/O Ports โปรแกรม Vivado จะกำหนดขาเชื่อมต่อ (Pin number) และสัญญาณระดับ (level signal) ในไฟล์ .xdc ทั้งหมดโดยอัตโนมัติ

*ข้อควรระวัง* ใช้ตัวอักษรใหญ่-เล็กอย่างถูกต้อง ชื่อพอร์ตต้องตรงกับชื่อในไฟล์โค้ดเท่านั้น

## การตั้งค่าสัญญาณนาฬิกา (Clock)

นอกเหนือจากการกำหนดขาเชื่อมต่อแล้ว การออกแบบ FPGA ยังมีข้อกำหนดที่สำคัญอีกอย่างหนึ่งคือการกำหนดสัญญาณนาฬิกา ในที่นี้จะใช้ Constraints Wizard เพื่อสาธิตวิธีการกำหนดสัญญาณนาฬิกา

มีขั้นตอนดังนี้

1. กด **Run Synthesis**

<figure><img src="/files/OVs5FZUb5zpUxCYQFelS" alt="Synthesis"><figcaption><p>Synthesis</p></figcaption></figure>

2. กด **OK** และเมื่อ Synthesis Completed แล้วเลือก **Cancel** เนื่องจากยังไม่ต้องการ Run Implementation

<figure><img src="/files/BaKv1l52evAHytMlOiJQ" alt="Synthesis Completed"><figcaption><p>Synthesis Completed</p></figcaption></figure>

3. กด **Constraints Wizard** แล้วเลือก **Next**

<figure><img src="/files/OsB7es4wpBGqJEL5TW78" alt="Constraints Wizard ในเมนู Synthesis"><figcaption><p>Constraints Wizard ในเมนู Synthesis</p></figcaption></figure>

<figure><img src="/files/g1VHKzOjvYBLSp7jBFm6" alt="Timing Constraints Wizard"><figcaption><p>Timing Constraints Wizard</p></figcaption></figure>

4. ในการออกแบบนี้จะตั้งค่า**ความถี่ (Frequency) ของสัญญาณนาฬิกา (Clock)** เป็น **50.000 MHz** แล้วกด **Skip to Finish** จากนั้นเลือก **Finish**

<figure><img src="/files/ZQshuj4U4fK9p3gz0svg" alt="ตั้งค่า Primary Clocks ใน Timing Constraints Wizard"><figcaption><p>ตั้งค่า Primary Clocks ใน Timing Constraints Wizard</p></figcaption></figure>

<figure><img src="/files/NTKeqWTbVXnsF5avPbJ3" alt="ตั้งค่า Timing Constraints Wizard เสร็จสิ้น"><figcaption><p>ตั้งค่า Timing Constraints Wizard เสร็จสิ้น</p></figcaption></figure>

5. เมื่อตั้งค่าเสร็จสิ้นแล้วกดเข้ามาดูที่ไฟล์ **key.xdc** จะได้ค่าดังนี้

**“create\_clock -period 20.000 -name clk -waveform {0.000 10.000} \[get\_ports clk]”**

จากนั้นให้กด **Save**

<figure><img src="/files/UT88O7SKs0h8fRWGjK1H" alt="ตรวจสอบ Primary Clocks ในไฟล์ key.xdc"><figcaption><p>ตรวจสอบ Primary Clocks ในไฟล์ key.xdc</p></figcaption></figure>

**รายละเอียดการกำหนดสัญญาณนาฬิกา (Clock) มีดังนี้**

create\_clock -period **“Clock period”** -name **“Port name”** -waveform {**“Rising edge timing”** **“Falling edge timing”**} \[get\_ports **“Port name”**]

## การสร้าง Bit file เพื่อโปรแกรมลงบอร์ด FPGA

Bit file คือวงจร FPGA ที่ออกแบบสมบูรณ์แล้วและแปลงให้อยู่ในรูป Bit File เพื่อนำไปใช้สำหรับโปรแกรมลงบนบอร์ด FPGA ให้บอร์ดทำงานตามที่ออกแบบไว้

มีขั้นตอนดังนี้

1. ไปที่เมนู **PROGRAM AND DEBUG** เลือก **Generate Bitstream** จากนั้นกด **OK**

*เพิ่มเติม* สามารถกด Generate Bitstream ได้เลยโดยไม่ต้องกด Synthesis และ Implement เนื่องจากการกด Generate Bitstream จะรัน Synthesis และ Implement ให้อัตโนมัติ

<figure><img src="/files/CVHutRiVQwaHTSpwsHP1" alt="Generate Bitstream"><figcaption><p>Generate Bitstream</p></figcaption></figure>

<figure><img src="/files/8qw94JLBzzGKuedpLpe6" alt="Generate Bitstream"><figcaption><p>Generate Bitstream</p></figcaption></figure>

2. หากไม่พบข้อผิดพลาด จะปรากฏหน้าจอ **Bitstream Generation Completed** กด **OK** เพื่อดำเนินการต่อ

<figure><img src="/files/1MGFJRdRgSQpAf64ZeO5" alt="Bitstream Generation Completed"><figcaption><p>Bitstream Generation Completed</p></figcaption></figure>

แต่หากมีข้อผิดพลาด สามารถดูรายละเอียดของข้อผิดพลาดได้ที่หน้า **Messages**

<figure><img src="/files/Om2rGgZ3MN8HHaMexw2J" alt="ตรวจสอบข้อผิดพลาดในหน้า Messages"><figcaption><p>ตรวจสอบข้อผิดพลาดในหน้า Messages</p></figcaption></figure>

## การดาวน์โหลด Bit File ลงบอร์ดเพื่อดูการทำงานของวงจร

ในการดาวน์โหลด Bit file ลงบอร์ด สามารถอ่านขั้นตอนได้ในบทที่ 2 เรื่อง **บทความสอนการติดตั้งและการรันโปรเจกต์ตัวอย่าง** ในหัวข้อ [**สอนการรันโปรเจกต์ตัวอย่าง**](/design-gateway/alinx-ax7010/2.md#undefined-2)

เมื่อทำตามขั้นตอนและดาวน์โหลดไฟล์ลงบอร์ดเสร็จเรียบร้อย เมื่อดูผลลัพธ์จากบอร์ดจะได้ดังนี้

<figure><img src="/files/N5eVOXhHN9Xd998Hzrjb" alt="ตารางการทำงานของโค้ดที่ออกแบบในไฟล์ key.v"><figcaption><p>ตารางการทำงานของโค้ดที่ออกแบบในไฟล์ key.v</p></figcaption></figure>

จะได้ดังรูปนี้

<figure><img src="/files/oOTtJr21WQIUEWAUM5hn" alt="ผลลัพธ์จากการทดสอบบนบอร์ด ALINX AX7010"><figcaption><p>ผลลัพธ์จากการทดสอบบนบอร์ด ALINX AX7010</p></figcaption></figure>

## การแก้ไขไฟล์โค้ด

ในหัวข้อนี้จะยกตัวอย่างการแก้ไขไฟล์โค้ด เพื่อสอนวิธีการแก้ไขโค้ดเมื่อต้องการปรับเปลี่ยนการทำงานของวงจร

โดยมีขั้นตอนดังต่อไปนี้

1. ไปที่ไฟล์โค้ด **key.v** และแก้ไขโค้ดตามที่ต้องการ ตัวอย่างการแก้ไขในหัวข้อนี้ คือการเปลี่ยนรูปแบบการทำงานเดิม โดยแก้ไขการทำงานดังตารางด้านล่างนี้

<figure><img src="/files/sIDJEdOZFByuurw1zP1l" alt="ตารางการทำงานของโค้ดที่เปรียบเทียบผลลัพธ์ของไฟล์โค้คเดิมและไฟล์โค้ดใหม่"><figcaption><p>ตารางการทำงานของโค้ดที่เปรียบเทียบผลลัพธ์ของไฟล์โค้คเดิมและไฟล์โค้ดใหม่</p></figcaption></figure>

<figure><img src="/files/U9gt5BrS1nQh8kojJuMV" alt="โค้ด key.v ที่แก้ไขการทำงานใหม่"><figcaption><p>โค้ด key.v ที่แก้ไขการทำงานใหม่</p></figcaption></figure>

เมื่อแก้ไขโค้ดเรียบร้อย จากนั้นกด **Save**

2. จากนั้น **Generate Bitstream** เพื่อสร้าง **Bit File** สำหรับโปรแกรมลงบอร์ด และเมื่อดาวน์โหลดไฟล์ลงบอร์ดเสร็จเรียบร้อย จะได้ผลลัพธ์ดังนี้

<figure><img src="/files/lcUQzPcklEOfposwJsQl" alt="ผลลัพธ์ของไฟล์โค้ดใหม่จากการทดสอบบนบอร์ด ALINX AX7010"><figcaption><p>ผลลัพธ์ของไฟล์โค้ดใหม่จากการทดสอบบนบอร์ด ALINX AX7010</p></figcaption></figure>

จากหัวข้อที่กล่าวมาทั้งหมดนี้ เพียงพอสำหรับให้ผู้ใช้สร้างและรันโปรเจกต์ตัวอย่างได้ด้วยตนเอง นอกจากนี้ ผู้ใช้ยังสามารถศึกษาหรือลองรันโปรเจกต์ตัวอย่างอื่น ๆ ที่มาพร้อมกับบอร์ด ALINX AX7010 เพื่อเสริมความเข้าใจได้อีกด้วย

{% embed url="<https://youtu.be/Q9AGFO77cys>" %}
[สอนสร้างโปรเจกต์ใน Vivado กับบอร์ด AX7010 | Part 1: วิธีสร้างโปรเจกต์พร้อมเพิ่มไฟล์ Source Code](https://youtu.be/Q9AGFO77cys)
{% endembed %}

{% embed url="<https://youtu.be/jXZv-EKylKU>" %}
[สอนสร้างโปรเจกต์ใน Vivado กับบอร์ด AX7010 | Part 2: การตั้งค่า I/O Pin และสัญญาณนาฬิกาใน Vivado](https://youtu.be/jXZv-EKylKU)
{% endembed %}

{% embed url="<https://youtu.be/jvy48bfwltk>" %}
[สอนสร้างโปรเจกต์ใน Vivado กับบอร์ด AX7010 | Part 3: Generate Bit File และวิธีแก้ไข Source Code](https://youtu.be/jvy48bfwltk)
{% endembed %}
