📄 controller.vhd
字号:
en_init_s<='0'; en_load_ps<='0'; en_all_ps<='0'; en_all_euclid<='0'; en_init_euclid<='0'; ----- en_all_sp<='0'; en_init_sp<='0'; en_sel_chien<='0'; en_all_chien<='0'; en_all_correct<='0'; en_read_memory<='0'; en_read_delay<='0'; en_write_delay<='0'; out_en<='0';
end if;
if cnt=N6 then next_state<=init_euclid; elsif cnt=N7 then next_state<=ps_euclid_valid; end if; when ps_euclid_valid=>
if ready='1'then en_all_s<='0'; en_con_s<='1'; en_init_s<='0'; en_load_ps<='0'; en_all_ps<='1'; en_all_euclid<='1'; en_init_euclid<='0'; en_all_sp<='0'; en_init_sp<='0'; en_sel_chien<='0'; en_all_chien<='0'; en_all_correct<='0'; en_read_memory<='0'; en_read_delay<='0'; en_write_delay<='0'; out_en<='0'; else
en_all_s<='0'; en_con_s<='1'; en_init_s<='0'; en_load_ps<='0'; en_all_ps<='0'; en_all_euclid<='0'; en_init_euclid<='0'; ----- en_all_sp<='0'; en_init_sp<='0'; en_sel_chien<='0'; en_all_chien<='0'; en_all_correct<='0'; en_read_memory<='0'; en_read_delay<='0'; en_write_delay<='0'; out_en<='0';
end if; if cnt>=N7 and cnt<N8 then next_state<=ps_euclid_valid; elsif cnt=N8 then next_state<=euclid_valid; end if; when euclid_valid=> ------------- if ready='1'then
en_all_s<='0'; en_con_s<='1'; en_init_s<='0'; en_load_ps<='0'; en_all_ps<='0'; en_all_euclid<='1'; en_init_euclid<='0'; en_all_sp<='0'; en_init_sp<='0'; en_sel_chien<='0'; en_all_chien<='0'; en_all_correct<='0'; en_read_memory<='0'; en_read_delay<='0'; en_write_delay<='0'; out_en<='0'; else
en_all_s<='0'; en_con_s<='1'; en_init_s<='0'; en_load_ps<='0'; en_all_ps<='0'; en_all_euclid<='0'; en_init_euclid<='0'; ----- en_all_sp<='0'; en_init_sp<='0'; en_sel_chien<='0'; en_all_chien<='0'; en_all_correct<='0'; en_read_memory<='0'; en_read_delay<='0'; en_write_delay<='0'; out_en<='0';
end if; if cnt>=N8 and cnt<N9 then next_state<=euclid_valid; elsif cnt=N9 then next_state<=init_sp; end if; when init_sp=> -------------------- if ready='1'then
en_all_s<='0'; en_con_s<='1'; en_init_s<='0'; en_load_ps<='0'; en_all_ps<='0'; en_all_euclid<='1'; en_init_euclid<='0'; en_all_sp<='0'; en_init_sp<='1'; en_sel_chien<='0'; en_all_chien<='0'; en_all_correct<='0'; en_read_memory<='0'; en_read_delay<='0'; en_write_delay<='0'; out_en<='0'; else
en_all_s<='0'; en_con_s<='1'; en_init_s<='0'; en_load_ps<='0'; en_all_ps<='0'; en_all_euclid<='0'; en_init_euclid<='0'; ----- en_all_sp<='0'; en_init_sp<='0'; en_sel_chien<='0'; en_all_chien<='0'; en_all_correct<='0'; en_read_memory<='0'; en_read_delay<='0'; en_write_delay<='0'; out_en<='0';
end if;
if cnt=N9 then next_state<=init_sp; elsif cnt=N10 then next_state<=init_sp_over; end if; when init_sp_over=> if ready='1'then
en_all_s<='0'; ---- en_con_s<='1'; en_init_s<='0'; en_load_ps<='0'; en_all_ps<='0'; en_all_euclid<='1'; en_init_euclid<='0'; en_all_sp<='0'; en_init_sp<='0'; en_sel_chien<='0'; en_all_chien<='0'; en_all_correct<='0'; en_read_memory<='0'; en_read_delay<='0'; en_write_delay<='0'; out_en<='0'; else
en_all_s<='0'; en_con_s<='1'; en_init_s<='0'; en_load_ps<='0'; en_all_ps<='0'; en_all_euclid<='0'; en_init_euclid<='0'; ----- en_all_sp<='0'; en_init_sp<='0'; en_sel_chien<='0'; en_all_chien<='0'; en_all_correct<='0'; en_read_memory<='0'; en_read_delay<='0'; en_write_delay<='0'; out_en<='0';
end if;
if cnt=N10 then next_state<=init_sp_over; elsif cnt=N11 then next_state<=sp_euclid_valid; end if; when sp_euclid_valid=> if ready='1'then
en_all_s<='0'; en_con_s<='1'; en_init_s<='0'; en_load_ps<='0'; en_all_ps<='0'; en_all_euclid<='1'; en_init_euclid<='0'; en_all_sp<='1'; en_init_sp<='0'; en_sel_chien<='0'; en_all_chien<='0'; en_all_correct<='0'; en_read_memory<='0'; en_read_delay<='0'; en_write_delay<='0'; out_en<='0'; else
en_all_s<='0'; en_con_s<='1'; en_init_s<='0'; en_load_ps<='0'; en_all_ps<='0'; en_all_euclid<='0'; en_init_euclid<='0'; ----- en_all_sp<='0'; en_init_sp<='0'; en_sel_chien<='0'; en_all_chien<='0'; en_all_correct<='0'; en_read_memory<='0'; en_read_delay<='0'; en_write_delay<='0'; out_en<='0';
end if; if cnt>=N11 and cnt<N12 then next_state<=sp_euclid_valid; elsif cnt=N12 then next_state<=init_chien; end if; when init_chien=> if ready='1'then
en_all_s<='0'; en_con_s<='1'; en_init_s<='0'; en_load_ps<='0'; en_all_ps<='0'; en_all_euclid<='0'; en_init_euclid<='0'; en_all_sp<='1'; en_init_sp<='0'; en_sel_chien<='1'; en_all_chien<='1'; en_all_correct<='0'; en_read_memory<='0'; en_read_delay<='1'; -------- en_write_delay<='0'; out_en<='0'; else
en_all_s<='0'; en_con_s<='1'; en_init_s<='0'; en_load_ps<='0'; en_all_ps<='0'; en_all_euclid<='0'; en_init_euclid<='0'; ----- en_all_sp<='0'; en_init_sp<='0'; en_sel_chien<='0'; en_all_chien<='0'; en_all_correct<='0'; en_read_memory<='0'; en_read_delay<='0'; en_write_delay<='0'; out_en<='0';
end if; if cnt=N12 then next_state<=init_chien; elsif cnt=N13 then next_state<=chien_valid; end if; when chien_valid=> if ready='1'then
en_all_s<='0'; en_con_s<='1'; en_init_s<='0'; en_load_ps<='0'; en_all_ps<='0'; en_all_euclid<='0'; en_init_euclid<='0'; en_all_sp<='0'; en_init_sp<='0'; en_sel_chien<='0'; en_all_chien<='1'; en_all_correct<='1'; ------ en_read_memory<='0'; en_read_delay<='1'; en_write_delay<='0'; out_en<='0'; else
en_all_s<='0'; en_con_s<='1'; en_init_s<='0'; en_load_ps<='0'; en_all_ps<='0'; en_all_euclid<='0'; en_init_euclid<='0'; ----- en_all_sp<='0'; en_init_sp<='0'; en_sel_chien<='0'; en_all_chien<='0'; en_all_correct<='0'; en_read_memory<='0'; en_read_delay<='0'; en_write_delay<='0'; out_en<='0';
end if; if cnt=N13 then next_state<=chien_valid; elsif cnt=N14 then next_state<=correct_valid; end if; when correct_valid=> if ready='1'then
en_all_s<='0'; en_con_s<='1'; en_init_s<='0'; en_load_ps<='0'; en_all_ps<='0'; en_all_euclid<='0'; en_init_euclid<='0'; en_all_sp<='0'; en_init_sp<='0'; en_sel_chien<='0'; en_all_chien<='1'; en_all_correct<='1'; en_read_memory<='0'; en_read_delay<='1'; en_write_delay<='0'; out_en<='1'; else
en_all_s<='0'; en_con_s<='1'; en_init_s<='0'; en_load_ps<='0'; en_all_ps<='0'; en_all_euclid<='0'; en_init_euclid<='0'; ----- en_all_sp<='0'; en_init_sp<='0'; en_sel_chien<='0'; en_all_chien<='0'; en_all_correct<='0'; en_read_memory<='0'; en_read_delay<='0'; en_write_delay<='0'; out_en<='0';
end if; if cnt>=N14 and cnt<=N15 then ----- next_state<=correct_valid; elsif cnt=N0 then next_state<=mem_valid; end if; end case; end process;state_register_pro: process(clk,reset) begin if reset='1' then present_state<=idle;
-- elsif ready='0' then --*----
-- present_state<=idle; ---- elsif clk'event and clk='1' then present_state<=next_state; end if; end process; end Behavioral;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -