كيفية تحديد مدخلات الساعة في Xilinx
-
02-10-2019 - |
سؤال
مهلا ، ليس لدي أي خبرة تقريبا مع Xilinx. لديّ مشروع جماعي لدورة منطقية رقمية مستحقة قريبًا ، حيث قرر شريكي ، الذي كان من المفترض أن يعتني بمحاكاة Xilinx أن ينقذني. لذا أحاول هنا اكتشاف ذلك في اللحظة الأخيرة.
لقد صممت عدادًا متزامنًا باستخدام عدد قليل من التقليب JK وأحتاج إلى تحديد مدخلات CLK لـ FJKCs.
لقد وضعت التخطيطي الصحيح ، لكن لا يمكنني معرفة كيفية تحديد إدخال الساعة.
أي مساعدة موضع تقدير ، ونعم ، هذا هو الواجب المنزلي. لا يمكنني العثور على أي وثائق/برامج تعليمية أساسية على الإنترنت ، وأنا بصراحة ليس لدي وقت لتعلم IDE بالكامل.
أنا أستخدم VHDL
المحلول
تحقق من هذا المثال.
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all; -- for the unsigned type
entity counter_example is
generic ( WIDTH : integer := 32);
port (
CLK, RESET, LOAD : in std_logic;
DATA : in unsigned(WIDTH-1 downto 0);
Q : out unsigned(WIDTH-1 downto 0));
end entity counter_example;
architecture counter_example_a of counter_example is
signal cnt : unsigned(WIDTH-1 downto 0);
begin
process(RESET, CLK) is
begin
if RESET = '1' then
cnt <= (others => '0');
elsif rising_edge(CLK) then
if LOAD = '1' then
cnt <= DATA;
else
cnt <= cnt + 1;
end if;
end if;
end process;
Q <= cnt;
end architecture counter_example_a;
نصائح أخرى
تخيل أن لديك جهاز عينة على النحو التالي:
ENTITY SampleDevice IS
PORT
(
CLK : IN std_logic
);
END SampleDevice;
من أجل إرفاق إشارة CLK بإدخال ساعة حقيقية في FPGA ، يجب عليك تعيينها على أنها وحدة أعلى وإنشاء ملف UCF مع إدخال:
NET "CLK" LOC = "P38";
ال ص 38 هو إدخال الساعة في Xilinx Spartan 3 XC3S200.