Nguyên văn bởi thavali
Xem bài viết
Như bạn titeo góp ý, bạn nên viết code theo đúng quy tắc, nhất là với những hardware language, không thể luông tuồng được như với Java hay C.Căn bản nhất, bạn nên viết theo mẫu:
if (rising_edge(clk)) then
if (reset = '1') then
...
elsif (clock_enable = '1') then
...
end if;
end if;
Code của bạn viết sai nên rất khó hiểu "ý đồ" của bạn. Count:=count-1, nằm ngoài if (rising_edge(clk)) ... end if, nhưng không có nghĩa là nó sẽ xảy ra vào falling edge. Bạn nên tham khảo lại. Hình như bạn muốn làm một cái up-down counter, tùy theo trường hợp là đếm lên hay đếm xuống. Mình đã tạm viết lại một chút:
entity sensitize is
port (clk_RAM :in std_logic ;
counter_enable :in std_logic ;
count_up : in std_logic;
clk_enable : in std_logic;
output :out std_logic_vector(4 downto 0 ));
end sensitize;
architecture Behavioral of sensitize is
signal count : natural range 0 to 25 := 0;
begin
process (clk_RAM)
begin
if (rising_edge(clk_RAM)) then
if (counter_enable = '0' or count = 25) then
count <= 0;
elsif (clk_enable = '1') then
if (count_up = '1') then
count <= count + 1;
else
count <= count - 1;
end if;
end if;
end if;
end process;
output <= conv_std_logic_vector(count,5);
end Behavioral;
Nếu viết đúng quy tắc thì ISE sẽ nhận ra được up-down counter của bạn.
================================================== =======================
* HDL Synthesis *
================================================== =======================
Performing bidirectional port resolution...
Synthesizing Unit <sensitize>.
Related source file is "C:/Xilinx/test/test.vhd".
Found 5-bit updown counter for signal <count>.
Summary:
inferred 1 Counter(s).
Unit <sensitize> synthesized.
================================================== =======================
HDL Synthesis Report
Macro Statistics
# Counters : 1
5-bit updown counter : 1
, Mà tui thấy thằng ISE 9.1 này hay lỗi hơn thằng ISE 8 mới ghét chứ.
, nhưng mạch tổng hợp thì hổng có ngõ vào (ảnh ) chứng tỏ bé synthesis không hiểu ý mình
, Thế nên mới đâu đầu chứ ? Bác xem mấy cái ảnh thì sẽ rõ.
nên nó cũng chào thua.
Comment