thì cái đó như là mình gọi các component mà.liên kết các module với nhau thôi.đầu tiên em tưởng ý anh khác.
giúp đỡ về timer
Collapse
X
-
-
Nguyên văn bởi hoanglonghv Xem bài viếtNhưng anh Jefflieu ơi cái phím đó là theo kiểu chuyển vòng trạng thái khác với mục đích này.pause,start + full-screen khác hẳn với pause+start+reset.
A gợi ý thôi. Ý nói có thể thực hiện được nhiều lệnh với 1 phím.
Tại sao không dùng vòng trạng thái. Như vậy timer của bạn có thêm block "User interface" ...
User interface gồm:
- Input: button
- Ouput: start/clear
Máy trạng thái sẽ điều khiển start/clear
Comment
-
Tại thấy thread FPGA này nó nguội quá nên em vào khuấy cho nó nóng tí chứ bài này đâu phải của em đâu anh.hihi.là của hai_mta mà.Nguyên văn bởi jefflieu Xem bài viết
A gợi ý thôi. Ý nói có thể thực hiện được nhiều lệnh với 1 phím.
Tại sao không dùng vòng trạng thái. Như vậy timer của bạn có thêm block "User interface" ...
User interface gồm:
- Input: button
- Ouput: start/clear
Máy trạng thái sẽ điều khiển start/clear
Comment
-
Về variable và signal:
Một tín hiệu được khai báo signal thì có thể được synthesize thành register hoặc wire tùy cách dùng tín hiệu đó.
Ví dụ:
signal Start: std_logic;
Về variablestart là 1 wire:
start <= (not clear) and run;
start là 1 register
process(clk)
begin
if(rising_edge(clk)) then
start <= (not clear) and run;
end if
end process;
Bây giờ già sử var1 đang bằng 0, some_input = 1 không đổi. Thì sau rising clock tiếp theo var1 = 1. some_output sẽ bằng gì 0 hay 1?some_input và some_output là input và output kiểu std_logic;
process(clk,rst)
variable var1 : std_logic:='0';
begin
if(rst='1') then
var1:='0';
some_output <= '0';
elsif(rising_edge(clk)) then
var1:= not var1;
some_output <= var1 and some_input;
end if
end process
xong rồi bạn so sánh với code này:
Tương tự, giả sử some_input_1 đang = 1, var1 = 0, some_input = 1. some_output = 0. nếu trong 1 chu kì nào đó, some_input_1 chuyển từ 1 sang 0, some_input vẫn bằng 1. Thì some_output trong cycle tới = 0 hay bằng 1?process(clk,rst)
variable var1 : std_logic:='0';
begin
if(rst='1') then
var1:='0';
some_output <= '0';
elsif(rising_edge(clk)) then
var1:= not some_input_1;
some_output <= var1 and some_input;
end if
end process
Bạn thử đem 2 phần code vào ISE, synthesis và coi "RTL view" ...
Comment
-
Hi hai_mta,Nguyên văn bởi hai_mta Xem bài viếtanh Jettlieu ơi,vòng trạng thái sử dụng thế nào ạ?em mới bắt đầu làm quen nên còn gà lắm!!!
Theo anh em chưa học VHDL/Verilog được. Em cần học Digital Logic Design trước.
Em coi cái link này, a thấy khá tạm.
Comment
-
Thank jefflieu nhiều.trước đến giờ em đọc sách chỉ biết vậy mà ko test.hihi.Nguyên văn bởi jefflieu Xem bài viếtVề variable và signal:
Một tín hiệu được khai báo signal thì có thể được synthesize thành register hoặc wire tùy cách dùng tín hiệu đó.
Ví dụ:
signal Start: std_logic;
Về variable
Bây giờ già sử var1 đang bằng 0, some_input = 1 không đổi. Thì sau rising clock tiếp theo var1 = 1. some_output sẽ bằng gì 0 hay 1?
xong rồi bạn so sánh với code này:
Tương tự, giả sử some_input_1 đang = 1, var1 = 0, some_input = 1. some_output = 0. nếu trong 1 chu kì nào đó, some_input_1 chuyển từ 1 sang 0, some_input vẫn bằng 1. Thì some_output trong cycle tới = 0 hay bằng 1?
Bạn thử đem 2 phần code vào ISE, synthesis và coi "RTL view" ...
Comment
-
Re
coi như đầu vào còn lại là xung clk của 1 thanh ghi 2bit, 00 => đếm, 01=> stop, 10=> reset(đồng thời reset thanh ghi luôn).Nguyên văn bởi hai_mta Xem bài viếtbạn ơi,nếu chỉ có 2 đầu vào một là clk,đầu vào còn lại là chung giữa start/stop/restet thì làm thế nào?
Cheers!!!
dạo này mình đang bận ôn thi nên chưa code dc, khi nào thi xong mình sẽ code lên để anh em phán...
Comment
-
Bài viết mới nhất
Collapse
-
-
-
bởi bqvietĐám UPS cửa cuốn đời cổ vẫn chạy 1 biến áp sắt từ vừa để hạ áp điện lưới nạp bình điện, vừa để kích áp bình điện thành sóng vuông đầu ra đấy thôi. Kiểu tiết kiệm này đã có từ mấy chục năm nay. Sơ đồ đại loại như link
https://www.homemade-circuits.com/si...rchargerchang/...-
Channel: Nguồn!
06-09-2026, 16:49 -

Comment