From 4f0563da8cb9334a09b801c541075b628f350c1d Mon Sep 17 00:00:00 2001 From: Nanokloon Date: Thu, 20 Feb 2025 14:32:22 +0100 Subject: [PATCH] done --- LineFollower.cr.mti | 71 ++++++++++----------------------------- LineFollower.mpf | 36 ++++++++++---------- entities/controller.sv | 17 ++++++++-- entities/motorcontrol.sv | 36 +++----------------- entities/timebase.sv | 12 +++---- work/_info | 56 +++++++++++++++--------------- work/_lib.qdb | Bin 49152 -> 49152 bytes work/_lib1_3.qdb | Bin 32768 -> 0 bytes work/_lib1_3.qpg | Bin 172032 -> 0 bytes work/_lib1_3.qtl | Bin 113165 -> 0 bytes 10 files changed, 90 insertions(+), 138 deletions(-) delete mode 100644 work/_lib1_3.qdb delete mode 100644 work/_lib1_3.qpg delete mode 100644 work/_lib1_3.qtl diff --git a/LineFollower.cr.mti b/LineFollower.cr.mti index fb1faab..28a2f15 100644 --- a/LineFollower.cr.mti +++ b/LineFollower.cr.mti @@ -1,59 +1,10 @@ -/home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/timebase.sv {1 {vlog -work work -vopt -sv -stats=none /home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/timebase.sv -QuestaSim-64 vlog 10.6g Compiler 2019.08 Aug 2 2019 --- Compiling module timebase - -Top level modules: - timebase - -} {} {}} /home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/robot.sv {1 {vlog -work work -vopt -sv -stats=none /home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/robot.sv -QuestaSim-64 vlog 10.6g Compiler 2019.08 Aug 2 2019 --- Compiling module robot - -Top level modules: - robot - -} {} {}} /home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/motorcontrol.sv {1 {vlog -work work -vopt -sv -stats=none /home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/motorcontrol.sv -QuestaSim-64 vlog 10.6g Compiler 2019.08 Aug 2 2019 --- Compiling module motorcontrol - -Top level modules: - motorcontrol - -} {} {}} /home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/inputbuffer.sv {1 {vlog -work work -vopt -sv -stats=none /home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/inputbuffer.sv -QuestaSim-64 vlog 10.6g Compiler 2019.08 Aug 2 2019 --- Compiling module inputbuffer - -Top level modules: - inputbuffer - -} {} {}} /home/nano/Documents/EE/DS-B/LineFollower-DSB/blinking_led.sv {1 {vlog -work work -vopt -sv -stats=none /home/nano/Documents/EE/DS-B/LineFollower-DSB/blinking_led.sv +/home/nano/Documents/EE/DS-B/LineFollower-DSB/blinking_led.sv {1 {vlog -work work -vopt -sv -stats=none /home/nano/Documents/EE/DS-B/LineFollower-DSB/blinking_led.sv QuestaSim-64 vlog 10.6g Compiler 2019.08 Aug 2 2019 -- Compiling module blinking_led Top level modules: blinking_led -} {} {}} /home/nano/Documents/EE/DS-B/LineFollower-DSB/timebase_tb.sv {1 {vlog -work work -vopt -sv -stats=none /home/nano/Documents/EE/DS-B/LineFollower-DSB/timebase_tb.sv -QuestaSim-64 vlog 10.6g Compiler 2019.08 Aug 2 2019 --- Compiling module timebase_tb - -Top level modules: - timebase_tb - -} {} {}} /home/nano/Documents/EE/DS-B/LineFollower-DSB/blinking_led_tb.sv {1 {vlog -work work -vopt -sv -stats=none /home/nano/Documents/EE/DS-B/LineFollower-DSB/blinking_led_tb.sv -QuestaSim-64 vlog 10.6g Compiler 2019.08 Aug 2 2019 --- Compiling module blinking_led_tb - -Top level modules: - blinking_led_tb - -} {} {}} /home/nano/Documents/EE/DS-B/LineFollower-DSB/motorcontrol_tb.sv {1 {vlog -work work -vopt -sv -stats=none /home/nano/Documents/EE/DS-B/LineFollower-DSB/motorcontrol_tb.sv -QuestaSim-64 vlog 10.6g Compiler 2019.08 Aug 2 2019 --- Compiling module motorcontrol_tb - -Top level modules: - motorcontrol_tb - } {} {}} /home/nano/Documents/EE/DS-B/LineFollower-DSB/robot_tb.sv {1 {vlog -work work -vopt -sv -stats=none /home/nano/Documents/EE/DS-B/LineFollower-DSB/robot_tb.sv QuestaSim-64 vlog 10.6g Compiler 2019.08 Aug 2 2019 -- Compiling module robot_tb @@ -61,11 +12,25 @@ QuestaSim-64 vlog 10.6g Compiler 2019.08 Aug 2 2019 Top level modules: robot_tb -} {} {}} /home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/controller.sv {1 {vlog -work work -vopt -sv -stats=none /home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/controller.sv +} {} {}} /home/nano/Documents/EE/DS-B/LineFollower-DSB/motorcontrol_tb.sv {1 {vlog -work work -vopt -sv -stats=none /home/nano/Documents/EE/DS-B/LineFollower-DSB/motorcontrol_tb.sv QuestaSim-64 vlog 10.6g Compiler 2019.08 Aug 2 2019 --- Compiling module controller +-- Compiling module motorcontrol_tb Top level modules: - controller + motorcontrol_tb + +} {} {}} /home/nano/Documents/EE/DS-B/LineFollower-DSB/blinking_led_tb.sv {1 {vlog -work work -vopt -sv -stats=none /home/nano/Documents/EE/DS-B/LineFollower-DSB/blinking_led_tb.sv +QuestaSim-64 vlog 10.6g Compiler 2019.08 Aug 2 2019 +-- Compiling module blinking_led_tb + +Top level modules: + blinking_led_tb + +} {} {}} /home/nano/Documents/EE/DS-B/LineFollower-DSB/timebase_tb.sv {1 {vlog -work work -vopt -sv -stats=none /home/nano/Documents/EE/DS-B/LineFollower-DSB/timebase_tb.sv +QuestaSim-64 vlog 10.6g Compiler 2019.08 Aug 2 2019 +-- Compiling module timebase_tb + +Top level modules: + timebase_tb } {} {}} diff --git a/LineFollower.mpf b/LineFollower.mpf index b0eeef2..6c4d910 100644 --- a/LineFollower.mpf +++ b/LineFollower.mpf @@ -2109,26 +2109,26 @@ Project_Version = 6 Project_DefaultLib = work Project_SortMethod = unused Project_Files_Count = 10 -Project_File_0 = /home/nano/Documents/EE/DS-B/LineFollower-DSB/blinking_led.sv -Project_File_P_0 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 last_compile 1739890971 vlog_noload 0 cover_branch 0 folder {Top Level} vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 0 dont_compile 0 cover_expr 0 cover_stmt 0 -Project_File_1 = /home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/inputbuffer.sv -Project_File_P_1 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 last_compile 1739998639 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 6 cover_expr 0 dont_compile 0 cover_stmt 0 +Project_File_0 = /home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/timebase.sv +Project_File_P_0 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 last_compile 1740057308 vlog_noload 0 cover_branch 0 folder {Top Level} vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 9 dont_compile 0 cover_expr 0 cover_stmt 0 +Project_File_1 = /home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/robot.sv +Project_File_P_1 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 last_compile 1740008019 vlog_noload 0 cover_branch 0 folder {Top Level} vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 8 dont_compile 0 cover_expr 0 cover_stmt 0 Project_File_2 = /home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/motorcontrol.sv -Project_File_P_2 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 folder {Top Level} last_compile 1739999897 cover_fsm 0 cover_branch 0 vlog_noload 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 7 dont_compile 0 cover_expr 0 cover_stmt 0 -Project_File_3 = /home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/robot.sv -Project_File_P_3 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 folder {Top Level} cover_branch 0 cover_fsm 0 last_compile 1739998485 vlog_noload 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 8 cover_expr 0 dont_compile 0 cover_stmt 0 -Project_File_4 = /home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/timebase.sv -Project_File_P_4 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 folder {Top Level} cover_branch 0 cover_fsm 0 last_compile 1740002498 vlog_noload 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 9 cover_expr 0 dont_compile 0 cover_stmt 0 -Project_File_5 = /home/nano/Documents/EE/DS-B/LineFollower-DSB/blinking_led_tb.sv -Project_File_P_5 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 last_compile 1739890973 vlog_noload 0 cover_branch 0 folder {Top Level} vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 1 dont_compile 0 cover_expr 0 cover_stmt 0 -Project_File_6 = /home/nano/Documents/EE/DS-B/LineFollower-DSB/motorcontrol_tb.sv -Project_File_P_6 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 last_compile 1739890968 vlog_noload 0 cover_branch 0 folder {Top Level} vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 2 dont_compile 0 cover_expr 0 cover_stmt 0 -Project_File_7 = /home/nano/Documents/EE/DS-B/LineFollower-DSB/robot_tb.sv -Project_File_P_7 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 last_compile 1739890970 vlog_noload 0 cover_branch 0 folder {Top Level} vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 3 dont_compile 0 cover_expr 0 cover_stmt 0 -Project_File_8 = /home/nano/Documents/EE/DS-B/LineFollower-DSB/timebase_tb.sv -Project_File_P_8 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 vlog_noload 0 cover_branch 0 folder {Top Level} last_compile 1739989146 cover_fsm 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 4 cover_expr 0 dont_compile 0 cover_stmt 0 +Project_File_P_2 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 last_compile 1740057090 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 7 cover_expr 0 dont_compile 0 cover_stmt 0 +Project_File_3 = /home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/inputbuffer.sv +Project_File_P_3 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 vlog_noload 0 last_compile 1740008019 folder {Top Level} cover_branch 0 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 6 dont_compile 0 cover_expr 0 cover_stmt 0 +Project_File_4 = /home/nano/Documents/EE/DS-B/LineFollower-DSB/blinking_led.sv +Project_File_P_4 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 folder {Top Level} last_compile 1739890971 cover_fsm 0 cover_branch 0 vlog_noload 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 0 dont_compile 0 cover_expr 0 cover_stmt 0 +Project_File_5 = /home/nano/Documents/EE/DS-B/LineFollower-DSB/timebase_tb.sv +Project_File_P_5 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 last_compile 1739989146 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 4 cover_expr 0 dont_compile 0 cover_stmt 0 +Project_File_6 = /home/nano/Documents/EE/DS-B/LineFollower-DSB/robot_tb.sv +Project_File_P_6 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 folder {Top Level} last_compile 1739890970 cover_fsm 0 cover_branch 0 vlog_noload 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 3 dont_compile 0 cover_expr 0 cover_stmt 0 +Project_File_7 = /home/nano/Documents/EE/DS-B/LineFollower-DSB/motorcontrol_tb.sv +Project_File_P_7 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 folder {Top Level} last_compile 1739890968 cover_fsm 0 cover_branch 0 vlog_noload 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 2 dont_compile 0 cover_expr 0 cover_stmt 0 +Project_File_8 = /home/nano/Documents/EE/DS-B/LineFollower-DSB/blinking_led_tb.sv +Project_File_P_8 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 folder {Top Level} last_compile 1739890973 cover_fsm 0 cover_branch 0 vlog_noload 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 1 dont_compile 0 cover_expr 0 cover_stmt 0 Project_File_9 = /home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/controller.sv -Project_File_P_9 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 last_compile 1740007021 vlog_noload 0 cover_branch 0 folder {Top Level} vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 5 dont_compile 0 cover_expr 0 cover_stmt 0 +Project_File_P_9 = cover_toggle 0 vlog_protect 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 vlog_noload 0 cover_branch 0 folder {Top Level} last_compile 1740058185 cover_fsm 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 5 cover_expr 0 dont_compile 0 cover_stmt 0 Project_Sim_Count = 0 Project_Folder_Count = 0 Echo_Compile_Output = 0 diff --git a/entities/controller.sv b/entities/controller.sv index cf9aee9..54dcd58 100644 --- a/entities/controller.sv +++ b/entities/controller.sv @@ -22,11 +22,9 @@ module controller always_ff @(posedge clk) begin if(reset)begin state <= off; - count_reset<=1; end else begin state <= next_state; - count_reset<=0; end end @@ -102,5 +100,20 @@ module controller end endcase end + + + always_comb + begin + if(!(state==?off)) + begin + if(count_in ==? 2000000) + assign count_reset = 1; + else + assign count_reset = 0; + end + else begin + assign count_reset = 1; + end + end endmodule diff --git a/entities/motorcontrol.sv b/entities/motorcontrol.sv index 89cc4c9..d11955b 100644 --- a/entities/motorcontrol.sv +++ b/entities/motorcontrol.sv @@ -17,38 +17,12 @@ module motorcontrol always_comb //state logic begin - case(state) - motor_off: - begin - if(direction ==? 0) - next_state = motor_ccw; - else - next_state = motor_cw; - end - motor_ccw: - begin - if(direction ==? 0) - next_state = motor_ccw; - else - next_state = motor_cw; - end - motor_cw: - begin - if(direction ==? 0) - next_state = motor_ccw; - else - next_state = motor_cw; - end - default: - begin - if(direction ==? 0) - next_state = motor_ccw; - else - next_state = motor_cw; - end - endcase + if(direction ==? 0) + next_state = motor_ccw; + else + next_state = motor_cw; end - + always_comb //PWM logic begin case(state) diff --git a/entities/timebase.sv b/entities/timebase.sv index 6df4e4c..d0f9e7f 100644 --- a/entities/timebase.sv +++ b/entities/timebase.sv @@ -13,11 +13,11 @@ module timebase count <= next_count; end - always_comb begin - if(count==?2000000) - next_count=0; - else - next_count=count+1; - end + //always_comb begin + // if(count==?2000000) + // next_count=0; + // else + assign next_count=count+1; + //end endmodule diff --git a/work/_info b/work/_info index 1889427..c7d4365 100644 --- a/work/_info +++ b/work/_info @@ -20,7 +20,7 @@ OL;O;10.6g;65 R0 vblinking_led Z2 DXx6 sv_std 3 std 0 22 AD7iAPLo6nTIKk:A9b]6F2 -I^9NA0o7ChWbWHjbYfXSX61 +!s110 1740058190 R4 +r1 +!s85 0 +31 +!i10b 1 +!s100 >D3X`HM[]>eE>>S[ETH_n3 +INT8Xch5^2_Q3M9o4dh?^k3 !s105 controller_sv_unit S1 R5 -w1740007021 +w1740058185 8/home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/controller.sv F/home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/controller.sv L0 1 R6 -r1 -!s85 0 -31 -!s108 1740007184.000000 +!s108 1740058190.000000 !s107 /home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/controller.sv| !s90 -reportprogress|300|-work|work|-vopt|-sv|-stats=none|/home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/controller.sv| !i113 0 @@ -92,7 +92,7 @@ R8 R1 vinputbuffer R2 -R3 +Z9 !s110 1740057691 R4 r1 !s85 0 @@ -103,12 +103,12 @@ IAoU:mm@RBCI]RkgnJ6Zfkm7^10e=3?=n@0 -Ib=[@BIz^BSQc2 !s105 timebase_sv_unit S1 R5 -w1740002498 +w1740057308 8/home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/timebase.sv F/home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/timebase.sv L0 1 R6 -R7 +R11 !s107 /home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/timebase.sv| !s90 -reportprogress|300|-work|work|-vopt|-sv|-stats=none|/home/nano/Documents/EE/DS-B/LineFollower-DSB/entities/timebase.sv| !i113 0 @@ -236,7 +236,7 @@ R8 R1 vtimebase_tb R2 -R3 +R9 !i10b 1 !s100 ZG5RGR?VfX@M7fPgCD8V`eeBk_^1 diff --git a/work/_lib.qdb b/work/_lib.qdb index dc11fd2d691abb7e4f82988c63e407bc60d84fb4..fe8059f15e145157615904eef5543284b1293fa8 100644 GIT binary patch delta 2230 zcmZuyTWnNS6utY-E$vW1C>^G~k8^BkJ4|8v?sWQ?cKU9o(-95DFA6CG7*V|6Qj`yWt}IjSvog3bGqdQ zEpn|zCETZ6z3xG!ho2dGI@l)_sySKIt6w#~GTt#>pc(q>2(kXlCf0`X0?S1k-#MG>3@29JMK1%8y@|D^xmM&hY*;ZS7~Rbp zklJV+YdAKg=2*VntUhh6KQ`qc=*gGzBxTxVqlC4f!m!S@@Y}PF+z$osX1?@MA3r#y zCaoJwSVvml5sMB-6GMsNy^+}HSahT;w$EE5uNM_5VS%(TkQg1042R>9|5FYpWVdj% zku{^xX+_X1ZcG;@oUl))R7rnY=6^so9ADuPvJ&P^d-bNmyWeYuABEc>yM)!Ig|!b0 zhvT-hLg-=DDBO(U;hR_UBXjv#Sj4L)$*&x6KX*^c1|v@@vCBoQ(~Qt%Hb+lI2&fz%xBNFwn%B8SmsN@G;B>3Q% zRw=7MvuMx??qA4r*jyryQdXX3%K7$%JXJm;7`jc$u)A3>?JLN?Phta^eO=0WO|unj zFPhh@RxWi|9Fs0#JxGi0>EY3N$1W_dNw`?INm%E)Q?I`)$)ewcvXFJ5(pd~xwXS7V zGrMV@5P4V)ip)olp$6YTbJ%W);61D=%~W9>^0TnBj+h*;PL{&sd`D7Wy_xl+sMw08 zAICN~X=U-m(u-_jA*98~g_eeMED}qFYsO*wP6SfQ`b??IhJo}wEVZtcE@01^MOaC0 zONHcwL>K8FIs|BgHUX+3P%Tg;R0>c56#@*vfB^l_FF*)F z0`x(j06_@y#glct#t%}VcF9Ti8H>hkvW8aCt$MRQNOqAfeG>mFPLhM#J)O{-^pbIi zt~KmNf&Q@(GwO}4#{1+?{hIzOxlZP_%QL~ZUemzGZ(cN@j{kd+LKDAtQB!bC8@Yeh zfHvMdo4*o2TMa|OK|VI+%!Gy|=qN;@-Y~XGMxKIeV_EZCodliy^H~)F`0K1eaf?&I zJt=m^eLE7GA7w|qpOZNiy!h+P#LrqxoWDKqgf4z)t^fz=%$x!3d~r_ACLSqU7X8e9 z3j`|oGYcf6oN_6jSI#>cbp^-c;eIzq144#U;CcipQt0EJc_Sl8l#MRDDK}GCd-?P8 zs;@^=a78?FJwUgr;9hxfKUxkuFnnUigsKY^+zIB?+rtT{N`2|L5%(^P;y?7w1q%KD E0cA@vy8r+H delta 2290 zcmaKtZERCj7{~8(+tIgeeedmh?>VR4){YL^0O9}>U@>CkEfF&@YC_k#+Ell8X>VA@ zfQ}oDMu`v(C?8btix?paS+YpjOCT|rq46d7!4JeGATcCL6r=J%@!WgX%QmB5nt#v# zcb@Z{bDrni(NW9jsO7K>m(D3akRUlO*hsHH?vU%`Gjf`|LVAgM?!W{(clZt1>RV}z zJH)|kA)hIhs`-jq6<+nOVq;*8_2v8XYQCCryR0z~3i(pLl2wc4l0^^%{~R+nuQqmi z<2BO0%EL&QN4mUbv^jDmJ(JnF<)jd8xnU<=%4PI9I)TchL3s;*t87vf{DiE^ByuM* z5b2hGm%oy?%BRpKrG&6@7cWKk@CW2-#M^Qsayjxgeu?ZI+tz!$#oDPQ?DWUsWYaP& zZg+_B4$&$?oc=N#kh9f+uGNJVh4Ci|SmaJEp!;#%576y*lzv=h~ z%4)gtT)CuH%Ke$aN^u}t8BX`*s+R2>R(@Klr5PSG0;Os1L_o@_&U9hC-~rcCEoFKs z=7mBHSGc1jH6OFujA_0jBN3mmc2e`2quwJUK`B=i*YcGTn#3$*Ops`1Bv|``8%fP$ z&hexfr<2*occBnryMNlfA4jM?c-0?7J&80tyQWw%1k-Gg68JD-3Le zoF8w9hili64jI*j7C=UoZRzG%hbHUk8JJ9$?+g2k;!9}`GZ_bcdRhtGDibk*Nlq6`-LSAF`-5Eg^cY*>lZpdZ+Ntx5z#>-BeEDYa!(%S zWKwf8k{77EPR=i@hgloIUpzVTjL_*2*>5{Lm6+aB>5Q5m7~IY7q3^*pT|;I|bZRj@ ztdT&BdiVS3@e=piLVM#d{7`W>?kN_sKi>Hoi@cj%^$5#x=XuA&OuF8yAhx$b}1BT)4r_g$F!b1R%hL zAN*X%AQMG!h_D=%^AR8TxbT9Pi!`LU2t$~Q5QOYCWBDKi`A`!yu`9KU!YzRhD4=j5 zfy9La99&?)Tp&PPG($5vDp>iSR%qoS1~D$85aoiM4Hr)6c5-D0JNZQ4fth9sQrt>F zf{QrB$=8BUgm!3Wg28RjMrTf}*{qxwqVh$F451mamOO=jBOzsj@~kq~mH-(UuwaSqZ$p*eT8N|%+BGe2?zIM*1s8M_5k|F@`3Ak9!Lvc{0~{x~p&pp~AO!VsfVQxS;L@22EcM6$B4#ex@6 ze}(~vt?ad2FmAjyfLKnkHdoBb`u=}98=SOfItC7UdlG}4{TjDmqr0bzkf5{E1mgby DCcs4_ diff --git a/work/_lib1_3.qdb b/work/_lib1_3.qdb deleted file mode 100644 index aec706ca8ecba053df1e617d71353e6cd7a8ef19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeI4YiJZ#6vywKyN}sqHi=10BAdBqViIk{O_PH7*6ivgM$N;RXd*tEm`xfRlW3w9 zTdXc(p;RgX{ZRU{LTSaK6k92ww51d)BGP`SSg|V7SgW*DON&BF&&)9x{NSg8U(Q@| z|L1=nXU_dizRe_c{hi6)!Jf@dXGgbF=?F(iDXJVt2ob@b@t1+dH*P?Viys??;Vq%` zsDQ(I6nY=KlqZ=06JP>NfC(@GCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO1egF5 zU;<2l2|R|t9%TgcZCmbX8*1<9O}1~_(b3z#@%b@Ti<%O#=7iH6i!V<&W24SfT|K?Y zo=&H>zBy5oXqxT}Cbx_;Jv);RU4K{CU~=f8Z>g_c(UN$O!P{9@_OuG*FS4cR>FZ4H z7~Im^GnCxWzHO-A^B7T48!E>l_hq|poebtjB681!vC7?|aD^+zqjkH3kCyE;Hr3X} zn%bOYiMHuZaz}FWz))ZN=A_e{Xl*VFL!NN-ogBCif9gB%8{B}aAoP8B4feq_D1lk< z3=F^~=!Er<0VcFU6D)^nsDfRv11`d8_zFg#5ZfoPPv6I#SK;bo9tBS^0Vco%m;e)C z0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k02BCM2&hz02?5`!l!dBN z>8^{YRDtL6UAF*+MZldacil{t%JSwiUH6$a;Dcusr0?e&FTAMyG;ub=4k zxn7@xJq)W?!OeXUX%o(sF~oG25S6?oQal7%F*NGefagvyJ0o2GbuDfW0-Uhfq@ z*&R`-G?EaBiQb8>H*!ZoApvXPnYWwou^Is6pq1R7>2zt$sVysVEee%jXAvr z=c##xa>oRi025#WOn?b60Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286L?|- ztT}$eG?X;eRPk+tHJe<}I3~V1Vt*upIA<-S!LT|ZemH0?AZMxT;`@)S`Q*}#)8hOs zJ6MO-49SSKl*S8;J<|7?RZA{ko|DFHv)*rnOerIVmLkKw`Si4M`Oc`-Ppit&9lv75 z$z>Vq#kH5M7`aUOkGPVu7L&_XHDYw4wTRpVW0tsnSzn~0*U;c(c~&ONtv0+R-l!=5 zgsj_Tw&ENXP!zCM(<(<+%jL7IRkR912W0#MvxQcHKfM_vsib~E#w)`s{f5L;wvkpP zXZ~R}(P3<#xq{Z)%4(#ng+`8?@l&{gHbjiV19DQmwS*?~Lc7JiUaN-O#6VQsU1(L4 z%MBb7w?DKJs;$>(C zU2{X#!L|oaPF2Y_Uj$6xJ;-t;<;jy)Hzl7U|CNLH!d-O!QWdO_y=Ov6v{-Jbk!f}k zyV4AEBkphq!*~zxaK!=Rfb6NfC(@GCcp%k025#WOn?b60Vco%n81@G5cJ`@eHok$6l7G9h8L1r z3rN%Fla}|B7Az&ruO*Gt>7xP@P2Ws@!XnbFIB8~#G$%oty%=I5EcGdOQ}jX7Xdg{Z zUV|FK4;0$S7qyZ)t7#lok%tyi-E8^{De;?xm9)Taq6vEiX<;KRh!_pDAW}~gc}qwq z){y2_!~0^c6wu%uW)Ps&4a$dbxC9IJ4`L8;KQ`EkK{f_z3kFzg)EJ-?Q@ZJ1rK;;e zU?gz{my~wWiqehvxMxUN(t#S4vN+I=0j4kZKZ^mTFZOM~0Mi$%^%&sZVq+a`PMb#> TnoDZV3Hb0cfVkmD3B~>c#=LGE diff --git a/work/_lib1_3.qpg b/work/_lib1_3.qpg deleted file mode 100644 index 8d5df8e4897170b47726751c368fa2c8e43d4268..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172032 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%0DILXT6nAe;M9~@>z531NFgp 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 T&VV!E3^)VMfHUw*W#In-3>k>5 diff --git a/work/_lib1_3.qtl b/work/_lib1_3.qtl deleted file mode 100644 index d2ec48c99ec84cdec6ab3616e0e35dc4f1acb7d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113165 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 Ij-FTl52m?_0RR91