วันพุธที่ 5 พฤศจิกายน พ.ศ. 2557

โจทย์ปฏิบัติสัปดาห์ที่ 28/10/2557

2) จงออกแบบวงจรนับ binary counter ขนาด 32 บิต
- มีอินพุต CLK ความถี่ 50MHz (ได้จากวงจรสร้างความถี่บนบอร์ด FPGA)
- มีขา LED(7:0) ซึ่งเป็นเอาต์พุตและต่อกับ LED บนบอร์ด FPGA
และให้แสดงสถานะลอจิกของตัวนับ 8 บิต นับจากซ้ายสุด (บิตที่ 31..24)
- ให้ออกแบบวงจรโดยใช้ภาษา VHDL
- ทดลองในบอร์ด FPGA และเขียนรายงานการทดลอง

อุปกรณ์ที่ใช้

1. FPGA Board                                                                                                                                  1 อัน




Code VHDL
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity counter is
            port(
            clock : in std_logic;         //เป็นการกำหนดให้ clock เป็นสัญญาณ input
            led : out std_logic_vector( 7 downto 0 )   // กำหนดให้ Led เป็น output โดยมีจำนวน 8 bit
            );
end counter;

architecture DATAFLOW of counter is
            signal count : std_logic_vector( 31 downto 0 );  // กำหนดให้ตัวแปร countมีทั้งหมด 32 บิต
            begin
            process (clock)        
                        begin
                        if clock'event and clock = '1' then     //กำหนดเงื่อนไข เมื่อมีสัญญาณ clock เข้ามา
                                    count <= count +1;              //ให้ count เพื่มค่าขึ้น 1
                        end if ;
                        led <= count(31 downto 24);          //ให้ Led รับค่าของ count บิตที่31-24
            end process;
end DATAFLOW;



ไม่มีความคิดเห็น:

แสดงความคิดเห็น