Merge pull request #48 from TiagoRG/dev-tiagorg
Rebased TiagoRG/dev-tiagorg from TiagoRG/master #47 [LABI] tema04 csv and json examples added [LSD] changed the timer value [POO] material added [POO] refactoring and validation changes [POO] aula07 ex1 and ex2 added [POO] refactored aula06 to split between packages [POO] refactored aula06 to split between packages [POO] aula07 ex2 menu created [POO] aula07 shapes update [POO] README update
This commit is contained in:
commit
df49460d7e
|
@ -0,0 +1,12 @@
|
||||||
|
id,time,timestamp,value
|
||||||
|
1,15/03/2014 18:07:24,1394903244.0,2.3
|
||||||
|
1,15/03/2014 18:08:24,1394903304.0,1.8
|
||||||
|
1,15/03/2014 18:09:24,1394903364.0,1.2
|
||||||
|
1,15/03/2014 18:10:24,1394903424.0,1.6
|
||||||
|
1,15/03/2014 18:11:24,1394903484.0,2.1
|
||||||
|
1,15/03/2014 18:12:24,1394903544.0,2.5
|
||||||
|
1,15/03/2014 18:13:24,1394903604.0,2.9
|
||||||
|
1,15/03/2014 18:14:24,1394903664.0,3.3
|
||||||
|
1,15/03/2014 18:15:24,1394903724.0,3.0
|
||||||
|
1,15/03/2014 18:16:24,1394903784.0,2.8
|
||||||
|
1,15/03/2014 18:17:24,1394903844.0,2.4
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
entry,value
|
||||||
|
0,48
|
||||||
|
1,51
|
||||||
|
2,43
|
||||||
|
3,49
|
||||||
|
4,76
|
||||||
|
5,6
|
||||||
|
6,66
|
||||||
|
7,49
|
||||||
|
8,76
|
||||||
|
9,78
|
||||||
|
10,70
|
||||||
|
11,80
|
||||||
|
12,67
|
||||||
|
13,93
|
||||||
|
14,78
|
||||||
|
15,71
|
||||||
|
16,60
|
||||||
|
17,77
|
||||||
|
18,90
|
||||||
|
19,33
|
||||||
|
20,85
|
||||||
|
21,82
|
||||||
|
22,85
|
||||||
|
23,75
|
||||||
|
24,94
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"time": 1394984189,
|
||||||
|
"name": "cpu",
|
||||||
|
"value": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"time": 1394984189,
|
||||||
|
"name": "cpu",
|
||||||
|
"value": 19
|
||||||
|
}
|
||||||
|
]
|
|
@ -0,0 +1,16 @@
|
||||||
|
import csv
|
||||||
|
import random
|
||||||
|
|
||||||
|
|
||||||
|
def main(args=None):
|
||||||
|
with open("../datafiles/example2.csv", "w") as f:
|
||||||
|
writer = csv.DictWriter(f, delimiter=",", fieldnames=["entry", "value"])
|
||||||
|
|
||||||
|
writer.writeheader()
|
||||||
|
|
||||||
|
for i in range(25):
|
||||||
|
writer.writerow({"entry": i, "value": random.randint(0, 100)})
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
|
@ -0,0 +1,13 @@
|
||||||
|
import csv
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
def main(args=None):
|
||||||
|
with open(args[0], 'r') as f:
|
||||||
|
reader = csv.reader(f, delimiter=(',' if len(args) == 1 else args[1]))
|
||||||
|
for row in reader:
|
||||||
|
print(row)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main(sys.argv[1:])
|
|
@ -0,0 +1,15 @@
|
||||||
|
import json
|
||||||
|
|
||||||
|
|
||||||
|
def main(args=None):
|
||||||
|
data = [
|
||||||
|
{"time": 1394984189, "name": "cpu", "value": 12},
|
||||||
|
{"time": 1394984189, "name": "cpu", "value": 19}
|
||||||
|
]
|
||||||
|
|
||||||
|
print(json.dumps(data, indent=4))
|
||||||
|
json.dump(data, open('../datafiles/example3.json', 'w'), indent=4)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
|
@ -0,0 +1,10 @@
|
||||||
|
import json
|
||||||
|
|
||||||
|
|
||||||
|
def main(args=None):
|
||||||
|
data = json.load(open('../datafiles/example3.json', 'r'))
|
||||||
|
print(json.dumps(data, indent=4))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
Binary file not shown.
|
@ -13,7 +13,7 @@ architecture Behavioral of FreqDivider is
|
||||||
signal s_halfWay : unsigned(31 downto 0);
|
signal s_halfWay : unsigned(31 downto 0);
|
||||||
signal k : std_logic_vector(31 downto 0);
|
signal k : std_logic_vector(31 downto 0);
|
||||||
begin
|
begin
|
||||||
k <= x"01AD7840";
|
k <= x"02AD7840";
|
||||||
s_halfWay <= unsigned(k);
|
s_halfWay <= unsigned(k);
|
||||||
|
|
||||||
process(clkIn)
|
process(clkIn)
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -1,7 +1,7 @@
|
||||||
{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1679489466777 ""}
|
{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1680013329122 ""}
|
||||||
{ "Info" "IQEXE_START_BANNER_PRODUCT" "Assembler Quartus Prime " "Running Quartus Prime Assembler" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition " "Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1679489466777 ""} { "Info" "IQEXE_START_BANNER_TIME" "Wed Mar 22 12:51:06 2023 " "Processing started: Wed Mar 22 12:51:06 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1679489466777 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Assembler" 0 -1 1679489466777 ""}
|
{ "Info" "IQEXE_START_BANNER_PRODUCT" "Assembler Quartus Prime " "Running Quartus Prime Assembler" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition " "Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1680013329122 ""} { "Info" "IQEXE_START_BANNER_TIME" "Tue Mar 28 15:22:09 2023 " "Processing started: Tue Mar 28 15:22:09 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1680013329122 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Assembler" 0 -1 1680013329122 ""}
|
||||||
{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_asm --read_settings_files=off --write_settings_files=off AccN_Demo -c AccN_Demo " "Command: quartus_asm --read_settings_files=off --write_settings_files=off AccN_Demo -c AccN_Demo" { } { } 0 0 "Command: %1!s!" 0 0 "Assembler" 0 -1 1679489466777 ""}
|
{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_asm --read_settings_files=off --write_settings_files=off AccN_Demo -c AccN_Demo " "Command: quartus_asm --read_settings_files=off --write_settings_files=off AccN_Demo -c AccN_Demo" { } { } 0 0 "Command: %1!s!" 0 0 "Assembler" 0 -1 1680013329122 ""}
|
||||||
{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Assembler" 0 -1 1679489466896 ""}
|
{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Assembler" 0 -1 1680013329245 ""}
|
||||||
{ "Info" "IASM_ASM_GENERATING_POWER_DATA" "" "Writing out detailed assembly data for power analysis" { } { } 0 115031 "Writing out detailed assembly data for power analysis" 0 0 "Assembler" 0 -1 1679489468340 ""}
|
{ "Info" "IASM_ASM_GENERATING_POWER_DATA" "" "Writing out detailed assembly data for power analysis" { } { } 0 115031 "Writing out detailed assembly data for power analysis" 0 0 "Assembler" 0 -1 1680013330690 ""}
|
||||||
{ "Info" "IASM_ASM_GENERATING_PROGRAMMING_FILES" "" "Assembler is generating device programming files" { } { } 0 115030 "Assembler is generating device programming files" 0 0 "Assembler" 0 -1 1679489468400 ""}
|
{ "Info" "IASM_ASM_GENERATING_PROGRAMMING_FILES" "" "Assembler is generating device programming files" { } { } 0 115030 "Assembler is generating device programming files" 0 0 "Assembler" 0 -1 1680013330760 ""}
|
||||||
{ "Info" "IQEXE_ERROR_COUNT" "Assembler 0 s 1 Quartus Prime " "Quartus Prime Assembler was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "367 " "Peak virtual memory: 367 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1679489468583 ""} { "Info" "IQEXE_END_BANNER_TIME" "Wed Mar 22 12:51:08 2023 " "Processing ended: Wed Mar 22 12:51:08 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1679489468583 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:02 " "Elapsed time: 00:00:02" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1679489468583 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:02 " "Total CPU time (on all processors): 00:00:02" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1679489468583 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Assembler" 0 -1 1679489468583 ""}
|
{ "Info" "IQEXE_ERROR_COUNT" "Assembler 0 s 1 Quartus Prime " "Quartus Prime Assembler was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "367 " "Peak virtual memory: 367 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1680013330941 ""} { "Info" "IQEXE_END_BANNER_TIME" "Tue Mar 28 15:22:10 2023 " "Processing ended: Tue Mar 28 15:22:10 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1680013330941 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:01 " "Elapsed time: 00:00:01" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1680013330941 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:02 " "Total CPU time (on all processors): 00:00:02" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1680013330941 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Assembler" 0 -1 1680013330941 ""}
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,3 +1,3 @@
|
||||||
Quartus_Version = Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
Quartus_Version = Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
||||||
Version_Index = 520278016
|
Version_Index = 520278016
|
||||||
Creation_Time = Wed Mar 22 12:53:16 2023
|
Creation_Time = Tue Mar 28 15:21:18 2023
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1679489470445 ""}
|
{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1680013333031 ""}
|
||||||
{ "Info" "IQEXE_START_BANNER_PRODUCT" "EDA Netlist Writer Quartus Prime " "Running Quartus Prime EDA Netlist Writer" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition " "Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1679489470445 ""} { "Info" "IQEXE_START_BANNER_TIME" "Wed Mar 22 12:51:10 2023 " "Processing started: Wed Mar 22 12:51:10 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1679489470445 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "EDA Netlist Writer" 0 -1 1679489470445 ""}
|
{ "Info" "IQEXE_START_BANNER_PRODUCT" "EDA Netlist Writer Quartus Prime " "Running Quartus Prime EDA Netlist Writer" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition " "Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1680013333031 ""} { "Info" "IQEXE_START_BANNER_TIME" "Tue Mar 28 15:22:12 2023 " "Processing started: Tue Mar 28 15:22:12 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1680013333031 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "EDA Netlist Writer" 0 -1 1680013333031 ""}
|
||||||
{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_eda --read_settings_files=off --write_settings_files=off AccN_Demo -c AccN_Demo " "Command: quartus_eda --read_settings_files=off --write_settings_files=off AccN_Demo -c AccN_Demo" { } { } 0 0 "Command: %1!s!" 0 0 "EDA Netlist Writer" 0 -1 1679489470445 ""}
|
{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_eda --read_settings_files=off --write_settings_files=off AccN_Demo -c AccN_Demo " "Command: quartus_eda --read_settings_files=off --write_settings_files=off AccN_Demo -c AccN_Demo" { } { } 0 0 "Command: %1!s!" 0 0 "EDA Netlist Writer" 0 -1 1680013333031 ""}
|
||||||
{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "EDA Netlist Writer" 0 -1 1679489470596 ""}
|
{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "EDA Netlist Writer" 0 -1 1680013333182 ""}
|
||||||
{ "Info" "IWSC_DONE_HDL_GENERATION" "AccN_Demo.vho /home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/simulation/modelsim/ simulation " "Generated file AccN_Demo.vho in folder \"/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/simulation/modelsim/\" for EDA simulation tool" { } { } 0 204019 "Generated file %1!s! in folder \"%2!s!\" for EDA %3!s! tool" 0 0 "EDA Netlist Writer" 0 -1 1679489470629 ""}
|
{ "Info" "IWSC_DONE_HDL_GENERATION" "AccN_Demo.vho /home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/simulation/modelsim/ simulation " "Generated file AccN_Demo.vho in folder \"/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/simulation/modelsim/\" for EDA simulation tool" { } { } 0 204019 "Generated file %1!s! in folder \"%2!s!\" for EDA %3!s! tool" 0 0 "EDA Netlist Writer" 0 -1 1680013333223 ""}
|
||||||
{ "Info" "IQEXE_ERROR_COUNT" "EDA Netlist Writer 0 s 1 Quartus Prime " "Quartus Prime EDA Netlist Writer was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "612 " "Peak virtual memory: 612 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1679489470641 ""} { "Info" "IQEXE_END_BANNER_TIME" "Wed Mar 22 12:51:10 2023 " "Processing ended: Wed Mar 22 12:51:10 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1679489470641 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:00 " "Elapsed time: 00:00:00" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1679489470641 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:00 " "Total CPU time (on all processors): 00:00:00" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1679489470641 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "EDA Netlist Writer" 0 -1 1679489470641 ""}
|
{ "Info" "IQEXE_ERROR_COUNT" "EDA Netlist Writer 0 s 1 Quartus Prime " "Quartus Prime EDA Netlist Writer was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "612 " "Peak virtual memory: 612 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1680013333233 ""} { "Info" "IQEXE_END_BANNER_TIME" "Tue Mar 28 15:22:13 2023 " "Processing ended: Tue Mar 28 15:22:13 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1680013333233 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:01 " "Elapsed time: 00:00:01" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1680013333233 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:00 " "Total CPU time (on all processors): 00:00:00" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1680013333233 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "EDA Netlist Writer" 0 -1 1680013333233 ""}
|
||||||
|
|
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,19 +1,19 @@
|
||||||
{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1679489452339 ""}
|
{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1680013313781 ""}
|
||||||
{ "Info" "IQEXE_START_BANNER_PRODUCT" "Analysis & Synthesis Quartus Prime " "Running Quartus Prime Analysis & Synthesis" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition " "Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1679489452339 ""} { "Info" "IQEXE_START_BANNER_TIME" "Wed Mar 22 12:50:52 2023 " "Processing started: Wed Mar 22 12:50:52 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1679489452339 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1679489452339 ""}
|
{ "Info" "IQEXE_START_BANNER_PRODUCT" "Analysis & Synthesis Quartus Prime " "Running Quartus Prime Analysis & Synthesis" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition " "Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1680013313781 ""} { "Info" "IQEXE_START_BANNER_TIME" "Tue Mar 28 15:21:53 2023 " "Processing started: Tue Mar 28 15:21:53 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1680013313781 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1680013313781 ""}
|
||||||
{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_map --read_settings_files=on --write_settings_files=off AccN_Demo -c AccN_Demo " "Command: quartus_map --read_settings_files=on --write_settings_files=off AccN_Demo -c AccN_Demo" { } { } 0 0 "Command: %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1679489452339 ""}
|
{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_map --read_settings_files=on --write_settings_files=off AccN_Demo -c AccN_Demo " "Command: quartus_map --read_settings_files=on --write_settings_files=off AccN_Demo -c AccN_Demo" { } { } 0 0 "Command: %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1680013313781 ""}
|
||||||
{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Analysis & Synthesis" 0 -1 1679489452467 ""}
|
{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Analysis & Synthesis" 0 -1 1680013313918 ""}
|
||||||
{ "Info" "IQCU_PARALLEL_AUTODETECT_MULTIPLE_PROCESSORS" "4 4 " "Parallel compilation is enabled and will use 4 of the 4 processors detected" { } { } 0 20030 "Parallel compilation is enabled and will use %1!i! of the %2!i! processors detected" 0 0 "Analysis & Synthesis" 0 -1 1679489452467 ""}
|
{ "Info" "IQCU_PARALLEL_AUTODETECT_MULTIPLE_PROCESSORS" "4 4 " "Parallel compilation is enabled and will use 4 of the 4 processors detected" { } { } 0 20030 "Parallel compilation is enabled and will use %1!i! of the %2!i! processors detected" 0 0 "Analysis & Synthesis" 0 -1 1680013313918 ""}
|
||||||
{ "Info" "ISGN_NUM_OF_DESIGN_UNITS_AND_ENTITIES" "FreqDivider.vhd 2 1 " "Found 2 design units, including 1 entities, in source file FreqDivider.vhd" { { "Info" "ISGN_DESIGN_UNIT_NAME" "1 FreqDivider-Behavioral " "Found design unit 1: FreqDivider-Behavioral" { } { { "FreqDivider.vhd" "" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/FreqDivider.vhd" 11 -1 0 } } } 0 12022 "Found design unit %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1679489457065 ""} { "Info" "ISGN_ENTITY_NAME" "1 FreqDivider " "Found entity 1: FreqDivider" { } { { "FreqDivider.vhd" "" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/FreqDivider.vhd" 5 -1 0 } } } 0 12023 "Found entity %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1679489457065 ""} } { } 0 12021 "Found %2!llu! design units, including %3!llu! entities, in source file %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1679489457065 ""}
|
{ "Info" "ISGN_NUM_OF_DESIGN_UNITS_AND_ENTITIES" "FreqDivider.vhd 2 1 " "Found 2 design units, including 1 entities, in source file FreqDivider.vhd" { { "Info" "ISGN_DESIGN_UNIT_NAME" "1 FreqDivider-Behavioral " "Found design unit 1: FreqDivider-Behavioral" { } { { "FreqDivider.vhd" "" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/FreqDivider.vhd" 11 -1 0 } } } 0 12022 "Found design unit %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1680013318577 ""} { "Info" "ISGN_ENTITY_NAME" "1 FreqDivider " "Found entity 1: FreqDivider" { } { { "FreqDivider.vhd" "" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/FreqDivider.vhd" 5 -1 0 } } } 0 12023 "Found entity %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1680013318577 ""} } { } 0 12021 "Found %2!llu! design units, including %3!llu! entities, in source file %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1680013318577 ""}
|
||||||
{ "Info" "ISGN_NUM_OF_DESIGN_UNITS_AND_ENTITIES" "AccN_Demo.bdf 1 1 " "Found 1 design units, including 1 entities, in source file AccN_Demo.bdf" { { "Info" "ISGN_ENTITY_NAME" "1 AccN_Demo " "Found entity 1: AccN_Demo" { } { { "AccN_Demo.bdf" "" { Schematic "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/AccN_Demo.bdf" { } } } } 0 12023 "Found entity %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1679489457065 ""} } { } 0 12021 "Found %2!llu! design units, including %3!llu! entities, in source file %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1679489457065 ""}
|
{ "Info" "ISGN_NUM_OF_DESIGN_UNITS_AND_ENTITIES" "AccN_Demo.bdf 1 1 " "Found 1 design units, including 1 entities, in source file AccN_Demo.bdf" { { "Info" "ISGN_ENTITY_NAME" "1 AccN_Demo " "Found entity 1: AccN_Demo" { } { { "AccN_Demo.bdf" "" { Schematic "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/AccN_Demo.bdf" { } } } } 0 12023 "Found entity %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1680013318578 ""} } { } 0 12021 "Found %2!llu! design units, including %3!llu! entities, in source file %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1680013318578 ""}
|
||||||
{ "Info" "ISGN_NUM_OF_DESIGN_UNITS_AND_ENTITIES" "AccN.vhd 2 1 " "Found 2 design units, including 1 entities, in source file AccN.vhd" { { "Info" "ISGN_DESIGN_UNIT_NAME" "1 AccN-Behavioral " "Found design unit 1: AccN-Behavioral" { } { { "AccN.vhd" "" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/AccN.vhd" 13 -1 0 } } } 0 12022 "Found design unit %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1679489457065 ""} { "Info" "ISGN_ENTITY_NAME" "1 AccN " "Found entity 1: AccN" { } { { "AccN.vhd" "" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/AccN.vhd" 4 -1 0 } } } 0 12023 "Found entity %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1679489457065 ""} } { } 0 12021 "Found %2!llu! design units, including %3!llu! entities, in source file %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1679489457065 ""}
|
{ "Info" "ISGN_NUM_OF_DESIGN_UNITS_AND_ENTITIES" "AccN.vhd 2 1 " "Found 2 design units, including 1 entities, in source file AccN.vhd" { { "Info" "ISGN_DESIGN_UNIT_NAME" "1 AccN-Behavioral " "Found design unit 1: AccN-Behavioral" { } { { "AccN.vhd" "" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/AccN.vhd" 13 -1 0 } } } 0 12022 "Found design unit %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1680013318578 ""} { "Info" "ISGN_ENTITY_NAME" "1 AccN " "Found entity 1: AccN" { } { { "AccN.vhd" "" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/AccN.vhd" 4 -1 0 } } } 0 12023 "Found entity %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1680013318578 ""} } { } 0 12021 "Found %2!llu! design units, including %3!llu! entities, in source file %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1680013318578 ""}
|
||||||
{ "Info" "ISGN_NUM_OF_DESIGN_UNITS_AND_ENTITIES" "RegN.vhd 2 1 " "Found 2 design units, including 1 entities, in source file RegN.vhd" { { "Info" "ISGN_DESIGN_UNIT_NAME" "1 RegN-Behavioral " "Found design unit 1: RegN-Behavioral" { } { { "RegN.vhd" "" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/RegN.vhd" 14 -1 0 } } } 0 12022 "Found design unit %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1679489457066 ""} { "Info" "ISGN_ENTITY_NAME" "1 RegN " "Found entity 1: RegN" { } { { "RegN.vhd" "" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/RegN.vhd" 4 -1 0 } } } 0 12023 "Found entity %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1679489457066 ""} } { } 0 12021 "Found %2!llu! design units, including %3!llu! entities, in source file %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1679489457066 ""}
|
{ "Info" "ISGN_NUM_OF_DESIGN_UNITS_AND_ENTITIES" "RegN.vhd 2 1 " "Found 2 design units, including 1 entities, in source file RegN.vhd" { { "Info" "ISGN_DESIGN_UNIT_NAME" "1 RegN-Behavioral " "Found design unit 1: RegN-Behavioral" { } { { "RegN.vhd" "" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/RegN.vhd" 14 -1 0 } } } 0 12022 "Found design unit %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1680013318578 ""} { "Info" "ISGN_ENTITY_NAME" "1 RegN " "Found entity 1: RegN" { } { { "RegN.vhd" "" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/RegN.vhd" 4 -1 0 } } } 0 12023 "Found entity %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1680013318578 ""} } { } 0 12021 "Found %2!llu! design units, including %3!llu! entities, in source file %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1680013318578 ""}
|
||||||
{ "Info" "ISGN_NUM_OF_DESIGN_UNITS_AND_ENTITIES" "AdderN.vhd 2 1 " "Found 2 design units, including 1 entities, in source file AdderN.vhd" { { "Info" "ISGN_DESIGN_UNIT_NAME" "1 AdderN-Behavioral " "Found design unit 1: AdderN-Behavioral" { } { { "AdderN.vhd" "" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/AdderN.vhd" 15 -1 0 } } } 0 12022 "Found design unit %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1679489457066 ""} { "Info" "ISGN_ENTITY_NAME" "1 AdderN " "Found entity 1: AdderN" { } { { "AdderN.vhd" "" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/AdderN.vhd" 5 -1 0 } } } 0 12023 "Found entity %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1679489457066 ""} } { } 0 12021 "Found %2!llu! design units, including %3!llu! entities, in source file %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1679489457066 ""}
|
{ "Info" "ISGN_NUM_OF_DESIGN_UNITS_AND_ENTITIES" "AdderN.vhd 2 1 " "Found 2 design units, including 1 entities, in source file AdderN.vhd" { { "Info" "ISGN_DESIGN_UNIT_NAME" "1 AdderN-Behavioral " "Found design unit 1: AdderN-Behavioral" { } { { "AdderN.vhd" "" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/AdderN.vhd" 15 -1 0 } } } 0 12022 "Found design unit %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1680013318578 ""} { "Info" "ISGN_ENTITY_NAME" "1 AdderN " "Found entity 1: AdderN" { } { { "AdderN.vhd" "" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/AdderN.vhd" 5 -1 0 } } } 0 12023 "Found entity %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1680013318578 ""} } { } 0 12021 "Found %2!llu! design units, including %3!llu! entities, in source file %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1680013318578 ""}
|
||||||
{ "Info" "ISGN_START_ELABORATION_TOP" "AccN_Demo " "Elaborating entity \"AccN_Demo\" for the top level hierarchy" { } { } 0 12127 "Elaborating entity \"%1!s!\" for the top level hierarchy" 0 0 "Analysis & Synthesis" 0 -1 1679489457092 ""}
|
{ "Info" "ISGN_START_ELABORATION_TOP" "AccN_Demo " "Elaborating entity \"AccN_Demo\" for the top level hierarchy" { } { } 0 12127 "Elaborating entity \"%1!s!\" for the top level hierarchy" 0 0 "Analysis & Synthesis" 0 -1 1680013318605 ""}
|
||||||
{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "AccN AccN:inst " "Elaborating entity \"AccN\" for hierarchy \"AccN:inst\"" { } { { "AccN_Demo.bdf" "inst" { Schematic "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/AccN_Demo.bdf" { { 216 512 720 328 "inst" "" } } } } } 0 12128 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1679489457095 ""}
|
{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "AccN AccN:inst " "Elaborating entity \"AccN\" for hierarchy \"AccN:inst\"" { } { { "AccN_Demo.bdf" "inst" { Schematic "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/AccN_Demo.bdf" { { 216 512 720 328 "inst" "" } } } } } 0 12128 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1680013318607 ""}
|
||||||
{ "Info" "ISGN_START_ELABORATION_HIERARCHY_WITH_ARCHITECTURE" "AdderN AccN:inst\|AdderN:adder A:behavioral " "Elaborating entity \"AdderN\" using architecture \"A:behavioral\" for hierarchy \"AccN:inst\|AdderN:adder\"" { } { { "AccN.vhd" "adder" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/AccN.vhd" 18 0 0 } } } 0 12129 "Elaborating entity \"%1!s!\" using architecture \"%3!s!\" for hierarchy \"%2!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1679489457096 ""}
|
{ "Info" "ISGN_START_ELABORATION_HIERARCHY_WITH_ARCHITECTURE" "AdderN AccN:inst\|AdderN:adder A:behavioral " "Elaborating entity \"AdderN\" using architecture \"A:behavioral\" for hierarchy \"AccN:inst\|AdderN:adder\"" { } { { "AccN.vhd" "adder" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/AccN.vhd" 18 0 0 } } } 0 12129 "Elaborating entity \"%1!s!\" using architecture \"%3!s!\" for hierarchy \"%2!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1680013318608 ""}
|
||||||
{ "Info" "ISGN_START_ELABORATION_HIERARCHY_WITH_ARCHITECTURE" "RegN AccN:inst\|RegN:reg A:behavioral " "Elaborating entity \"RegN\" using architecture \"A:behavioral\" for hierarchy \"AccN:inst\|RegN:reg\"" { } { { "AccN.vhd" "reg" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/AccN.vhd" 27 0 0 } } } 0 12129 "Elaborating entity \"%1!s!\" using architecture \"%3!s!\" for hierarchy \"%2!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1679489457096 ""}
|
{ "Info" "ISGN_START_ELABORATION_HIERARCHY_WITH_ARCHITECTURE" "RegN AccN:inst\|RegN:reg A:behavioral " "Elaborating entity \"RegN\" using architecture \"A:behavioral\" for hierarchy \"AccN:inst\|RegN:reg\"" { } { { "AccN.vhd" "reg" { Text "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/AccN.vhd" 27 0 0 } } } 0 12129 "Elaborating entity \"%1!s!\" using architecture \"%3!s!\" for hierarchy \"%2!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1680013318608 ""}
|
||||||
{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "FreqDivider FreqDivider:inst2 " "Elaborating entity \"FreqDivider\" for hierarchy \"FreqDivider:inst2\"" { } { { "AccN_Demo.bdf" "inst2" { Schematic "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/AccN_Demo.bdf" { { 288 304 448 368 "inst2" "" } } } } } 0 12128 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1679489457097 ""}
|
{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "FreqDivider FreqDivider:inst2 " "Elaborating entity \"FreqDivider\" for hierarchy \"FreqDivider:inst2\"" { } { { "AccN_Demo.bdf" "inst2" { Schematic "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/AccN_Demo.bdf" { { 288 304 448 368 "inst2" "" } } } } } 0 12128 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1680013318609 ""}
|
||||||
{ "Info" "ISUTIL_TIMING_DRIVEN_SYNTHESIS_RUNNING" "" "Timing-Driven Synthesis is running" { } { } 0 286030 "Timing-Driven Synthesis is running" 0 0 "Analysis & Synthesis" 0 -1 1679489457435 ""}
|
{ "Info" "ISUTIL_TIMING_DRIVEN_SYNTHESIS_RUNNING" "" "Timing-Driven Synthesis is running" { } { } 0 286030 "Timing-Driven Synthesis is running" 0 0 "Analysis & Synthesis" 0 -1 1680013318992 ""}
|
||||||
{ "Info" "IBPM_HARD_BLOCK_PARTITION_CREATED" "hard_block:auto_generated_inst " "Generating hard_block partition \"hard_block:auto_generated_inst\"" { { "Info" "IBPM_HARD_BLOCK_PARTITION_NODE" "0 0 0 0 0 " "Adding 0 node(s), including 0 DDIO, 0 PLL, 0 transceiver and 0 LCELL" { } { } 0 16011 "Adding %1!d! node(s), including %2!d! DDIO, %3!d! PLL, %4!d! transceiver and %5!d! LCELL" 0 0 "Design Software" 0 -1 1679489457750 ""} } { } 0 16010 "Generating hard_block partition \"%1!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1679489457750 ""}
|
{ "Info" "IBPM_HARD_BLOCK_PARTITION_CREATED" "hard_block:auto_generated_inst " "Generating hard_block partition \"hard_block:auto_generated_inst\"" { { "Info" "IBPM_HARD_BLOCK_PARTITION_NODE" "0 0 0 0 0 " "Adding 0 node(s), including 0 DDIO, 0 PLL, 0 transceiver and 0 LCELL" { } { } 0 16011 "Adding %1!d! node(s), including %2!d! DDIO, %3!d! PLL, %4!d! transceiver and %5!d! LCELL" 0 0 "Design Software" 0 -1 1680013319320 ""} } { } 0 16010 "Generating hard_block partition \"%1!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1680013319320 ""}
|
||||||
{ "Info" "ICUT_CUT_TM_SUMMARY" "114 " "Implemented 114 device resources after synthesis - the final resource count might be different" { { "Info" "ICUT_CUT_TM_IPINS" "20 " "Implemented 20 input pins" { } { } 0 21058 "Implemented %1!d! input pins" 0 0 "Design Software" 0 -1 1679489457767 ""} { "Info" "ICUT_CUT_TM_OPINS" "17 " "Implemented 17 output pins" { } { } 0 21059 "Implemented %1!d! output pins" 0 0 "Design Software" 0 -1 1679489457767 ""} { "Info" "ICUT_CUT_TM_LCELLS" "77 " "Implemented 77 logic cells" { } { } 0 21061 "Implemented %1!d! logic cells" 0 0 "Design Software" 0 -1 1679489457767 ""} } { } 0 21057 "Implemented %1!d! device resources after synthesis - the final resource count might be different" 0 0 "Analysis & Synthesis" 0 -1 1679489457767 ""}
|
{ "Info" "ICUT_CUT_TM_SUMMARY" "112 " "Implemented 112 device resources after synthesis - the final resource count might be different" { { "Info" "ICUT_CUT_TM_IPINS" "20 " "Implemented 20 input pins" { } { } 0 21058 "Implemented %1!d! input pins" 0 0 "Design Software" 0 -1 1680013319375 ""} { "Info" "ICUT_CUT_TM_OPINS" "17 " "Implemented 17 output pins" { } { } 0 21059 "Implemented %1!d! output pins" 0 0 "Design Software" 0 -1 1680013319375 ""} { "Info" "ICUT_CUT_TM_LCELLS" "75 " "Implemented 75 logic cells" { } { } 0 21061 "Implemented %1!d! logic cells" 0 0 "Design Software" 0 -1 1680013319375 ""} } { } 0 21057 "Implemented %1!d! device resources after synthesis - the final resource count might be different" 0 0 "Analysis & Synthesis" 0 -1 1680013319375 ""}
|
||||||
{ "Info" "IQEXE_ERROR_COUNT" "Analysis & Synthesis 0 s 1 Quartus Prime " "Quartus Prime Analysis & Synthesis was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "456 " "Peak virtual memory: 456 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1679489457770 ""} { "Info" "IQEXE_END_BANNER_TIME" "Wed Mar 22 12:50:57 2023 " "Processing ended: Wed Mar 22 12:50:57 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1679489457770 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:05 " "Elapsed time: 00:00:05" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1679489457770 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:13 " "Total CPU time (on all processors): 00:00:13" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1679489457770 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Analysis & Synthesis" 0 -1 1679489457770 ""}
|
{ "Info" "IQEXE_ERROR_COUNT" "Analysis & Synthesis 0 s 1 Quartus Prime " "Quartus Prime Analysis & Synthesis was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "453 " "Peak virtual memory: 453 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1680013319378 ""} { "Info" "IQEXE_END_BANNER_TIME" "Tue Mar 28 15:21:59 2023 " "Processing ended: Tue Mar 28 15:21:59 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1680013319378 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:06 " "Elapsed time: 00:00:06" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1680013319378 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:13 " "Total CPU time (on all processors): 00:00:13" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1680013319378 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Analysis & Synthesis" 0 -1 1680013319378 ""}
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,42 +1,42 @@
|
||||||
{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1679489469028 ""}
|
{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1680013331463 ""}
|
||||||
{ "Info" "IQEXE_START_BANNER_PRODUCT" "Timing Analyzer Quartus Prime " "Running Quartus Prime Timing Analyzer" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition " "Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1679489469028 ""} { "Info" "IQEXE_START_BANNER_TIME" "Wed Mar 22 12:51:08 2023 " "Processing started: Wed Mar 22 12:51:08 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1679489469028 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Timing Analyzer" 0 -1 1679489469028 ""}
|
{ "Info" "IQEXE_START_BANNER_PRODUCT" "Timing Analyzer Quartus Prime " "Running Quartus Prime Timing Analyzer" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition " "Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1680013331463 ""} { "Info" "IQEXE_START_BANNER_TIME" "Tue Mar 28 15:22:11 2023 " "Processing started: Tue Mar 28 15:22:11 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1680013331463 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Timing Analyzer" 0 -1 1680013331463 ""}
|
||||||
{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_sta AccN_Demo -c AccN_Demo " "Command: quartus_sta AccN_Demo -c AccN_Demo" { } { } 0 0 "Command: %1!s!" 0 0 "Timing Analyzer" 0 -1 1679489469028 ""}
|
{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_sta AccN_Demo -c AccN_Demo " "Command: quartus_sta AccN_Demo -c AccN_Demo" { } { } 0 0 "Command: %1!s!" 0 0 "Timing Analyzer" 0 -1 1680013331463 ""}
|
||||||
{ "Info" "0" "" "qsta_default_script.tcl version: #1" { } { } 0 0 "qsta_default_script.tcl version: #1" 0 0 "Timing Analyzer" 0 0 1679489469048 ""}
|
{ "Info" "0" "" "qsta_default_script.tcl version: #1" { } { } 0 0 "qsta_default_script.tcl version: #1" 0 0 "Timing Analyzer" 0 0 1680013331484 ""}
|
||||||
{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Timing Analyzer" 0 -1 1679489469105 ""}
|
{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Timing Analyzer" 0 -1 1680013331541 ""}
|
||||||
{ "Info" "IQCU_PARALLEL_AUTODETECT_MULTIPLE_PROCESSORS" "4 4 " "Parallel compilation is enabled and will use 4 of the 4 processors detected" { } { } 0 20030 "Parallel compilation is enabled and will use %1!i! of the %2!i! processors detected" 0 0 "Timing Analyzer" 0 -1 1679489469105 ""}
|
{ "Info" "IQCU_PARALLEL_AUTODETECT_MULTIPLE_PROCESSORS" "4 4 " "Parallel compilation is enabled and will use 4 of the 4 processors detected" { } { } 0 20030 "Parallel compilation is enabled and will use %1!i! of the %2!i! processors detected" 0 0 "Timing Analyzer" 0 -1 1680013331541 ""}
|
||||||
{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "Low junction temperature 0 degrees C " "Low junction temperature is 0 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Timing Analyzer" 0 -1 1679489469147 ""}
|
{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "Low junction temperature 0 degrees C " "Low junction temperature is 0 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Timing Analyzer" 0 -1 1680013331582 ""}
|
||||||
{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "High junction temperature 85 degrees C " "High junction temperature is 85 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Timing Analyzer" 0 -1 1679489469147 ""}
|
{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "High junction temperature 85 degrees C " "High junction temperature is 85 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Timing Analyzer" 0 -1 1680013331582 ""}
|
||||||
{ "Critical Warning" "WSTA_SDC_NOT_FOUND" "AccN_Demo.sdc " "Synopsys Design Constraints File file not found: 'AccN_Demo.sdc'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." { } { } 1 332012 "Synopsys Design Constraints File file not found: '%1!s!'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." 0 0 "Timing Analyzer" 0 -1 1679489469438 ""}
|
{ "Critical Warning" "WSTA_SDC_NOT_FOUND" "AccN_Demo.sdc " "Synopsys Design Constraints File file not found: 'AccN_Demo.sdc'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." { } { } 1 332012 "Synopsys Design Constraints File file not found: '%1!s!'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." 0 0 "Timing Analyzer" 0 -1 1680013331871 ""}
|
||||||
{ "Info" "ISTA_NO_CLOCK_FOUND_DERIVING" "base clocks \"derive_clocks -period 1.0\" " "No user constrained base clocks found in the design. Calling \"derive_clocks -period 1.0\"" { } { } 0 332142 "No user constrained %1!s! found in the design. Calling %2!s!" 0 0 "Timing Analyzer" 0 -1 1679489469439 ""}
|
{ "Info" "ISTA_NO_CLOCK_FOUND_DERIVING" "base clocks \"derive_clocks -period 1.0\" " "No user constrained base clocks found in the design. Calling \"derive_clocks -period 1.0\"" { } { } 0 332142 "No user constrained %1!s! found in the design. Calling %2!s!" 0 0 "Timing Analyzer" 0 -1 1680013331871 ""}
|
||||||
{ "Info" "ISTA_DERIVE_CLOCKS_INFO" "Deriving Clocks " "Deriving Clocks" { { "Info" "ISTA_DERIVE_CLOCKS_INFO" "create_clock -period 1.000 -name FreqDivider:inst2\|clkOut FreqDivider:inst2\|clkOut " "create_clock -period 1.000 -name FreqDivider:inst2\|clkOut FreqDivider:inst2\|clkOut" { } { } 0 332105 "%1!s!" 0 0 "Design Software" 0 -1 1679489469439 ""} { "Info" "ISTA_DERIVE_CLOCKS_INFO" "create_clock -period 1.000 -name CLOCK_50 CLOCK_50 " "create_clock -period 1.000 -name CLOCK_50 CLOCK_50" { } { } 0 332105 "%1!s!" 0 0 "Design Software" 0 -1 1679489469439 ""} } { } 0 332105 "%1!s!" 0 0 "Timing Analyzer" 0 -1 1679489469439 ""}
|
{ "Info" "ISTA_DERIVE_CLOCKS_INFO" "Deriving Clocks " "Deriving Clocks" { { "Info" "ISTA_DERIVE_CLOCKS_INFO" "create_clock -period 1.000 -name FreqDivider:inst2\|clkOut FreqDivider:inst2\|clkOut " "create_clock -period 1.000 -name FreqDivider:inst2\|clkOut FreqDivider:inst2\|clkOut" { } { } 0 332105 "%1!s!" 0 0 "Design Software" 0 -1 1680013331871 ""} { "Info" "ISTA_DERIVE_CLOCKS_INFO" "create_clock -period 1.000 -name CLOCK_50 CLOCK_50 " "create_clock -period 1.000 -name CLOCK_50 CLOCK_50" { } { } 0 332105 "%1!s!" 0 0 "Design Software" 0 -1 1680013331871 ""} } { } 0 332105 "%1!s!" 0 0 "Timing Analyzer" 0 -1 1680013331871 ""}
|
||||||
{ "Info" "ISTA_NO_CLOCK_UNCERTAINTY_FOUND_DERIVING" "\"derive_clock_uncertainty\" " "No user constrained clock uncertainty found in the design. Calling \"derive_clock_uncertainty\"" { } { } 0 332143 "No user constrained clock uncertainty found in the design. Calling %1!s!" 0 0 "Timing Analyzer" 0 -1 1679489469440 ""}
|
{ "Info" "ISTA_NO_CLOCK_UNCERTAINTY_FOUND_DERIVING" "\"derive_clock_uncertainty\" " "No user constrained clock uncertainty found in the design. Calling \"derive_clock_uncertainty\"" { } { } 0 332143 "No user constrained clock uncertainty found in the design. Calling %1!s!" 0 0 "Timing Analyzer" 0 -1 1680013331872 ""}
|
||||||
{ "Info" "ISTA_DERIVE_CLOCK_UNCERTAINTY_INFO" "Deriving Clock Uncertainty. Please refer to report_sdc in the Timing Analyzer to see clock uncertainties. " "Deriving Clock Uncertainty. Please refer to report_sdc in the Timing Analyzer to see clock uncertainties." { } { } 0 332123 "%1!s!" 0 0 "Timing Analyzer" 0 -1 1679489469440 ""}
|
{ "Info" "ISTA_DERIVE_CLOCK_UNCERTAINTY_INFO" "Deriving Clock Uncertainty. Please refer to report_sdc in the Timing Analyzer to see clock uncertainties. " "Deriving Clock Uncertainty. Please refer to report_sdc in the Timing Analyzer to see clock uncertainties." { } { } 0 332123 "%1!s!" 0 0 "Timing Analyzer" 0 -1 1680013331872 ""}
|
||||||
{ "Info" "0" "" "Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON" { } { } 0 0 "Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON" 0 0 "Timing Analyzer" 0 0 1679489469440 ""}
|
{ "Info" "0" "" "Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON" { } { } 0 0 "Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON" 0 0 "Timing Analyzer" 0 0 1680013331873 ""}
|
||||||
{ "Info" "0" "" "Analyzing Slow 1200mV 85C Model" { } { } 0 0 "Analyzing Slow 1200mV 85C Model" 0 0 "Timing Analyzer" 0 0 1679489469443 ""}
|
{ "Info" "0" "" "Analyzing Slow 1200mV 85C Model" { } { } 0 0 "Analyzing Slow 1200mV 85C Model" 0 0 "Timing Analyzer" 0 0 1680013331876 ""}
|
||||||
{ "Critical Warning" "WSTA_TIMING_NOT_MET" "" "Timing requirements not met" { { "Info" "ISTA_TIMING_NOT_MET_USE_ADA" "" "For recommendations on closing timing, run Report Timing Closure Recommendations in the Timing Analyzer." { } { } 0 11105 "For recommendations on closing timing, run Report Timing Closure Recommendations in the Timing Analyzer." 0 0 "Design Software" 0 -1 1679489469449 ""} } { } 1 332148 "Timing requirements not met" 0 0 "Timing Analyzer" 0 -1 1679489469449 ""}
|
{ "Critical Warning" "WSTA_TIMING_NOT_MET" "" "Timing requirements not met" { { "Info" "ISTA_TIMING_NOT_MET_USE_ADA" "" "For recommendations on closing timing, run Report Timing Closure Recommendations in the Timing Analyzer." { } { } 0 11105 "For recommendations on closing timing, run Report Timing Closure Recommendations in the Timing Analyzer." 0 0 "Design Software" 0 -1 1680013331883 ""} } { } 1 332148 "Timing requirements not met" 0 0 "Timing Analyzer" 0 -1 1680013331883 ""}
|
||||||
{ "Info" "ISTA_WORST_CASE_SLACK" "setup -4.190 " "Worst-case setup slack is -4.190" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469450 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469450 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -4.190 -78.512 CLOCK_50 " " -4.190 -78.512 CLOCK_50 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469450 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -1.348 -17.156 FreqDivider:inst2\|clkOut " " -1.348 -17.156 FreqDivider:inst2\|clkOut " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469450 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1679489469450 ""}
|
{ "Info" "ISTA_WORST_CASE_SLACK" "setup -4.308 " "Worst-case setup slack is -4.308" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013331883 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013331883 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -4.308 -65.920 CLOCK_50 " " -4.308 -65.920 CLOCK_50 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013331883 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -1.349 -16.351 FreqDivider:inst2\|clkOut " " -1.349 -16.351 FreqDivider:inst2\|clkOut " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013331883 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1680013331883 ""}
|
||||||
{ "Info" "ISTA_WORST_CASE_SLACK" "hold 0.548 " "Worst-case hold slack is 0.548" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469450 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469450 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.548 0.000 FreqDivider:inst2\|clkOut " " 0.548 0.000 FreqDivider:inst2\|clkOut " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469450 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.654 0.000 CLOCK_50 " " 0.654 0.000 CLOCK_50 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469450 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1679489469450 ""}
|
{ "Info" "ISTA_WORST_CASE_SLACK" "hold 0.543 " "Worst-case hold slack is 0.543" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013331884 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013331884 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.543 0.000 FreqDivider:inst2\|clkOut " " 0.543 0.000 FreqDivider:inst2\|clkOut " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013331884 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.653 0.000 CLOCK_50 " " 0.653 0.000 CLOCK_50 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013331884 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1680013331884 ""}
|
||||||
{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Recovery " "No Recovery paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1679489469451 ""}
|
{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Recovery " "No Recovery paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1680013331885 ""}
|
||||||
{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Removal " "No Removal paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1679489469451 ""}
|
{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Removal " "No Removal paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1680013331885 ""}
|
||||||
{ "Info" "ISTA_WORST_CASE_SLACK" "minimum pulse width -3.000 " "Worst-case minimum pulse width slack is -3.000" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469452 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469452 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -3.000 -45.405 CLOCK_50 " " -3.000 -45.405 CLOCK_50 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469452 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -1.285 -21.845 FreqDivider:inst2\|clkOut " " -1.285 -21.845 FreqDivider:inst2\|clkOut " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469452 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1679489469452 ""}
|
{ "Info" "ISTA_WORST_CASE_SLACK" "minimum pulse width -3.000 " "Worst-case minimum pulse width slack is -3.000" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013331885 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013331885 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -3.000 -45.405 CLOCK_50 " " -3.000 -45.405 CLOCK_50 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013331885 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -1.285 -21.845 FreqDivider:inst2\|clkOut " " -1.285 -21.845 FreqDivider:inst2\|clkOut " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013331885 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1680013331885 ""}
|
||||||
{ "Info" "0" "" "Analyzing Slow 1200mV 0C Model" { } { } 0 0 "Analyzing Slow 1200mV 0C Model" 0 0 "Timing Analyzer" 0 0 1679489469467 ""}
|
{ "Info" "0" "" "Analyzing Slow 1200mV 0C Model" { } { } 0 0 "Analyzing Slow 1200mV 0C Model" 0 0 "Timing Analyzer" 0 0 1680013331901 ""}
|
||||||
{ "Info" "ITAPI_TAPI_STARTED" "" "Started post-fitting delay annotation" { } { } 0 334003 "Started post-fitting delay annotation" 0 0 "Timing Analyzer" 0 -1 1679489469479 ""}
|
{ "Info" "ITAPI_TAPI_STARTED" "" "Started post-fitting delay annotation" { } { } 0 334003 "Started post-fitting delay annotation" 0 0 "Timing Analyzer" 0 -1 1680013331913 ""}
|
||||||
{ "Info" "ITAPI_TAPI_COMPLETED" "" "Delay annotation completed successfully" { } { } 0 334004 "Delay annotation completed successfully" 0 0 "Timing Analyzer" 0 -1 1679489469637 ""}
|
{ "Info" "ITAPI_TAPI_COMPLETED" "" "Delay annotation completed successfully" { } { } 0 334004 "Delay annotation completed successfully" 0 0 "Timing Analyzer" 0 -1 1680013332202 ""}
|
||||||
{ "Info" "ISTA_DERIVE_CLOCK_UNCERTAINTY_INFO" "Deriving Clock Uncertainty. Please refer to report_sdc in the Timing Analyzer to see clock uncertainties. " "Deriving Clock Uncertainty. Please refer to report_sdc in the Timing Analyzer to see clock uncertainties." { } { } 0 332123 "%1!s!" 0 0 "Timing Analyzer" 0 -1 1679489469651 ""}
|
{ "Info" "ISTA_DERIVE_CLOCK_UNCERTAINTY_INFO" "Deriving Clock Uncertainty. Please refer to report_sdc in the Timing Analyzer to see clock uncertainties. " "Deriving Clock Uncertainty. Please refer to report_sdc in the Timing Analyzer to see clock uncertainties." { } { } 0 332123 "%1!s!" 0 0 "Timing Analyzer" 0 -1 1680013332217 ""}
|
||||||
{ "Critical Warning" "WSTA_TIMING_NOT_MET" "" "Timing requirements not met" { { "Info" "ISTA_TIMING_NOT_MET_USE_ADA" "" "For recommendations on closing timing, run Report Timing Closure Recommendations in the Timing Analyzer." { } { } 0 11105 "For recommendations on closing timing, run Report Timing Closure Recommendations in the Timing Analyzer." 0 0 "Design Software" 0 -1 1679489469653 ""} } { } 1 332148 "Timing requirements not met" 0 0 "Timing Analyzer" 0 -1 1679489469653 ""}
|
{ "Critical Warning" "WSTA_TIMING_NOT_MET" "" "Timing requirements not met" { { "Info" "ISTA_TIMING_NOT_MET_USE_ADA" "" "For recommendations on closing timing, run Report Timing Closure Recommendations in the Timing Analyzer." { } { } 0 11105 "For recommendations on closing timing, run Report Timing Closure Recommendations in the Timing Analyzer." 0 0 "Design Software" 0 -1 1680013332219 ""} } { } 1 332148 "Timing requirements not met" 0 0 "Timing Analyzer" 0 -1 1680013332219 ""}
|
||||||
{ "Info" "ISTA_WORST_CASE_SLACK" "setup -3.751 " "Worst-case setup slack is -3.751" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469654 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469654 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -3.751 -67.496 CLOCK_50 " " -3.751 -67.496 CLOCK_50 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469654 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -1.082 -13.558 FreqDivider:inst2\|clkOut " " -1.082 -13.558 FreqDivider:inst2\|clkOut " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469654 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1679489469654 ""}
|
{ "Info" "ISTA_WORST_CASE_SLACK" "setup -3.850 " "Worst-case setup slack is -3.850" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332220 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332220 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -3.850 -55.792 CLOCK_50 " " -3.850 -55.792 CLOCK_50 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332220 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -1.081 -12.785 FreqDivider:inst2\|clkOut " " -1.081 -12.785 FreqDivider:inst2\|clkOut " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332220 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1680013332220 ""}
|
||||||
{ "Info" "ISTA_WORST_CASE_SLACK" "hold 0.494 " "Worst-case hold slack is 0.494" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469655 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469655 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.494 0.000 FreqDivider:inst2\|clkOut " " 0.494 0.000 FreqDivider:inst2\|clkOut " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469655 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.597 0.000 CLOCK_50 " " 0.597 0.000 CLOCK_50 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469655 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1679489469655 ""}
|
{ "Info" "ISTA_WORST_CASE_SLACK" "hold 0.489 " "Worst-case hold slack is 0.489" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332221 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332221 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.489 0.000 FreqDivider:inst2\|clkOut " " 0.489 0.000 FreqDivider:inst2\|clkOut " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332221 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.598 0.000 CLOCK_50 " " 0.598 0.000 CLOCK_50 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332221 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1680013332221 ""}
|
||||||
{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Recovery " "No Recovery paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1679489469656 ""}
|
{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Recovery " "No Recovery paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1680013332223 ""}
|
||||||
{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Removal " "No Removal paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1679489469657 ""}
|
{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Removal " "No Removal paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1680013332224 ""}
|
||||||
{ "Info" "ISTA_WORST_CASE_SLACK" "minimum pulse width -3.000 " "Worst-case minimum pulse width slack is -3.000" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469658 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469658 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -3.000 -45.405 CLOCK_50 " " -3.000 -45.405 CLOCK_50 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469658 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -1.285 -21.845 FreqDivider:inst2\|clkOut " " -1.285 -21.845 FreqDivider:inst2\|clkOut " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469658 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1679489469658 ""}
|
{ "Info" "ISTA_WORST_CASE_SLACK" "minimum pulse width -3.000 " "Worst-case minimum pulse width slack is -3.000" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332225 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332225 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -3.000 -45.405 CLOCK_50 " " -3.000 -45.405 CLOCK_50 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332225 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -1.285 -21.845 FreqDivider:inst2\|clkOut " " -1.285 -21.845 FreqDivider:inst2\|clkOut " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332225 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1680013332225 ""}
|
||||||
{ "Info" "0" "" "Analyzing Fast 1200mV 0C Model" { } { } 0 0 "Analyzing Fast 1200mV 0C Model" 0 0 "Timing Analyzer" 0 0 1679489469674 ""}
|
{ "Info" "0" "" "Analyzing Fast 1200mV 0C Model" { } { } 0 0 "Analyzing Fast 1200mV 0C Model" 0 0 "Timing Analyzer" 0 0 1680013332250 ""}
|
||||||
{ "Info" "ISTA_DERIVE_CLOCK_UNCERTAINTY_INFO" "Deriving Clock Uncertainty. Please refer to report_sdc in the Timing Analyzer to see clock uncertainties. " "Deriving Clock Uncertainty. Please refer to report_sdc in the Timing Analyzer to see clock uncertainties." { } { } 0 332123 "%1!s!" 0 0 "Timing Analyzer" 0 -1 1679489469714 ""}
|
{ "Info" "ISTA_DERIVE_CLOCK_UNCERTAINTY_INFO" "Deriving Clock Uncertainty. Please refer to report_sdc in the Timing Analyzer to see clock uncertainties. " "Deriving Clock Uncertainty. Please refer to report_sdc in the Timing Analyzer to see clock uncertainties." { } { } 0 332123 "%1!s!" 0 0 "Timing Analyzer" 0 -1 1680013332290 ""}
|
||||||
{ "Critical Warning" "WSTA_TIMING_NOT_MET" "" "Timing requirements not met" { { "Info" "ISTA_TIMING_NOT_MET_USE_ADA" "" "For recommendations on closing timing, run Report Timing Closure Recommendations in the Timing Analyzer." { } { } 0 11105 "For recommendations on closing timing, run Report Timing Closure Recommendations in the Timing Analyzer." 0 0 "Design Software" 0 -1 1679489469714 ""} } { } 1 332148 "Timing requirements not met" 0 0 "Timing Analyzer" 0 -1 1679489469714 ""}
|
{ "Critical Warning" "WSTA_TIMING_NOT_MET" "" "Timing requirements not met" { { "Info" "ISTA_TIMING_NOT_MET_USE_ADA" "" "For recommendations on closing timing, run Report Timing Closure Recommendations in the Timing Analyzer." { } { } 0 11105 "For recommendations on closing timing, run Report Timing Closure Recommendations in the Timing Analyzer." 0 0 "Design Software" 0 -1 1680013332290 ""} } { } 1 332148 "Timing requirements not met" 0 0 "Timing Analyzer" 0 -1 1680013332290 ""}
|
||||||
{ "Info" "ISTA_WORST_CASE_SLACK" "setup -1.596 " "Worst-case setup slack is -1.596" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469716 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469716 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -1.596 -21.945 CLOCK_50 " " -1.596 -21.945 CLOCK_50 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469716 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -0.171 -0.699 FreqDivider:inst2\|clkOut " " -0.171 -0.699 FreqDivider:inst2\|clkOut " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469716 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1679489469716 ""}
|
{ "Info" "ISTA_WORST_CASE_SLACK" "setup -1.676 " "Worst-case setup slack is -1.676" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332292 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332292 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -1.676 -16.763 CLOCK_50 " " -1.676 -16.763 CLOCK_50 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332292 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -0.170 -0.504 FreqDivider:inst2\|clkOut " " -0.170 -0.504 FreqDivider:inst2\|clkOut " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332292 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1680013332292 ""}
|
||||||
{ "Info" "ISTA_WORST_CASE_SLACK" "hold 0.247 " "Worst-case hold slack is 0.247" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469718 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469718 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.247 0.000 FreqDivider:inst2\|clkOut " " 0.247 0.000 FreqDivider:inst2\|clkOut " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469718 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.298 0.000 CLOCK_50 " " 0.298 0.000 CLOCK_50 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469718 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1679489469718 ""}
|
{ "Info" "ISTA_WORST_CASE_SLACK" "hold 0.244 " "Worst-case hold slack is 0.244" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332294 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332294 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.244 0.000 FreqDivider:inst2\|clkOut " " 0.244 0.000 FreqDivider:inst2\|clkOut " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332294 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.297 0.000 CLOCK_50 " " 0.297 0.000 CLOCK_50 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332294 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1680013332294 ""}
|
||||||
{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Recovery " "No Recovery paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1679489469719 ""}
|
{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Recovery " "No Recovery paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1680013332295 ""}
|
||||||
{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Removal " "No Removal paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1679489469720 ""}
|
{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Removal " "No Removal paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1680013332296 ""}
|
||||||
{ "Info" "ISTA_WORST_CASE_SLACK" "minimum pulse width -3.000 " "Worst-case minimum pulse width slack is -3.000" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469722 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469722 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -3.000 -38.002 CLOCK_50 " " -3.000 -38.002 CLOCK_50 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469722 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -1.000 -17.000 FreqDivider:inst2\|clkOut " " -1.000 -17.000 FreqDivider:inst2\|clkOut " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1679489469722 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1679489469722 ""}
|
{ "Info" "ISTA_WORST_CASE_SLACK" "minimum pulse width -3.000 " "Worst-case minimum pulse width slack is -3.000" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332298 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332298 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -3.000 -38.036 CLOCK_50 " " -3.000 -38.036 CLOCK_50 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332298 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -1.000 -17.000 FreqDivider:inst2\|clkOut " " -1.000 -17.000 FreqDivider:inst2\|clkOut " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1680013332298 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1680013332298 ""}
|
||||||
{ "Info" "ISTA_UCP_NOT_CONSTRAINED" "setup " "Design is not fully constrained for setup requirements" { } { } 0 332102 "Design is not fully constrained for %1!s! requirements" 0 0 "Timing Analyzer" 0 -1 1679489469957 ""}
|
{ "Info" "ISTA_UCP_NOT_CONSTRAINED" "setup " "Design is not fully constrained for setup requirements" { } { } 0 332102 "Design is not fully constrained for %1!s! requirements" 0 0 "Timing Analyzer" 0 -1 1680013332526 ""}
|
||||||
{ "Info" "ISTA_UCP_NOT_CONSTRAINED" "hold " "Design is not fully constrained for hold requirements" { } { } 0 332102 "Design is not fully constrained for %1!s! requirements" 0 0 "Timing Analyzer" 0 -1 1679489469957 ""}
|
{ "Info" "ISTA_UCP_NOT_CONSTRAINED" "hold " "Design is not fully constrained for hold requirements" { } { } 0 332102 "Design is not fully constrained for %1!s! requirements" 0 0 "Timing Analyzer" 0 -1 1680013332526 ""}
|
||||||
{ "Info" "IQEXE_ERROR_COUNT" "Timing Analyzer 0 s 5 s Quartus Prime " "Quartus Prime Timing Analyzer was successful. 0 errors, 5 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "537 " "Peak virtual memory: 537 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1679489469981 ""} { "Info" "IQEXE_END_BANNER_TIME" "Wed Mar 22 12:51:09 2023 " "Processing ended: Wed Mar 22 12:51:09 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1679489469981 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:01 " "Elapsed time: 00:00:01" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1679489469981 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:01 " "Total CPU time (on all processors): 00:00:01" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1679489469981 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Timing Analyzer" 0 -1 1679489469981 ""}
|
{ "Info" "IQEXE_ERROR_COUNT" "Timing Analyzer 0 s 5 s Quartus Prime " "Quartus Prime Timing Analyzer was successful. 0 errors, 5 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "537 " "Peak virtual memory: 537 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1680013332549 ""} { "Info" "IQEXE_END_BANNER_TIME" "Tue Mar 28 15:22:12 2023 " "Processing ended: Tue Mar 28 15:22:12 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1680013332549 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:01 " "Elapsed time: 00:00:01" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1680013332549 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:01 " "Total CPU time (on all processors): 00:00:01" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1680013332549 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Timing Analyzer" 0 -1 1680013332549 ""}
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,4 +1,7 @@
|
||||||
start_full_compilation:s
|
start_full_compilation:s:00:00:20
|
||||||
start_assembler:s-start_full_compilation
|
start_analysis_synthesis:s:00:00:06-start_full_compilation
|
||||||
start_timing_analyzer:s-start_full_compilation
|
start_analysis_elaboration:s-start_full_compilation
|
||||||
start_eda_netlist_writer:s-start_full_compilation
|
start_fitter:s:00:00:09-start_full_compilation
|
||||||
|
start_assembler:s:00:00:02-start_full_compilation
|
||||||
|
start_timing_analyzer:s:00:00:02-start_full_compilation
|
||||||
|
start_eda_netlist_writer:s:00:00:01-start_full_compilation
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,5 +1,5 @@
|
||||||
Assembler report for AccN_Demo
|
Assembler report for AccN_Demo
|
||||||
Wed Mar 22 12:51:08 2023
|
Tue Mar 28 15:22:10 2023
|
||||||
Quartus Prime Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
Quartus Prime Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
||||||
|
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ https://fpgasoftware.intel.com/eula.
|
||||||
+---------------------------------------------------------------+
|
+---------------------------------------------------------------+
|
||||||
; Assembler Summary ;
|
; Assembler Summary ;
|
||||||
+-----------------------+---------------------------------------+
|
+-----------------------+---------------------------------------+
|
||||||
; Assembler Status ; Successful - Wed Mar 22 12:51:08 2023 ;
|
; Assembler Status ; Successful - Tue Mar 28 15:22:10 2023 ;
|
||||||
; Revision Name ; AccN_Demo ;
|
; Revision Name ; AccN_Demo ;
|
||||||
; Top-level Entity Name ; AccN_Demo ;
|
; Top-level Entity Name ; AccN_Demo ;
|
||||||
; Family ; Cyclone IV E ;
|
; Family ; Cyclone IV E ;
|
||||||
|
@ -67,8 +67,8 @@ https://fpgasoftware.intel.com/eula.
|
||||||
+----------------+------------------------+
|
+----------------+------------------------+
|
||||||
; Option ; Setting ;
|
; Option ; Setting ;
|
||||||
+----------------+------------------------+
|
+----------------+------------------------+
|
||||||
; JTAG usercode ; 0x0056F0F9 ;
|
; JTAG usercode ; 0x0056E597 ;
|
||||||
; Checksum ; 0x0056F0F9 ;
|
; Checksum ; 0x0056E597 ;
|
||||||
+----------------+------------------------+
|
+----------------+------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
@ -78,15 +78,15 @@ https://fpgasoftware.intel.com/eula.
|
||||||
Info: *******************************************************************
|
Info: *******************************************************************
|
||||||
Info: Running Quartus Prime Assembler
|
Info: Running Quartus Prime Assembler
|
||||||
Info: Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
Info: Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
||||||
Info: Processing started: Wed Mar 22 12:51:06 2023
|
Info: Processing started: Tue Mar 28 15:22:09 2023
|
||||||
Info: Command: quartus_asm --read_settings_files=off --write_settings_files=off AccN_Demo -c AccN_Demo
|
Info: Command: quartus_asm --read_settings_files=off --write_settings_files=off AccN_Demo -c AccN_Demo
|
||||||
Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance.
|
Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance.
|
||||||
Info (115031): Writing out detailed assembly data for power analysis
|
Info (115031): Writing out detailed assembly data for power analysis
|
||||||
Info (115030): Assembler is generating device programming files
|
Info (115030): Assembler is generating device programming files
|
||||||
Info: Quartus Prime Assembler was successful. 0 errors, 1 warning
|
Info: Quartus Prime Assembler was successful. 0 errors, 1 warning
|
||||||
Info: Peak virtual memory: 367 megabytes
|
Info: Peak virtual memory: 367 megabytes
|
||||||
Info: Processing ended: Wed Mar 22 12:51:08 2023
|
Info: Processing ended: Tue Mar 28 15:22:10 2023
|
||||||
Info: Elapsed time: 00:00:02
|
Info: Elapsed time: 00:00:01
|
||||||
Info: Total CPU time (on all processors): 00:00:02
|
Info: Total CPU time (on all processors): 00:00:02
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Wed Mar 22 12:51:10 2023
|
Tue Mar 28 15:22:13 2023
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
EDA Netlist Writer report for AccN_Demo
|
EDA Netlist Writer report for AccN_Demo
|
||||||
Wed Mar 22 12:51:10 2023
|
Tue Mar 28 15:22:13 2023
|
||||||
Quartus Prime Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
Quartus Prime Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
||||||
|
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ https://fpgasoftware.intel.com/eula.
|
||||||
+-------------------------------------------------------------------+
|
+-------------------------------------------------------------------+
|
||||||
; EDA Netlist Writer Summary ;
|
; EDA Netlist Writer Summary ;
|
||||||
+---------------------------+---------------------------------------+
|
+---------------------------+---------------------------------------+
|
||||||
; EDA Netlist Writer Status ; Successful - Wed Mar 22 12:51:10 2023 ;
|
; EDA Netlist Writer Status ; Successful - Tue Mar 28 15:22:13 2023 ;
|
||||||
; Revision Name ; AccN_Demo ;
|
; Revision Name ; AccN_Demo ;
|
||||||
; Top-level Entity Name ; AccN_Demo ;
|
; Top-level Entity Name ; AccN_Demo ;
|
||||||
; Family ; Cyclone IV E ;
|
; Family ; Cyclone IV E ;
|
||||||
|
@ -81,14 +81,14 @@ https://fpgasoftware.intel.com/eula.
|
||||||
Info: *******************************************************************
|
Info: *******************************************************************
|
||||||
Info: Running Quartus Prime EDA Netlist Writer
|
Info: Running Quartus Prime EDA Netlist Writer
|
||||||
Info: Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
Info: Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
||||||
Info: Processing started: Wed Mar 22 12:51:10 2023
|
Info: Processing started: Tue Mar 28 15:22:12 2023
|
||||||
Info: Command: quartus_eda --read_settings_files=off --write_settings_files=off AccN_Demo -c AccN_Demo
|
Info: Command: quartus_eda --read_settings_files=off --write_settings_files=off AccN_Demo -c AccN_Demo
|
||||||
Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance.
|
Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance.
|
||||||
Info (204019): Generated file AccN_Demo.vho in folder "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/simulation/modelsim/" for EDA simulation tool
|
Info (204019): Generated file AccN_Demo.vho in folder "/home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/simulation/modelsim/" for EDA simulation tool
|
||||||
Info: Quartus Prime EDA Netlist Writer was successful. 0 errors, 1 warning
|
Info: Quartus Prime EDA Netlist Writer was successful. 0 errors, 1 warning
|
||||||
Info: Peak virtual memory: 612 megabytes
|
Info: Peak virtual memory: 612 megabytes
|
||||||
Info: Processing ended: Wed Mar 22 12:51:10 2023
|
Info: Processing ended: Tue Mar 28 15:22:13 2023
|
||||||
Info: Elapsed time: 00:00:00
|
Info: Elapsed time: 00:00:01
|
||||||
Info: Total CPU time (on all processors): 00:00:00
|
Info: Total CPU time (on all processors): 00:00:00
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
Fitter report for AccN_Demo
|
Fitter report for AccN_Demo
|
||||||
Wed Mar 22 12:51:06 2023
|
Tue Mar 28 15:22:08 2023
|
||||||
Quartus Prime Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
Quartus Prime Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
||||||
|
|
||||||
|
|
||||||
|
@ -69,15 +69,15 @@ https://fpgasoftware.intel.com/eula.
|
||||||
+----------------------------------------------------------------------------------+
|
+----------------------------------------------------------------------------------+
|
||||||
; Fitter Summary ;
|
; Fitter Summary ;
|
||||||
+------------------------------------+---------------------------------------------+
|
+------------------------------------+---------------------------------------------+
|
||||||
; Fitter Status ; Successful - Wed Mar 22 12:51:06 2023 ;
|
; Fitter Status ; Successful - Tue Mar 28 15:22:08 2023 ;
|
||||||
; Quartus Prime Version ; 20.1.1 Build 720 11/11/2020 SJ Lite Edition ;
|
; Quartus Prime Version ; 20.1.1 Build 720 11/11/2020 SJ Lite Edition ;
|
||||||
; Revision Name ; AccN_Demo ;
|
; Revision Name ; AccN_Demo ;
|
||||||
; Top-level Entity Name ; AccN_Demo ;
|
; Top-level Entity Name ; AccN_Demo ;
|
||||||
; Family ; Cyclone IV E ;
|
; Family ; Cyclone IV E ;
|
||||||
; Device ; EP4CE115F29C7 ;
|
; Device ; EP4CE115F29C7 ;
|
||||||
; Timing Models ; Final ;
|
; Timing Models ; Final ;
|
||||||
; Total logic elements ; 78 / 114,480 ( < 1 % ) ;
|
; Total logic elements ; 76 / 114,480 ( < 1 % ) ;
|
||||||
; Total combinational functions ; 77 / 114,480 ( < 1 % ) ;
|
; Total combinational functions ; 75 / 114,480 ( < 1 % ) ;
|
||||||
; Dedicated logic registers ; 50 / 114,480 ( < 1 % ) ;
|
; Dedicated logic registers ; 50 / 114,480 ( < 1 % ) ;
|
||||||
; Total registers ; 50 ;
|
; Total registers ; 50 ;
|
||||||
; Total pins ; 37 / 529 ( 7 % ) ;
|
; Total pins ; 37 / 529 ( 7 % ) ;
|
||||||
|
@ -662,8 +662,8 @@ https://fpgasoftware.intel.com/eula.
|
||||||
; Type ; Total [A + B] ; From Design Partitions [A] ; From Rapid Recompile [B] ;
|
; Type ; Total [A + B] ; From Design Partitions [A] ; From Rapid Recompile [B] ;
|
||||||
+---------------------+--------------------+----------------------------+--------------------------+
|
+---------------------+--------------------+----------------------------+--------------------------+
|
||||||
; Placement (by node) ; ; ; ;
|
; Placement (by node) ; ; ; ;
|
||||||
; -- Requested ; 0.00 % ( 0 / 214 ) ; 0.00 % ( 0 / 214 ) ; 0.00 % ( 0 / 214 ) ;
|
; -- Requested ; 0.00 % ( 0 / 212 ) ; 0.00 % ( 0 / 212 ) ; 0.00 % ( 0 / 212 ) ;
|
||||||
; -- Achieved ; 0.00 % ( 0 / 214 ) ; 0.00 % ( 0 / 214 ) ; 0.00 % ( 0 / 214 ) ;
|
; -- Achieved ; 0.00 % ( 0 / 212 ) ; 0.00 % ( 0 / 212 ) ; 0.00 % ( 0 / 212 ) ;
|
||||||
; ; ; ; ;
|
; ; ; ; ;
|
||||||
; Routing (by net) ; ; ; ;
|
; Routing (by net) ; ; ; ;
|
||||||
; -- Requested ; 0.00 % ( 0 / 0 ) ; 0.00 % ( 0 / 0 ) ; 0.00 % ( 0 / 0 ) ;
|
; -- Requested ; 0.00 % ( 0 / 0 ) ; 0.00 % ( 0 / 0 ) ; 0.00 % ( 0 / 0 ) ;
|
||||||
|
@ -686,7 +686,7 @@ https://fpgasoftware.intel.com/eula.
|
||||||
+--------------------------------+-----------------------+-------------------------+-------------------+---------------------+-------+
|
+--------------------------------+-----------------------+-------------------------+-------------------+---------------------+-------+
|
||||||
; Partition Name ; Preservation Achieved ; Preservation Level Used ; Netlist Type Used ; Preservation Method ; Notes ;
|
; Partition Name ; Preservation Achieved ; Preservation Level Used ; Netlist Type Used ; Preservation Method ; Notes ;
|
||||||
+--------------------------------+-----------------------+-------------------------+-------------------+---------------------+-------+
|
+--------------------------------+-----------------------+-------------------------+-------------------+---------------------+-------+
|
||||||
; Top ; 0.00 % ( 0 / 204 ) ; N/A ; Source File ; N/A ; ;
|
; Top ; 0.00 % ( 0 / 202 ) ; N/A ; Source File ; N/A ; ;
|
||||||
; hard_block:auto_generated_inst ; 0.00 % ( 0 / 10 ) ; N/A ; Source File ; N/A ; ;
|
; hard_block:auto_generated_inst ; 0.00 % ( 0 / 10 ) ; N/A ; Source File ; N/A ; ;
|
||||||
+--------------------------------+-----------------------+-------------------------+-------------------+---------------------+-------+
|
+--------------------------------+-----------------------+-------------------------+-------------------+---------------------+-------+
|
||||||
|
|
||||||
|
@ -702,19 +702,19 @@ The pin-out file can be found in /home/tiagorg/repos/uaveiro-leci/1ano/2semestre
|
||||||
+---------------------------------------------+------------------------+
|
+---------------------------------------------+------------------------+
|
||||||
; Resource ; Usage ;
|
; Resource ; Usage ;
|
||||||
+---------------------------------------------+------------------------+
|
+---------------------------------------------+------------------------+
|
||||||
; Total logic elements ; 78 / 114,480 ( < 1 % ) ;
|
; Total logic elements ; 76 / 114,480 ( < 1 % ) ;
|
||||||
; -- Combinational with no register ; 28 ;
|
; -- Combinational with no register ; 26 ;
|
||||||
; -- Register only ; 1 ;
|
; -- Register only ; 1 ;
|
||||||
; -- Combinational with a register ; 49 ;
|
; -- Combinational with a register ; 49 ;
|
||||||
; ; ;
|
; ; ;
|
||||||
; Logic element usage by number of LUT inputs ; ;
|
; Logic element usage by number of LUT inputs ; ;
|
||||||
; -- 4 input functions ; 12 ;
|
; -- 4 input functions ; 15 ;
|
||||||
; -- 3 input functions ; 21 ;
|
; -- 3 input functions ; 27 ;
|
||||||
; -- <=2 input functions ; 44 ;
|
; -- <=2 input functions ; 33 ;
|
||||||
; -- Register only ; 1 ;
|
; -- Register only ; 1 ;
|
||||||
; ; ;
|
; ; ;
|
||||||
; Logic elements by mode ; ;
|
; Logic elements by mode ; ;
|
||||||
; -- normal mode ; 30 ;
|
; -- normal mode ; 28 ;
|
||||||
; -- arithmetic mode ; 47 ;
|
; -- arithmetic mode ; 47 ;
|
||||||
; ; ;
|
; ; ;
|
||||||
; Total registers* ; 50 / 117,053 ( < 1 % ) ;
|
; Total registers* ; 50 / 117,053 ( < 1 % ) ;
|
||||||
|
@ -743,8 +743,8 @@ The pin-out file can be found in /home/tiagorg/repos/uaveiro-leci/1ano/2semestre
|
||||||
; Peak interconnect usage (total/H/V) ; 1.2% / 0.9% / 1.7% ;
|
; Peak interconnect usage (total/H/V) ; 1.2% / 0.9% / 1.7% ;
|
||||||
; Maximum fan-out ; 33 ;
|
; Maximum fan-out ; 33 ;
|
||||||
; Highest non-global fan-out ; 17 ;
|
; Highest non-global fan-out ; 17 ;
|
||||||
; Total fan-out ; 394 ;
|
; Total fan-out ; 401 ;
|
||||||
; Average fan-out ; 1.84 ;
|
; Average fan-out ; 1.90 ;
|
||||||
+---------------------------------------------+------------------------+
|
+---------------------------------------------+------------------------+
|
||||||
* Register count does not include registers inside RAM blocks or DSP blocks.
|
* Register count does not include registers inside RAM blocks or DSP blocks.
|
||||||
|
|
||||||
|
@ -757,19 +757,19 @@ The pin-out file can be found in /home/tiagorg/repos/uaveiro-leci/1ano/2semestre
|
||||||
+---------------------------------------------+-----------------------+--------------------------------+
|
+---------------------------------------------+-----------------------+--------------------------------+
|
||||||
; Difficulty Clustering Region ; Low ; Low ;
|
; Difficulty Clustering Region ; Low ; Low ;
|
||||||
; ; ; ;
|
; ; ; ;
|
||||||
; Total logic elements ; 78 / 114480 ( < 1 % ) ; 0 / 114480 ( 0 % ) ;
|
; Total logic elements ; 76 / 114480 ( < 1 % ) ; 0 / 114480 ( 0 % ) ;
|
||||||
; -- Combinational with no register ; 28 ; 0 ;
|
; -- Combinational with no register ; 26 ; 0 ;
|
||||||
; -- Register only ; 1 ; 0 ;
|
; -- Register only ; 1 ; 0 ;
|
||||||
; -- Combinational with a register ; 49 ; 0 ;
|
; -- Combinational with a register ; 49 ; 0 ;
|
||||||
; ; ; ;
|
; ; ; ;
|
||||||
; Logic element usage by number of LUT inputs ; ; ;
|
; Logic element usage by number of LUT inputs ; ; ;
|
||||||
; -- 4 input functions ; 12 ; 0 ;
|
; -- 4 input functions ; 15 ; 0 ;
|
||||||
; -- 3 input functions ; 21 ; 0 ;
|
; -- 3 input functions ; 27 ; 0 ;
|
||||||
; -- <=2 input functions ; 44 ; 0 ;
|
; -- <=2 input functions ; 33 ; 0 ;
|
||||||
; -- Register only ; 1 ; 0 ;
|
; -- Register only ; 1 ; 0 ;
|
||||||
; ; ; ;
|
; ; ; ;
|
||||||
; Logic elements by mode ; ; ;
|
; Logic elements by mode ; ; ;
|
||||||
; -- normal mode ; 30 ; 0 ;
|
; -- normal mode ; 28 ; 0 ;
|
||||||
; -- arithmetic mode ; 47 ; 0 ;
|
; -- arithmetic mode ; 47 ; 0 ;
|
||||||
; ; ; ;
|
; ; ; ;
|
||||||
; Total registers ; 50 ; 0 ;
|
; Total registers ; 50 ; 0 ;
|
||||||
|
@ -792,8 +792,8 @@ The pin-out file can be found in /home/tiagorg/repos/uaveiro-leci/1ano/2semestre
|
||||||
; -- Registered Output Connections ; 0 ; 0 ;
|
; -- Registered Output Connections ; 0 ; 0 ;
|
||||||
; ; ; ;
|
; ; ; ;
|
||||||
; Internal Connections ; ; ;
|
; Internal Connections ; ; ;
|
||||||
; -- Total Connections ; 389 ; 5 ;
|
; -- Total Connections ; 396 ; 5 ;
|
||||||
; -- Registered Connections ; 112 ; 0 ;
|
; -- Registered Connections ; 113 ; 0 ;
|
||||||
; ; ; ;
|
; ; ; ;
|
||||||
; External Connections ; ; ;
|
; External Connections ; ; ;
|
||||||
; -- Top ; 0 ; 0 ;
|
; -- Top ; 0 ; 0 ;
|
||||||
|
@ -1749,10 +1749,10 @@ Note: Pin directions (input, output or bidir) are based on device operating in u
|
||||||
+----------------------------+-------------+---------------------------+---------------+-------------+------+--------------+---------+-----------+------+--------------+--------------+-------------------+------------------+-------------------------------+-------------+--------------+
|
+----------------------------+-------------+---------------------------+---------------+-------------+------+--------------+---------+-----------+------+--------------+--------------+-------------------+------------------+-------------------------------+-------------+--------------+
|
||||||
; Compilation Hierarchy Node ; Logic Cells ; Dedicated Logic Registers ; I/O Registers ; Memory Bits ; M9Ks ; DSP Elements ; DSP 9x9 ; DSP 18x18 ; Pins ; Virtual Pins ; LUT-Only LCs ; Register-Only LCs ; LUT/Register LCs ; Full Hierarchy Name ; Entity Name ; Library Name ;
|
; Compilation Hierarchy Node ; Logic Cells ; Dedicated Logic Registers ; I/O Registers ; Memory Bits ; M9Ks ; DSP Elements ; DSP 9x9 ; DSP 18x18 ; Pins ; Virtual Pins ; LUT-Only LCs ; Register-Only LCs ; LUT/Register LCs ; Full Hierarchy Name ; Entity Name ; Library Name ;
|
||||||
+----------------------------+-------------+---------------------------+---------------+-------------+------+--------------+---------+-----------+------+--------------+--------------+-------------------+------------------+-------------------------------+-------------+--------------+
|
+----------------------------+-------------+---------------------------+---------------+-------------+------+--------------+---------+-----------+------+--------------+--------------+-------------------+------------------+-------------------------------+-------------+--------------+
|
||||||
; |AccN_Demo ; 78 (0) ; 50 (0) ; 0 (0) ; 0 ; 0 ; 0 ; 0 ; 0 ; 37 ; 0 ; 28 (0) ; 1 (0) ; 49 (0) ; |AccN_Demo ; AccN_Demo ; work ;
|
; |AccN_Demo ; 76 (0) ; 50 (0) ; 0 (0) ; 0 ; 0 ; 0 ; 0 ; 0 ; 37 ; 0 ; 26 (0) ; 1 (0) ; 49 (0) ; |AccN_Demo ; AccN_Demo ; work ;
|
||||||
; |AccN:inst| ; 17 (0) ; 17 (0) ; 0 (0) ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 17 (0) ; |AccN_Demo|AccN:inst ; AccN ; work ;
|
; |AccN:inst| ; 17 (0) ; 17 (0) ; 0 (0) ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 17 (0) ; |AccN_Demo|AccN:inst ; AccN ; work ;
|
||||||
; |RegN:reg| ; 17 (17) ; 17 (17) ; 0 (0) ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 17 (17) ; |AccN_Demo|AccN:inst|RegN:reg ; RegN ; work ;
|
; |RegN:reg| ; 17 (17) ; 17 (17) ; 0 (0) ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 17 (17) ; |AccN_Demo|AccN:inst|RegN:reg ; RegN ; work ;
|
||||||
; |FreqDivider:inst2| ; 61 (61) ; 33 (33) ; 0 (0) ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 28 (28) ; 1 (1) ; 32 (32) ; |AccN_Demo|FreqDivider:inst2 ; FreqDivider ; work ;
|
; |FreqDivider:inst2| ; 59 (59) ; 33 (33) ; 0 (0) ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 26 (26) ; 1 (1) ; 32 (32) ; |AccN_Demo|FreqDivider:inst2 ; FreqDivider ; work ;
|
||||||
+----------------------------+-------------+---------------------------+---------------+-------------+------+--------------+---------+-----------+------+--------------+--------------+-------------------+------------------+-------------------------------+-------------+--------------+
|
+----------------------------+-------------+---------------------------+---------------+-------------+------+--------------+---------+-----------+------+--------------+--------------+-------------------+------------------+-------------------------------+-------------+--------------+
|
||||||
Note: For table entries with two numbers listed, the numbers in parentheses indicate the number of resources of the given type used by the specific entity alone. The numbers listed outside of parentheses indicate the total resources of the given type used by the specific entity and all of its sub-entities in the hierarchy.
|
Note: For table entries with two numbers listed, the numbers in parentheses indicate the number of resources of the given type used by the specific entity alone. The numbers listed outside of parentheses indicate the total resources of the given type used by the specific entity and all of its sub-entities in the hierarchy.
|
||||||
|
|
||||||
|
@ -1881,48 +1881,48 @@ Note: For table entries with two numbers listed, the numbers in parentheses indi
|
||||||
+------------------------------------------+-------------------+---------+
|
+------------------------------------------+-------------------+---------+
|
||||||
|
|
||||||
|
|
||||||
+--------------------------------------------------------------------------------------------------------------------------------------------------+
|
+---------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||||
; Control Signals ;
|
; Control Signals ;
|
||||||
+--------------------------+---------------+---------+--------------+--------+----------------------+------------------+---------------------------+
|
+--------------------------+----------------+---------+--------------+--------+----------------------+------------------+---------------------------+
|
||||||
; Name ; Location ; Fan-Out ; Usage ; Global ; Global Resource Used ; Global Line Name ; Enable Signal Source Name ;
|
; Name ; Location ; Fan-Out ; Usage ; Global ; Global Resource Used ; Global Line Name ; Enable Signal Source Name ;
|
||||||
+--------------------------+---------------+---------+--------------+--------+----------------------+------------------+---------------------------+
|
+--------------------------+----------------+---------+--------------+--------+----------------------+------------------+---------------------------+
|
||||||
; CLOCK_50 ; PIN_Y2 ; 33 ; Clock ; yes ; Global Clock ; GCLK4 ; -- ;
|
; CLOCK_50 ; PIN_Y2 ; 33 ; Clock ; yes ; Global Clock ; GCLK4 ; -- ;
|
||||||
; FreqDivider:inst2|clkOut ; FF_X23_Y36_N3 ; 17 ; Clock ; yes ; Global Clock ; GCLK0 ; -- ;
|
; FreqDivider:inst2|clkOut ; FF_X56_Y71_N23 ; 17 ; Clock ; yes ; Global Clock ; GCLK12 ; -- ;
|
||||||
; KEY[1] ; PIN_M21 ; 17 ; Async. clear ; no ; -- ; -- ; -- ;
|
; KEY[1] ; PIN_M21 ; 17 ; Async. clear ; no ; -- ; -- ; -- ;
|
||||||
; SW[17] ; PIN_Y23 ; 17 ; Clock enable ; no ; -- ; -- ; -- ;
|
; SW[17] ; PIN_Y23 ; 17 ; Clock enable ; no ; -- ; -- ; -- ;
|
||||||
+--------------------------+---------------+---------+--------------+--------+----------------------+------------------+---------------------------+
|
+--------------------------+----------------+---------+--------------+--------+----------------------+------------------+---------------------------+
|
||||||
|
|
||||||
|
|
||||||
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||||
; Global & Other Fast Signals ;
|
; Global & Other Fast Signals ;
|
||||||
+--------------------------+---------------+---------+--------------------------------------+----------------------+------------------+---------------------------+
|
+--------------------------+----------------+---------+--------------------------------------+----------------------+------------------+---------------------------+
|
||||||
; Name ; Location ; Fan-Out ; Fan-Out Using Intentional Clock Skew ; Global Resource Used ; Global Line Name ; Enable Signal Source Name ;
|
; Name ; Location ; Fan-Out ; Fan-Out Using Intentional Clock Skew ; Global Resource Used ; Global Line Name ; Enable Signal Source Name ;
|
||||||
+--------------------------+---------------+---------+--------------------------------------+----------------------+------------------+---------------------------+
|
+--------------------------+----------------+---------+--------------------------------------+----------------------+------------------+---------------------------+
|
||||||
; CLOCK_50 ; PIN_Y2 ; 33 ; 1 ; Global Clock ; GCLK4 ; -- ;
|
; CLOCK_50 ; PIN_Y2 ; 33 ; 0 ; Global Clock ; GCLK4 ; -- ;
|
||||||
; FreqDivider:inst2|clkOut ; FF_X23_Y36_N3 ; 17 ; 7 ; Global Clock ; GCLK0 ; -- ;
|
; FreqDivider:inst2|clkOut ; FF_X56_Y71_N23 ; 17 ; 9 ; Global Clock ; GCLK12 ; -- ;
|
||||||
+--------------------------+---------------+---------+--------------------------------------+----------------------+------------------+---------------------------+
|
+--------------------------+----------------+---------+--------------------------------------+----------------------+------------------+---------------------------+
|
||||||
|
|
||||||
|
|
||||||
+------------------------------------------------+
|
+-------------------------------------------------+
|
||||||
; Routing Usage Summary ;
|
; Routing Usage Summary ;
|
||||||
+-----------------------+------------------------+
|
+-----------------------+-------------------------+
|
||||||
; Routing Resource Type ; Usage ;
|
; Routing Resource Type ; Usage ;
|
||||||
+-----------------------+------------------------+
|
+-----------------------+-------------------------+
|
||||||
; Block interconnects ; 92 / 342,891 ( < 1 % ) ;
|
; Block interconnects ; 89 / 342,891 ( < 1 % ) ;
|
||||||
; C16 interconnects ; 66 / 10,120 ( < 1 % ) ;
|
; C16 interconnects ; 65 / 10,120 ( < 1 % ) ;
|
||||||
; C4 interconnects ; 99 / 209,544 ( < 1 % ) ;
|
; C4 interconnects ; 104 / 209,544 ( < 1 % ) ;
|
||||||
; Direct links ; 27 / 342,891 ( < 1 % ) ;
|
; Direct links ; 29 / 342,891 ( < 1 % ) ;
|
||||||
; Global clocks ; 2 / 20 ( 10 % ) ;
|
; Global clocks ; 2 / 20 ( 10 % ) ;
|
||||||
; Local interconnects ; 62 / 119,088 ( < 1 % ) ;
|
; Local interconnects ; 61 / 119,088 ( < 1 % ) ;
|
||||||
; R24 interconnects ; 42 / 9,963 ( < 1 % ) ;
|
; R24 interconnects ; 40 / 9,963 ( < 1 % ) ;
|
||||||
; R4 interconnects ; 94 / 289,782 ( < 1 % ) ;
|
; R4 interconnects ; 92 / 289,782 ( < 1 % ) ;
|
||||||
+-----------------------+------------------------+
|
+-----------------------+-------------------------+
|
||||||
|
|
||||||
|
|
||||||
+---------------------------------------------------------------------------+
|
+---------------------------------------------------------------------------+
|
||||||
; LAB Logic Elements ;
|
; LAB Logic Elements ;
|
||||||
+---------------------------------------------+-----------------------------+
|
+---------------------------------------------+-----------------------------+
|
||||||
; Number of Logic Elements (Average = 13.00) ; Number of LABs (Total = 6) ;
|
; Number of Logic Elements (Average = 12.67) ; Number of LABs (Total = 6) ;
|
||||||
+---------------------------------------------+-----------------------------+
|
+---------------------------------------------+-----------------------------+
|
||||||
; 1 ; 0 ;
|
; 1 ; 0 ;
|
||||||
; 2 ; 0 ;
|
; 2 ; 0 ;
|
||||||
|
@ -1934,12 +1934,12 @@ Note: For table entries with two numbers listed, the numbers in parentheses indi
|
||||||
; 8 ; 1 ;
|
; 8 ; 1 ;
|
||||||
; 9 ; 1 ;
|
; 9 ; 1 ;
|
||||||
; 10 ; 0 ;
|
; 10 ; 0 ;
|
||||||
; 11 ; 0 ;
|
; 11 ; 1 ;
|
||||||
; 12 ; 0 ;
|
; 12 ; 0 ;
|
||||||
; 13 ; 0 ;
|
; 13 ; 0 ;
|
||||||
; 14 ; 1 ;
|
; 14 ; 0 ;
|
||||||
; 15 ; 1 ;
|
; 15 ; 0 ;
|
||||||
; 16 ; 2 ;
|
; 16 ; 3 ;
|
||||||
+---------------------------------------------+-----------------------------+
|
+---------------------------------------------+-----------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
@ -1957,7 +1957,7 @@ Note: For table entries with two numbers listed, the numbers in parentheses indi
|
||||||
+----------------------------------------------------------------------------+
|
+----------------------------------------------------------------------------+
|
||||||
; LAB Signals Sourced ;
|
; LAB Signals Sourced ;
|
||||||
+----------------------------------------------+-----------------------------+
|
+----------------------------------------------+-----------------------------+
|
||||||
; Number of Signals Sourced (Average = 21.33) ; Number of LABs (Total = 6) ;
|
; Number of Signals Sourced (Average = 20.83) ; Number of LABs (Total = 6) ;
|
||||||
+----------------------------------------------+-----------------------------+
|
+----------------------------------------------+-----------------------------+
|
||||||
; 0 ; 0 ;
|
; 0 ; 0 ;
|
||||||
; 1 ; 0 ;
|
; 1 ; 0 ;
|
||||||
|
@ -1975,10 +1975,10 @@ Note: For table entries with two numbers listed, the numbers in parentheses indi
|
||||||
; 13 ; 0 ;
|
; 13 ; 0 ;
|
||||||
; 14 ; 0 ;
|
; 14 ; 0 ;
|
||||||
; 15 ; 0 ;
|
; 15 ; 0 ;
|
||||||
; 16 ; 1 ;
|
; 16 ; 2 ;
|
||||||
; 17 ; 0 ;
|
; 17 ; 0 ;
|
||||||
; 18 ; 1 ;
|
; 18 ; 1 ;
|
||||||
; 19 ; 1 ;
|
; 19 ; 0 ;
|
||||||
; 20 ; 0 ;
|
; 20 ; 0 ;
|
||||||
; 21 ; 0 ;
|
; 21 ; 0 ;
|
||||||
; 22 ; 1 ;
|
; 22 ; 1 ;
|
||||||
|
@ -1993,7 +1993,7 @@ Note: For table entries with two numbers listed, the numbers in parentheses indi
|
||||||
+--------------------------------------------------------------------------------+
|
+--------------------------------------------------------------------------------+
|
||||||
; LAB Signals Sourced Out ;
|
; LAB Signals Sourced Out ;
|
||||||
+--------------------------------------------------+-----------------------------+
|
+--------------------------------------------------+-----------------------------+
|
||||||
; Number of Signals Sourced Out (Average = 10.83) ; Number of LABs (Total = 6) ;
|
; Number of Signals Sourced Out (Average = 10.50) ; Number of LABs (Total = 6) ;
|
||||||
+--------------------------------------------------+-----------------------------+
|
+--------------------------------------------------+-----------------------------+
|
||||||
; 0 ; 0 ;
|
; 0 ; 0 ;
|
||||||
; 1 ; 0 ;
|
; 1 ; 0 ;
|
||||||
|
@ -2001,9 +2001,9 @@ Note: For table entries with two numbers listed, the numbers in parentheses indi
|
||||||
; 3 ; 0 ;
|
; 3 ; 0 ;
|
||||||
; 4 ; 0 ;
|
; 4 ; 0 ;
|
||||||
; 5 ; 0 ;
|
; 5 ; 0 ;
|
||||||
; 6 ; 0 ;
|
; 6 ; 1 ;
|
||||||
; 7 ; 0 ;
|
; 7 ; 0 ;
|
||||||
; 8 ; 3 ;
|
; 8 ; 2 ;
|
||||||
; 9 ; 1 ;
|
; 9 ; 1 ;
|
||||||
; 10 ; 0 ;
|
; 10 ; 0 ;
|
||||||
; 11 ; 0 ;
|
; 11 ; 0 ;
|
||||||
|
@ -2018,7 +2018,7 @@ Note: For table entries with two numbers listed, the numbers in parentheses indi
|
||||||
+----------------------------------------------------------------------------+
|
+----------------------------------------------------------------------------+
|
||||||
; LAB Distinct Inputs ;
|
; LAB Distinct Inputs ;
|
||||||
+----------------------------------------------+-----------------------------+
|
+----------------------------------------------+-----------------------------+
|
||||||
; Number of Distinct Inputs (Average = 12.67) ; Number of LABs (Total = 6) ;
|
; Number of Distinct Inputs (Average = 12.33) ; Number of LABs (Total = 6) ;
|
||||||
+----------------------------------------------+-----------------------------+
|
+----------------------------------------------+-----------------------------+
|
||||||
; 0 ; 0 ;
|
; 0 ; 0 ;
|
||||||
; 1 ; 0 ;
|
; 1 ; 0 ;
|
||||||
|
@ -2035,9 +2035,9 @@ Note: For table entries with two numbers listed, the numbers in parentheses indi
|
||||||
; 12 ; 0 ;
|
; 12 ; 0 ;
|
||||||
; 13 ; 1 ;
|
; 13 ; 1 ;
|
||||||
; 14 ; 0 ;
|
; 14 ; 0 ;
|
||||||
; 15 ; 0 ;
|
; 15 ; 1 ;
|
||||||
; 16 ; 0 ;
|
; 16 ; 0 ;
|
||||||
; 17 ; 1 ;
|
; 17 ; 0 ;
|
||||||
; 18 ; 0 ;
|
; 18 ; 0 ;
|
||||||
; 19 ; 0 ;
|
; 19 ; 0 ;
|
||||||
; 20 ; 0 ;
|
; 20 ; 0 ;
|
||||||
|
@ -2198,39 +2198,39 @@ This will disable optimization of problematic paths and expose them for further
|
||||||
+---------------------------------+--------------------------+-------------------+
|
+---------------------------------+--------------------------+-------------------+
|
||||||
; Source Register ; Destination Register ; Delay Added in ns ;
|
; Source Register ; Destination Register ; Delay Added in ns ;
|
||||||
+---------------------------------+--------------------------+-------------------+
|
+---------------------------------+--------------------------+-------------------+
|
||||||
; FreqDivider:inst2|clkOut ; FreqDivider:inst2|clkOut ; 4.200 ;
|
; FreqDivider:inst2|clkOut ; FreqDivider:inst2|clkOut ; 4.173 ;
|
||||||
; FreqDivider:inst2|s_counter[31] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[31] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[30] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[30] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[29] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[29] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[28] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[28] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[27] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[27] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[26] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[25] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[24] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[24] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[23] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[23] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[22] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[22] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[21] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[21] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[20] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[20] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[19] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[19] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[25] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[18] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[17] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[17] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[16] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[16] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[15] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[15] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[14] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[14] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[18] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[13] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[13] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[26] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[12] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[12] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[11] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[11] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[9] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[9] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[8] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[8] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[7] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[7] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[6] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[6] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[5] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[5] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[4] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[4] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[3] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[3] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[2] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[2] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[1] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[1] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[0] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[0] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
; FreqDivider:inst2|s_counter[10] ; FreqDivider:inst2|clkOut ; 1.751 ;
|
; FreqDivider:inst2|s_counter[10] ; FreqDivider:inst2|clkOut ; 1.574 ;
|
||||||
+---------------------------------+--------------------------+-------------------+
|
+---------------------------------+--------------------------+-------------------+
|
||||||
Note: This table only shows the top 33 path(s) that have the largest delay added for hold.
|
Note: This table only shows the top 33 path(s) that have the largest delay added for hold.
|
||||||
|
|
||||||
|
@ -2765,7 +2765,7 @@ Info (170189): Fitter placement preparation operations beginning
|
||||||
Info (170190): Fitter placement preparation operations ending: elapsed time is 00:00:00
|
Info (170190): Fitter placement preparation operations ending: elapsed time is 00:00:00
|
||||||
Info (170191): Fitter placement operations beginning
|
Info (170191): Fitter placement operations beginning
|
||||||
Info (170137): Fitter placement was successful
|
Info (170137): Fitter placement was successful
|
||||||
Info (170192): Fitter placement operations ending: elapsed time is 00:00:02
|
Info (170192): Fitter placement operations ending: elapsed time is 00:00:03
|
||||||
Info (170193): Fitter routing operations beginning
|
Info (170193): Fitter routing operations beginning
|
||||||
Info (170195): Router estimated average interconnect usage is 0% of the available device resources
|
Info (170195): Router estimated average interconnect usage is 0% of the available device resources
|
||||||
Info (170196): Router estimated peak interconnect usage is 1% of the available device resources in the region that extends from location X104_Y37 to location X115_Y48
|
Info (170196): Router estimated peak interconnect usage is 1% of the available device resources in the region that extends from location X104_Y37 to location X115_Y48
|
||||||
|
@ -2777,13 +2777,13 @@ Info (334003): Started post-fitting delay annotation
|
||||||
Info (334004): Delay annotation completed successfully
|
Info (334004): Delay annotation completed successfully
|
||||||
Info (334003): Started post-fitting delay annotation
|
Info (334003): Started post-fitting delay annotation
|
||||||
Info (334004): Delay annotation completed successfully
|
Info (334004): Delay annotation completed successfully
|
||||||
Info (11218): Fitter post-fit operations ending: elapsed time is 00:00:00
|
Info (11218): Fitter post-fit operations ending: elapsed time is 00:00:01
|
||||||
Warning (171167): Found invalid Fitter assignments. See the Ignored Assignments panel in the Fitter Compilation Report for more information.
|
Warning (171167): Found invalid Fitter assignments. See the Ignored Assignments panel in the Fitter Compilation Report for more information.
|
||||||
Info (144001): Generated suppressed messages file /home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/output_files/AccN_Demo.fit.smsg
|
Info (144001): Generated suppressed messages file /home/tiagorg/repos/uaveiro-leci/1ano/2semestre/lsd/pratica05/AccN_Demo/output_files/AccN_Demo.fit.smsg
|
||||||
Info: Quartus Prime Fitter was successful. 0 errors, 488 warnings
|
Info: Quartus Prime Fitter was successful. 0 errors, 488 warnings
|
||||||
Info: Peak virtual memory: 1158 megabytes
|
Info: Peak virtual memory: 1160 megabytes
|
||||||
Info: Processing ended: Wed Mar 22 12:51:06 2023
|
Info: Processing ended: Tue Mar 28 15:22:08 2023
|
||||||
Info: Elapsed time: 00:00:08
|
Info: Elapsed time: 00:00:09
|
||||||
Info: Total CPU time (on all processors): 00:00:14
|
Info: Total CPU time (on all processors): 00:00:14
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
Fitter Status : Successful - Wed Mar 22 12:51:06 2023
|
Fitter Status : Successful - Tue Mar 28 15:22:08 2023
|
||||||
Quartus Prime Version : 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
Quartus Prime Version : 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
||||||
Revision Name : AccN_Demo
|
Revision Name : AccN_Demo
|
||||||
Top-level Entity Name : AccN_Demo
|
Top-level Entity Name : AccN_Demo
|
||||||
Family : Cyclone IV E
|
Family : Cyclone IV E
|
||||||
Device : EP4CE115F29C7
|
Device : EP4CE115F29C7
|
||||||
Timing Models : Final
|
Timing Models : Final
|
||||||
Total logic elements : 78 / 114,480 ( < 1 % )
|
Total logic elements : 76 / 114,480 ( < 1 % )
|
||||||
Total combinational functions : 77 / 114,480 ( < 1 % )
|
Total combinational functions : 75 / 114,480 ( < 1 % )
|
||||||
Dedicated logic registers : 50 / 114,480 ( < 1 % )
|
Dedicated logic registers : 50 / 114,480 ( < 1 % )
|
||||||
Total registers : 50
|
Total registers : 50
|
||||||
Total pins : 37 / 529 ( 7 % )
|
Total pins : 37 / 529 ( 7 % )
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
Flow report for AccN_Demo
|
Flow report for AccN_Demo
|
||||||
Wed Mar 22 12:51:10 2023
|
Tue Mar 28 15:22:13 2023
|
||||||
Quartus Prime Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
Quartus Prime Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
||||||
|
|
||||||
|
|
||||||
|
@ -41,15 +41,15 @@ https://fpgasoftware.intel.com/eula.
|
||||||
+----------------------------------------------------------------------------------+
|
+----------------------------------------------------------------------------------+
|
||||||
; Flow Summary ;
|
; Flow Summary ;
|
||||||
+------------------------------------+---------------------------------------------+
|
+------------------------------------+---------------------------------------------+
|
||||||
; Flow Status ; Successful - Wed Mar 22 12:51:10 2023 ;
|
; Flow Status ; Successful - Tue Mar 28 15:22:13 2023 ;
|
||||||
; Quartus Prime Version ; 20.1.1 Build 720 11/11/2020 SJ Lite Edition ;
|
; Quartus Prime Version ; 20.1.1 Build 720 11/11/2020 SJ Lite Edition ;
|
||||||
; Revision Name ; AccN_Demo ;
|
; Revision Name ; AccN_Demo ;
|
||||||
; Top-level Entity Name ; AccN_Demo ;
|
; Top-level Entity Name ; AccN_Demo ;
|
||||||
; Family ; Cyclone IV E ;
|
; Family ; Cyclone IV E ;
|
||||||
; Device ; EP4CE115F29C7 ;
|
; Device ; EP4CE115F29C7 ;
|
||||||
; Timing Models ; Final ;
|
; Timing Models ; Final ;
|
||||||
; Total logic elements ; 78 / 114,480 ( < 1 % ) ;
|
; Total logic elements ; 76 / 114,480 ( < 1 % ) ;
|
||||||
; Total combinational functions ; 77 / 114,480 ( < 1 % ) ;
|
; Total combinational functions ; 75 / 114,480 ( < 1 % ) ;
|
||||||
; Dedicated logic registers ; 50 / 114,480 ( < 1 % ) ;
|
; Dedicated logic registers ; 50 / 114,480 ( < 1 % ) ;
|
||||||
; Total registers ; 50 ;
|
; Total registers ; 50 ;
|
||||||
; Total pins ; 37 / 529 ( 7 % ) ;
|
; Total pins ; 37 / 529 ( 7 % ) ;
|
||||||
|
@ -65,7 +65,7 @@ https://fpgasoftware.intel.com/eula.
|
||||||
+-------------------+---------------------+
|
+-------------------+---------------------+
|
||||||
; Option ; Setting ;
|
; Option ; Setting ;
|
||||||
+-------------------+---------------------+
|
+-------------------+---------------------+
|
||||||
; Start date & time ; 03/22/2023 12:50:52 ;
|
; Start date & time ; 03/28/2023 15:21:53 ;
|
||||||
; Main task ; Compilation ;
|
; Main task ; Compilation ;
|
||||||
; Revision Name ; AccN_Demo ;
|
; Revision Name ; AccN_Demo ;
|
||||||
+-------------------+---------------------+
|
+-------------------+---------------------+
|
||||||
|
@ -76,7 +76,7 @@ https://fpgasoftware.intel.com/eula.
|
||||||
+-------------------------------------+----------------------------------------+---------------+-------------+-----------------------------------+
|
+-------------------------------------+----------------------------------------+---------------+-------------+-----------------------------------+
|
||||||
; Assignment Name ; Value ; Default Value ; Entity Name ; Section Id ;
|
; Assignment Name ; Value ; Default Value ; Entity Name ; Section Id ;
|
||||||
+-------------------------------------+----------------------------------------+---------------+-------------+-----------------------------------+
|
+-------------------------------------+----------------------------------------+---------------+-------------+-----------------------------------+
|
||||||
; COMPILER_SIGNATURE_ID ; 198516037997543.167948945207130 ; -- ; -- ; -- ;
|
; COMPILER_SIGNATURE_ID ; 198516037997543.168001331303800 ; -- ; -- ; -- ;
|
||||||
; EDA_GENERATE_FUNCTIONAL_NETLIST ; Off ; -- ; -- ; eda_board_design_timing ;
|
; EDA_GENERATE_FUNCTIONAL_NETLIST ; Off ; -- ; -- ; eda_board_design_timing ;
|
||||||
; EDA_GENERATE_FUNCTIONAL_NETLIST ; Off ; -- ; -- ; eda_board_design_boundary_scan ;
|
; EDA_GENERATE_FUNCTIONAL_NETLIST ; Off ; -- ; -- ; eda_board_design_boundary_scan ;
|
||||||
; EDA_GENERATE_FUNCTIONAL_NETLIST ; Off ; -- ; -- ; eda_board_design_signal_integrity ;
|
; EDA_GENERATE_FUNCTIONAL_NETLIST ; Off ; -- ; -- ; eda_board_design_signal_integrity ;
|
||||||
|
@ -101,12 +101,12 @@ https://fpgasoftware.intel.com/eula.
|
||||||
+----------------------+--------------+-------------------------+---------------------+------------------------------------+
|
+----------------------+--------------+-------------------------+---------------------+------------------------------------+
|
||||||
; Module Name ; Elapsed Time ; Average Processors Used ; Peak Virtual Memory ; Total CPU Time (on all processors) ;
|
; Module Name ; Elapsed Time ; Average Processors Used ; Peak Virtual Memory ; Total CPU Time (on all processors) ;
|
||||||
+----------------------+--------------+-------------------------+---------------------+------------------------------------+
|
+----------------------+--------------+-------------------------+---------------------+------------------------------------+
|
||||||
; Analysis & Synthesis ; 00:00:05 ; 1.0 ; 451 MB ; 00:00:13 ;
|
; Analysis & Synthesis ; 00:00:06 ; 1.0 ; 447 MB ; 00:00:13 ;
|
||||||
; Fitter ; 00:00:08 ; 1.0 ; 1158 MB ; 00:00:13 ;
|
; Fitter ; 00:00:09 ; 1.0 ; 1160 MB ; 00:00:14 ;
|
||||||
; Assembler ; 00:00:02 ; 1.0 ; 367 MB ; 00:00:02 ;
|
; Assembler ; 00:00:01 ; 1.0 ; 367 MB ; 00:00:02 ;
|
||||||
; Timing Analyzer ; 00:00:01 ; 1.0 ; 537 MB ; 00:00:01 ;
|
; Timing Analyzer ; 00:00:01 ; 1.0 ; 537 MB ; 00:00:01 ;
|
||||||
; EDA Netlist Writer ; 00:00:00 ; 1.0 ; 612 MB ; 00:00:00 ;
|
; EDA Netlist Writer ; 00:00:01 ; 1.0 ; 612 MB ; 00:00:00 ;
|
||||||
; Total ; 00:00:16 ; -- ; -- ; 00:00:29 ;
|
; Total ; 00:00:18 ; -- ; -- ; 00:00:30 ;
|
||||||
+----------------------+--------------+-------------------------+---------------------+------------------------------------+
|
+----------------------+--------------+-------------------------+---------------------+------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
Analysis & Synthesis report for AccN_Demo
|
Analysis & Synthesis report for AccN_Demo
|
||||||
Wed Mar 22 12:50:57 2023
|
Tue Mar 28 15:21:59 2023
|
||||||
Quartus Prime Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
Quartus Prime Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
||||||
|
|
||||||
|
|
||||||
|
@ -46,13 +46,13 @@ https://fpgasoftware.intel.com/eula.
|
||||||
+----------------------------------------------------------------------------------+
|
+----------------------------------------------------------------------------------+
|
||||||
; Analysis & Synthesis Summary ;
|
; Analysis & Synthesis Summary ;
|
||||||
+------------------------------------+---------------------------------------------+
|
+------------------------------------+---------------------------------------------+
|
||||||
; Analysis & Synthesis Status ; Successful - Wed Mar 22 12:50:57 2023 ;
|
; Analysis & Synthesis Status ; Successful - Tue Mar 28 15:21:59 2023 ;
|
||||||
; Quartus Prime Version ; 20.1.1 Build 720 11/11/2020 SJ Lite Edition ;
|
; Quartus Prime Version ; 20.1.1 Build 720 11/11/2020 SJ Lite Edition ;
|
||||||
; Revision Name ; AccN_Demo ;
|
; Revision Name ; AccN_Demo ;
|
||||||
; Top-level Entity Name ; AccN_Demo ;
|
; Top-level Entity Name ; AccN_Demo ;
|
||||||
; Family ; Cyclone IV E ;
|
; Family ; Cyclone IV E ;
|
||||||
; Total logic elements ; 77 ;
|
; Total logic elements ; 75 ;
|
||||||
; Total combinational functions ; 77 ;
|
; Total combinational functions ; 75 ;
|
||||||
; Dedicated logic registers ; 50 ;
|
; Dedicated logic registers ; 50 ;
|
||||||
; Total registers ; 50 ;
|
; Total registers ; 50 ;
|
||||||
; Total pins ; 37 ;
|
; Total pins ; 37 ;
|
||||||
|
@ -185,16 +185,16 @@ https://fpgasoftware.intel.com/eula.
|
||||||
+---------------------------------------------+----------------+
|
+---------------------------------------------+----------------+
|
||||||
; Resource ; Usage ;
|
; Resource ; Usage ;
|
||||||
+---------------------------------------------+----------------+
|
+---------------------------------------------+----------------+
|
||||||
; Estimated Total logic elements ; 77 ;
|
; Estimated Total logic elements ; 75 ;
|
||||||
; ; ;
|
; ; ;
|
||||||
; Total combinational functions ; 77 ;
|
; Total combinational functions ; 75 ;
|
||||||
; Logic element usage by number of LUT inputs ; ;
|
; Logic element usage by number of LUT inputs ; ;
|
||||||
; -- 4 input functions ; 12 ;
|
; -- 4 input functions ; 15 ;
|
||||||
; -- 3 input functions ; 21 ;
|
; -- 3 input functions ; 27 ;
|
||||||
; -- <=2 input functions ; 44 ;
|
; -- <=2 input functions ; 33 ;
|
||||||
; ; ;
|
; ; ;
|
||||||
; Logic elements by mode ; ;
|
; Logic elements by mode ; ;
|
||||||
; -- normal mode ; 30 ;
|
; -- normal mode ; 28 ;
|
||||||
; -- arithmetic mode ; 47 ;
|
; -- arithmetic mode ; 47 ;
|
||||||
; ; ;
|
; ; ;
|
||||||
; Total registers ; 50 ;
|
; Total registers ; 50 ;
|
||||||
|
@ -207,8 +207,8 @@ https://fpgasoftware.intel.com/eula.
|
||||||
; ; ;
|
; ; ;
|
||||||
; Maximum fan-out node ; CLOCK_50~input ;
|
; Maximum fan-out node ; CLOCK_50~input ;
|
||||||
; Maximum fan-out ; 33 ;
|
; Maximum fan-out ; 33 ;
|
||||||
; Total fan-out ; 386 ;
|
; Total fan-out ; 394 ;
|
||||||
; Average fan-out ; 1.92 ;
|
; Average fan-out ; 1.98 ;
|
||||||
+---------------------------------------------+----------------+
|
+---------------------------------------------+----------------+
|
||||||
|
|
||||||
|
|
||||||
|
@ -217,10 +217,10 @@ https://fpgasoftware.intel.com/eula.
|
||||||
+----------------------------+---------------------+---------------------------+-------------+--------------+---------+-----------+------+--------------+-------------------------------+-------------+--------------+
|
+----------------------------+---------------------+---------------------------+-------------+--------------+---------+-----------+------+--------------+-------------------------------+-------------+--------------+
|
||||||
; Compilation Hierarchy Node ; Combinational ALUTs ; Dedicated Logic Registers ; Memory Bits ; DSP Elements ; DSP 9x9 ; DSP 18x18 ; Pins ; Virtual Pins ; Full Hierarchy Name ; Entity Name ; Library Name ;
|
; Compilation Hierarchy Node ; Combinational ALUTs ; Dedicated Logic Registers ; Memory Bits ; DSP Elements ; DSP 9x9 ; DSP 18x18 ; Pins ; Virtual Pins ; Full Hierarchy Name ; Entity Name ; Library Name ;
|
||||||
+----------------------------+---------------------+---------------------------+-------------+--------------+---------+-----------+------+--------------+-------------------------------+-------------+--------------+
|
+----------------------------+---------------------+---------------------------+-------------+--------------+---------+-----------+------+--------------+-------------------------------+-------------+--------------+
|
||||||
; |AccN_Demo ; 77 (0) ; 50 (0) ; 0 ; 0 ; 0 ; 0 ; 37 ; 0 ; |AccN_Demo ; AccN_Demo ; work ;
|
; |AccN_Demo ; 75 (0) ; 50 (0) ; 0 ; 0 ; 0 ; 0 ; 37 ; 0 ; |AccN_Demo ; AccN_Demo ; work ;
|
||||||
; |AccN:inst| ; 17 (0) ; 17 (0) ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; |AccN_Demo|AccN:inst ; AccN ; work ;
|
; |AccN:inst| ; 17 (0) ; 17 (0) ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; |AccN_Demo|AccN:inst ; AccN ; work ;
|
||||||
; |RegN:reg| ; 17 (17) ; 17 (17) ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; |AccN_Demo|AccN:inst|RegN:reg ; RegN ; work ;
|
; |RegN:reg| ; 17 (17) ; 17 (17) ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; |AccN_Demo|AccN:inst|RegN:reg ; RegN ; work ;
|
||||||
; |FreqDivider:inst2| ; 60 (60) ; 33 (33) ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; |AccN_Demo|FreqDivider:inst2 ; FreqDivider ; work ;
|
; |FreqDivider:inst2| ; 58 (58) ; 33 (33) ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; |AccN_Demo|FreqDivider:inst2 ; FreqDivider ; work ;
|
||||||
+----------------------------+---------------------+---------------------------+-------------+--------------+---------+-----------+------+--------------+-------------------------------+-------------+--------------+
|
+----------------------------+---------------------+---------------------------+-------------+--------------+---------+-----------+------+--------------+-------------------------------+-------------+--------------+
|
||||||
Note: For table entries with two numbers listed, the numbers in parentheses indicate the number of resources of the given type used by the specific entity alone. The numbers listed outside of parentheses indicate the total resources of the given type used by the specific entity and all of its sub-entities in the hierarchy.
|
Note: For table entries with two numbers listed, the numbers in parentheses indicate the number of resources of the given type used by the specific entity alone. The numbers listed outside of parentheses indicate the total resources of the given type used by the specific entity and all of its sub-entities in the hierarchy.
|
||||||
|
|
||||||
|
@ -279,18 +279,18 @@ Note: In order to hide this table in the UI and the text report file, please set
|
||||||
; cycloneiii_ff ; 50 ;
|
; cycloneiii_ff ; 50 ;
|
||||||
; ENA CLR ; 17 ;
|
; ENA CLR ; 17 ;
|
||||||
; plain ; 33 ;
|
; plain ; 33 ;
|
||||||
; cycloneiii_lcell_comb ; 77 ;
|
; cycloneiii_lcell_comb ; 75 ;
|
||||||
; arith ; 47 ;
|
; arith ; 47 ;
|
||||||
; 2 data inputs ; 31 ;
|
; 2 data inputs ; 31 ;
|
||||||
; 3 data inputs ; 16 ;
|
; 3 data inputs ; 16 ;
|
||||||
; normal ; 30 ;
|
; normal ; 28 ;
|
||||||
; 1 data inputs ; 1 ;
|
; 1 data inputs ; 1 ;
|
||||||
; 2 data inputs ; 12 ;
|
; 2 data inputs ; 1 ;
|
||||||
; 3 data inputs ; 5 ;
|
; 3 data inputs ; 11 ;
|
||||||
; 4 data inputs ; 12 ;
|
; 4 data inputs ; 15 ;
|
||||||
; ; ;
|
; ; ;
|
||||||
; Max LUT depth ; 4.40 ;
|
; Max LUT depth ; 4.50 ;
|
||||||
; Average LUT depth ; 3.08 ;
|
; Average LUT depth ; 3.02 ;
|
||||||
+-----------------------+-----------------------------+
|
+-----------------------+-----------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
@ -309,7 +309,7 @@ Note: In order to hide this table in the UI and the text report file, please set
|
||||||
Info: *******************************************************************
|
Info: *******************************************************************
|
||||||
Info: Running Quartus Prime Analysis & Synthesis
|
Info: Running Quartus Prime Analysis & Synthesis
|
||||||
Info: Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
Info: Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
||||||
Info: Processing started: Wed Mar 22 12:50:52 2023
|
Info: Processing started: Tue Mar 28 15:21:53 2023
|
||||||
Info: Command: quartus_map --read_settings_files=on --write_settings_files=off AccN_Demo -c AccN_Demo
|
Info: Command: quartus_map --read_settings_files=on --write_settings_files=off AccN_Demo -c AccN_Demo
|
||||||
Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance.
|
Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance.
|
||||||
Info (20030): Parallel compilation is enabled and will use 4 of the 4 processors detected
|
Info (20030): Parallel compilation is enabled and will use 4 of the 4 processors detected
|
||||||
|
@ -335,14 +335,14 @@ Info (12128): Elaborating entity "FreqDivider" for hierarchy "FreqDivider:inst2"
|
||||||
Info (286030): Timing-Driven Synthesis is running
|
Info (286030): Timing-Driven Synthesis is running
|
||||||
Info (16010): Generating hard_block partition "hard_block:auto_generated_inst"
|
Info (16010): Generating hard_block partition "hard_block:auto_generated_inst"
|
||||||
Info (16011): Adding 0 node(s), including 0 DDIO, 0 PLL, 0 transceiver and 0 LCELL
|
Info (16011): Adding 0 node(s), including 0 DDIO, 0 PLL, 0 transceiver and 0 LCELL
|
||||||
Info (21057): Implemented 114 device resources after synthesis - the final resource count might be different
|
Info (21057): Implemented 112 device resources after synthesis - the final resource count might be different
|
||||||
Info (21058): Implemented 20 input pins
|
Info (21058): Implemented 20 input pins
|
||||||
Info (21059): Implemented 17 output pins
|
Info (21059): Implemented 17 output pins
|
||||||
Info (21061): Implemented 77 logic cells
|
Info (21061): Implemented 75 logic cells
|
||||||
Info: Quartus Prime Analysis & Synthesis was successful. 0 errors, 1 warning
|
Info: Quartus Prime Analysis & Synthesis was successful. 0 errors, 1 warning
|
||||||
Info: Peak virtual memory: 456 megabytes
|
Info: Peak virtual memory: 453 megabytes
|
||||||
Info: Processing ended: Wed Mar 22 12:50:57 2023
|
Info: Processing ended: Tue Mar 28 15:21:59 2023
|
||||||
Info: Elapsed time: 00:00:05
|
Info: Elapsed time: 00:00:06
|
||||||
Info: Total CPU time (on all processors): 00:00:13
|
Info: Total CPU time (on all processors): 00:00:13
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
Analysis & Synthesis Status : Successful - Wed Mar 22 12:50:57 2023
|
Analysis & Synthesis Status : Successful - Tue Mar 28 15:21:59 2023
|
||||||
Quartus Prime Version : 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
Quartus Prime Version : 20.1.1 Build 720 11/11/2020 SJ Lite Edition
|
||||||
Revision Name : AccN_Demo
|
Revision Name : AccN_Demo
|
||||||
Top-level Entity Name : AccN_Demo
|
Top-level Entity Name : AccN_Demo
|
||||||
Family : Cyclone IV E
|
Family : Cyclone IV E
|
||||||
Total logic elements : 77
|
Total logic elements : 75
|
||||||
Total combinational functions : 77
|
Total combinational functions : 75
|
||||||
Dedicated logic registers : 50
|
Dedicated logic registers : 50
|
||||||
Total registers : 50
|
Total registers : 50
|
||||||
Total pins : 37
|
Total pins : 37
|
||||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -3,19 +3,19 @@ Timing Analyzer Summary
|
||||||
------------------------------------------------------------
|
------------------------------------------------------------
|
||||||
|
|
||||||
Type : Slow 1200mV 85C Model Setup 'CLOCK_50'
|
Type : Slow 1200mV 85C Model Setup 'CLOCK_50'
|
||||||
Slack : -4.190
|
Slack : -4.308
|
||||||
TNS : -78.512
|
TNS : -65.920
|
||||||
|
|
||||||
Type : Slow 1200mV 85C Model Setup 'FreqDivider:inst2|clkOut'
|
Type : Slow 1200mV 85C Model Setup 'FreqDivider:inst2|clkOut'
|
||||||
Slack : -1.348
|
Slack : -1.349
|
||||||
TNS : -17.156
|
TNS : -16.351
|
||||||
|
|
||||||
Type : Slow 1200mV 85C Model Hold 'FreqDivider:inst2|clkOut'
|
Type : Slow 1200mV 85C Model Hold 'FreqDivider:inst2|clkOut'
|
||||||
Slack : 0.548
|
Slack : 0.543
|
||||||
TNS : 0.000
|
TNS : 0.000
|
||||||
|
|
||||||
Type : Slow 1200mV 85C Model Hold 'CLOCK_50'
|
Type : Slow 1200mV 85C Model Hold 'CLOCK_50'
|
||||||
Slack : 0.654
|
Slack : 0.653
|
||||||
TNS : 0.000
|
TNS : 0.000
|
||||||
|
|
||||||
Type : Slow 1200mV 85C Model Minimum Pulse Width 'CLOCK_50'
|
Type : Slow 1200mV 85C Model Minimum Pulse Width 'CLOCK_50'
|
||||||
|
@ -27,19 +27,19 @@ Slack : -1.285
|
||||||
TNS : -21.845
|
TNS : -21.845
|
||||||
|
|
||||||
Type : Slow 1200mV 0C Model Setup 'CLOCK_50'
|
Type : Slow 1200mV 0C Model Setup 'CLOCK_50'
|
||||||
Slack : -3.751
|
Slack : -3.850
|
||||||
TNS : -67.496
|
TNS : -55.792
|
||||||
|
|
||||||
Type : Slow 1200mV 0C Model Setup 'FreqDivider:inst2|clkOut'
|
Type : Slow 1200mV 0C Model Setup 'FreqDivider:inst2|clkOut'
|
||||||
Slack : -1.082
|
Slack : -1.081
|
||||||
TNS : -13.558
|
TNS : -12.785
|
||||||
|
|
||||||
Type : Slow 1200mV 0C Model Hold 'FreqDivider:inst2|clkOut'
|
Type : Slow 1200mV 0C Model Hold 'FreqDivider:inst2|clkOut'
|
||||||
Slack : 0.494
|
Slack : 0.489
|
||||||
TNS : 0.000
|
TNS : 0.000
|
||||||
|
|
||||||
Type : Slow 1200mV 0C Model Hold 'CLOCK_50'
|
Type : Slow 1200mV 0C Model Hold 'CLOCK_50'
|
||||||
Slack : 0.597
|
Slack : 0.598
|
||||||
TNS : 0.000
|
TNS : 0.000
|
||||||
|
|
||||||
Type : Slow 1200mV 0C Model Minimum Pulse Width 'CLOCK_50'
|
Type : Slow 1200mV 0C Model Minimum Pulse Width 'CLOCK_50'
|
||||||
|
@ -51,24 +51,24 @@ Slack : -1.285
|
||||||
TNS : -21.845
|
TNS : -21.845
|
||||||
|
|
||||||
Type : Fast 1200mV 0C Model Setup 'CLOCK_50'
|
Type : Fast 1200mV 0C Model Setup 'CLOCK_50'
|
||||||
Slack : -1.596
|
Slack : -1.676
|
||||||
TNS : -21.945
|
TNS : -16.763
|
||||||
|
|
||||||
Type : Fast 1200mV 0C Model Setup 'FreqDivider:inst2|clkOut'
|
Type : Fast 1200mV 0C Model Setup 'FreqDivider:inst2|clkOut'
|
||||||
Slack : -0.171
|
Slack : -0.170
|
||||||
TNS : -0.699
|
TNS : -0.504
|
||||||
|
|
||||||
Type : Fast 1200mV 0C Model Hold 'FreqDivider:inst2|clkOut'
|
Type : Fast 1200mV 0C Model Hold 'FreqDivider:inst2|clkOut'
|
||||||
Slack : 0.247
|
Slack : 0.244
|
||||||
TNS : 0.000
|
TNS : 0.000
|
||||||
|
|
||||||
Type : Fast 1200mV 0C Model Hold 'CLOCK_50'
|
Type : Fast 1200mV 0C Model Hold 'CLOCK_50'
|
||||||
Slack : 0.298
|
Slack : 0.297
|
||||||
TNS : 0.000
|
TNS : 0.000
|
||||||
|
|
||||||
Type : Fast 1200mV 0C Model Minimum Pulse Width 'CLOCK_50'
|
Type : Fast 1200mV 0C Model Minimum Pulse Width 'CLOCK_50'
|
||||||
Slack : -3.000
|
Slack : -3.000
|
||||||
TNS : -38.002
|
TNS : -38.036
|
||||||
|
|
||||||
Type : Fast 1200mV 0C Model Minimum Pulse Width 'FreqDivider:inst2|clkOut'
|
Type : Fast 1200mV 0C Model Minimum Pulse Width 'FreqDivider:inst2|clkOut'
|
||||||
Slack : -1.000
|
Slack : -1.000
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -40,7 +40,6 @@ instance = comp, \inst2|Add2~6\, inst2|Add2~6, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[3]\, inst2|s_counter[3], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[3]\, inst2|s_counter[3], AccN_Demo, 1
|
||||||
instance = comp, \inst2|Add2~8\, inst2|Add2~8, AccN_Demo, 1
|
instance = comp, \inst2|Add2~8\, inst2|Add2~8, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[4]\, inst2|s_counter[4], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[4]\, inst2|s_counter[4], AccN_Demo, 1
|
||||||
instance = comp, \inst2|Equal0~5\, inst2|Equal0~5, AccN_Demo, 1
|
|
||||||
instance = comp, \inst2|Add2~10\, inst2|Add2~10, AccN_Demo, 1
|
instance = comp, \inst2|Add2~10\, inst2|Add2~10, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[5]\, inst2|s_counter[5], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[5]\, inst2|s_counter[5], AccN_Demo, 1
|
||||||
instance = comp, \inst2|Add2~12\, inst2|Add2~12, AccN_Demo, 1
|
instance = comp, \inst2|Add2~12\, inst2|Add2~12, AccN_Demo, 1
|
||||||
|
@ -48,6 +47,7 @@ instance = comp, \inst2|s_counter~10\, inst2|s_counter~10, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[6]\, inst2|s_counter[6], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[6]\, inst2|s_counter[6], AccN_Demo, 1
|
||||||
instance = comp, \inst2|Add2~14\, inst2|Add2~14, AccN_Demo, 1
|
instance = comp, \inst2|Add2~14\, inst2|Add2~14, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[7]\, inst2|s_counter[7], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[7]\, inst2|s_counter[7], AccN_Demo, 1
|
||||||
|
instance = comp, \inst2|Equal0~3\, inst2|Equal0~3, AccN_Demo, 1
|
||||||
instance = comp, \inst2|Add2~16\, inst2|Add2~16, AccN_Demo, 1
|
instance = comp, \inst2|Add2~16\, inst2|Add2~16, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[8]\, inst2|s_counter[8], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[8]\, inst2|s_counter[8], AccN_Demo, 1
|
||||||
instance = comp, \inst2|Add2~18\, inst2|Add2~18, AccN_Demo, 1
|
instance = comp, \inst2|Add2~18\, inst2|Add2~18, AccN_Demo, 1
|
||||||
|
@ -60,44 +60,37 @@ instance = comp, \inst2|s_counter[11]\, inst2|s_counter[11], AccN_Demo, 1
|
||||||
instance = comp, \inst2|Add2~24\, inst2|Add2~24, AccN_Demo, 1
|
instance = comp, \inst2|Add2~24\, inst2|Add2~24, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter~8\, inst2|s_counter~8, AccN_Demo, 1
|
instance = comp, \inst2|s_counter~8\, inst2|s_counter~8, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[12]\, inst2|s_counter[12], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[12]\, inst2|s_counter[12], AccN_Demo, 1
|
||||||
|
instance = comp, \inst2|Equal0~2\, inst2|Equal0~2, AccN_Demo, 1
|
||||||
instance = comp, \inst2|Add2~26\, inst2|Add2~26, AccN_Demo, 1
|
instance = comp, \inst2|Add2~26\, inst2|Add2~26, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter~7\, inst2|s_counter~7, AccN_Demo, 1
|
instance = comp, \inst2|s_counter~7\, inst2|s_counter~7, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[13]\, inst2|s_counter[13], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[13]\, inst2|s_counter[13], AccN_Demo, 1
|
||||||
instance = comp, \inst2|Add2~28\, inst2|Add2~28, AccN_Demo, 1
|
instance = comp, \inst2|Add2~28\, inst2|Add2~28, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter~4\, inst2|s_counter~4, AccN_Demo, 1
|
instance = comp, \inst2|s_counter~5\, inst2|s_counter~5, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[14]\, inst2|s_counter[14], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[14]\, inst2|s_counter[14], AccN_Demo, 1
|
||||||
instance = comp, \inst2|Add2~30\, inst2|Add2~30, AccN_Demo, 1
|
instance = comp, \inst2|Add2~30\, inst2|Add2~30, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[15]\, inst2|s_counter[15], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[15]\, inst2|s_counter[15], AccN_Demo, 1
|
||||||
instance = comp, \inst2|Add2~32\, inst2|Add2~32, AccN_Demo, 1
|
instance = comp, \inst2|Add2~32\, inst2|Add2~32, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter~3\, inst2|s_counter~3, AccN_Demo, 1
|
instance = comp, \inst2|s_counter~4\, inst2|s_counter~4, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[16]\, inst2|s_counter[16], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[16]\, inst2|s_counter[16], AccN_Demo, 1
|
||||||
instance = comp, \inst2|Add2~34\, inst2|Add2~34, AccN_Demo, 1
|
instance = comp, \inst2|Add2~34\, inst2|Add2~34, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[17]\, inst2|s_counter[17], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[17]\, inst2|s_counter[17], AccN_Demo, 1
|
||||||
instance = comp, \inst2|Add2~36\, inst2|Add2~36, AccN_Demo, 1
|
instance = comp, \inst2|Add2~36\, inst2|Add2~36, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter~6\, inst2|s_counter~6, AccN_Demo, 1
|
instance = comp, \inst2|s_counter~6\, inst2|s_counter~6, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[18]\, inst2|s_counter[18], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[18]\, inst2|s_counter[18], AccN_Demo, 1
|
||||||
instance = comp, \inst2|Equal0~2\, inst2|Equal0~2, AccN_Demo, 1
|
|
||||||
instance = comp, \inst2|Equal0~3\, inst2|Equal0~3, AccN_Demo, 1
|
|
||||||
instance = comp, \inst2|Add2~38\, inst2|Add2~38, AccN_Demo, 1
|
|
||||||
instance = comp, \inst2|s_counter~2\, inst2|s_counter~2, AccN_Demo, 1
|
|
||||||
instance = comp, \inst2|s_counter[19]\, inst2|s_counter[19], AccN_Demo, 1
|
|
||||||
instance = comp, \inst2|Add2~40\, inst2|Add2~40, AccN_Demo, 1
|
|
||||||
instance = comp, \inst2|s_counter[20]\, inst2|s_counter[20], AccN_Demo, 1
|
|
||||||
instance = comp, \inst2|Add2~42\, inst2|Add2~42, AccN_Demo, 1
|
|
||||||
instance = comp, \inst2|Add2~44\, inst2|Add2~44, AccN_Demo, 1
|
instance = comp, \inst2|Add2~44\, inst2|Add2~44, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[22]\, inst2|s_counter[22], AccN_Demo, 1
|
|
||||||
instance = comp, \inst2|Add2~46\, inst2|Add2~46, AccN_Demo, 1
|
instance = comp, \inst2|Add2~46\, inst2|Add2~46, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter~5\, inst2|s_counter~5, AccN_Demo, 1
|
instance = comp, \inst2|s_counter~1\, inst2|s_counter~1, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[23]\, inst2|s_counter[23], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[23]\, inst2|s_counter[23], AccN_Demo, 1
|
||||||
instance = comp, \inst2|Add2~48\, inst2|Add2~48, AccN_Demo, 1
|
instance = comp, \inst2|Add2~48\, inst2|Add2~48, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter~0\, inst2|s_counter~0, AccN_Demo, 1
|
|
||||||
instance = comp, \inst2|s_counter[24]\, inst2|s_counter[24], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[24]\, inst2|s_counter[24], AccN_Demo, 1
|
||||||
instance = comp, \inst2|Add2~50\, inst2|Add2~50, AccN_Demo, 1
|
instance = comp, \inst2|Add2~50\, inst2|Add2~50, AccN_Demo, 1
|
||||||
|
instance = comp, \inst2|s_counter~0\, inst2|s_counter~0, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[25]\, inst2|s_counter[25], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[25]\, inst2|s_counter[25], AccN_Demo, 1
|
||||||
instance = comp, \inst2|Add2~52\, inst2|Add2~52, AccN_Demo, 1
|
instance = comp, \inst2|Add2~52\, inst2|Add2~52, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[26]\, inst2|s_counter[26], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[26]\, inst2|s_counter[26], AccN_Demo, 1
|
||||||
instance = comp, \inst2|Add2~54\, inst2|Add2~54, AccN_Demo, 1
|
instance = comp, \inst2|Add2~54\, inst2|Add2~54, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[27]\, inst2|s_counter[27], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[27]\, inst2|s_counter[27], AccN_Demo, 1
|
||||||
|
instance = comp, \inst2|Equal0~1\, inst2|Equal0~1, AccN_Demo, 1
|
||||||
instance = comp, \inst2|Add2~56\, inst2|Add2~56, AccN_Demo, 1
|
instance = comp, \inst2|Add2~56\, inst2|Add2~56, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[28]\, inst2|s_counter[28], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[28]\, inst2|s_counter[28], AccN_Demo, 1
|
||||||
instance = comp, \inst2|Add2~58\, inst2|Add2~58, AccN_Demo, 1
|
instance = comp, \inst2|Add2~58\, inst2|Add2~58, AccN_Demo, 1
|
||||||
|
@ -107,22 +100,26 @@ instance = comp, \inst2|s_counter[30]\, inst2|s_counter[30], AccN_Demo, 1
|
||||||
instance = comp, \inst2|Add2~62\, inst2|Add2~62, AccN_Demo, 1
|
instance = comp, \inst2|Add2~62\, inst2|Add2~62, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[31]\, inst2|s_counter[31], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[31]\, inst2|s_counter[31], AccN_Demo, 1
|
||||||
instance = comp, \inst2|Equal0~0\, inst2|Equal0~0, AccN_Demo, 1
|
instance = comp, \inst2|Equal0~0\, inst2|Equal0~0, AccN_Demo, 1
|
||||||
instance = comp, \inst2|Equal0~1\, inst2|Equal0~1, AccN_Demo, 1
|
|
||||||
instance = comp, \inst2|Equal0~4\, inst2|Equal0~4, AccN_Demo, 1
|
instance = comp, \inst2|Equal0~4\, inst2|Equal0~4, AccN_Demo, 1
|
||||||
instance = comp, \inst2|Equal0~11\, inst2|Equal0~11, AccN_Demo, 1
|
instance = comp, \inst2|Equal0~5\, inst2|Equal0~5, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter~1\, inst2|s_counter~1, AccN_Demo, 1
|
instance = comp, \inst2|Add2~38\, inst2|Add2~38, AccN_Demo, 1
|
||||||
|
instance = comp, \inst2|Add2~40\, inst2|Add2~40, AccN_Demo, 1
|
||||||
|
instance = comp, \inst2|s_counter[20]\, inst2|s_counter[20], AccN_Demo, 1
|
||||||
|
instance = comp, \inst2|Add2~42\, inst2|Add2~42, AccN_Demo, 1
|
||||||
|
instance = comp, \inst2|s_counter~2\, inst2|s_counter~2, AccN_Demo, 1
|
||||||
instance = comp, \inst2|s_counter[21]\, inst2|s_counter[21], AccN_Demo, 1
|
instance = comp, \inst2|s_counter[21]\, inst2|s_counter[21], AccN_Demo, 1
|
||||||
|
instance = comp, \inst2|s_counter[22]\, inst2|s_counter[22], AccN_Demo, 1
|
||||||
|
instance = comp, \inst2|Equal0~6\, inst2|Equal0~6, AccN_Demo, 1
|
||||||
instance = comp, \inst2|Equal0~7\, inst2|Equal0~7, AccN_Demo, 1
|
instance = comp, \inst2|Equal0~7\, inst2|Equal0~7, AccN_Demo, 1
|
||||||
instance = comp, \inst2|Equal0~8\, inst2|Equal0~8, AccN_Demo, 1
|
instance = comp, \inst2|Equal0~8\, inst2|Equal0~8, AccN_Demo, 1
|
||||||
instance = comp, \inst2|Equal0~9\, inst2|Equal0~9, AccN_Demo, 1
|
instance = comp, \inst2|Equal0~9\, inst2|Equal0~9, AccN_Demo, 1
|
||||||
instance = comp, \inst2|Equal0~10\, inst2|Equal0~10, AccN_Demo, 1
|
instance = comp, \inst2|s_counter~3\, inst2|s_counter~3, AccN_Demo, 1
|
||||||
instance = comp, \inst2|clkOut~0\, inst2|clkOut~0, AccN_Demo, 1
|
instance = comp, \inst2|s_counter[19]\, inst2|s_counter[19], AccN_Demo, 1
|
||||||
instance = comp, \inst2|clkOut~2\, inst2|clkOut~2, AccN_Demo, 1
|
|
||||||
instance = comp, \inst2|clkOut~1\, inst2|clkOut~1, AccN_Demo, 1
|
instance = comp, \inst2|clkOut~1\, inst2|clkOut~1, AccN_Demo, 1
|
||||||
|
instance = comp, \inst2|clkOut~2\, inst2|clkOut~2, AccN_Demo, 1
|
||||||
|
instance = comp, \inst2|clkOut~0\, inst2|clkOut~0, AccN_Demo, 1
|
||||||
instance = comp, \inst2|clkOut~3\, inst2|clkOut~3, AccN_Demo, 1
|
instance = comp, \inst2|clkOut~3\, inst2|clkOut~3, AccN_Demo, 1
|
||||||
instance = comp, \inst2|Equal0~6\, inst2|Equal0~6, AccN_Demo, 1
|
|
||||||
instance = comp, \inst2|clkOut~4\, inst2|clkOut~4, AccN_Demo, 1
|
instance = comp, \inst2|clkOut~4\, inst2|clkOut~4, AccN_Demo, 1
|
||||||
instance = comp, \inst2|clkOut~feeder\, inst2|clkOut~feeder, AccN_Demo, 1
|
|
||||||
instance = comp, \inst2|clkOut\, inst2|clkOut, AccN_Demo, 1
|
instance = comp, \inst2|clkOut\, inst2|clkOut, AccN_Demo, 1
|
||||||
instance = comp, \inst2|clkOut~clkctrl\, inst2|clkOut~clkctrl, AccN_Demo, 1
|
instance = comp, \inst2|clkOut~clkctrl\, inst2|clkOut~clkctrl, AccN_Demo, 1
|
||||||
instance = comp, \SW[16]~input\, SW[16]~input, AccN_Demo, 1
|
instance = comp, \SW[16]~input\, SW[16]~input, AccN_Demo, 1
|
||||||
|
|
|
@ -18,7 +18,8 @@
|
||||||
| [03](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula03) | Classes |
|
| [03](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula03) | Classes |
|
||||||
| [04](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula04) | Classes |
|
| [04](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula04) | Classes |
|
||||||
| [05](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula05) | Classes |
|
| [05](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula05) | Classes |
|
||||||
| [05](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula06) | Inheritance |
|
| [06](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula06) | Inheritance |
|
||||||
|
| [07](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula07) | Polymorphism |
|
||||||
|
|
||||||
---
|
---
|
||||||
*Pode conter erros, caso encontre algum, crie um* [*ticket*](https://github.com/TiagoRG/uaveiro-leci/issues/new)
|
*Pode conter erros, caso encontre algum, crie um* [*ticket*](https://github.com/TiagoRG/uaveiro-leci/issues/new)
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -10,7 +10,8 @@
|
||||||
| [03](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula03) | Classes |
|
| [03](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula03) | Classes |
|
||||||
| [04](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula04) | Classes |
|
| [04](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula04) | Classes |
|
||||||
| [05](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula05) | Classes |
|
| [05](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula05) | Classes |
|
||||||
| [05](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula06) | Inheritance |
|
| [06](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula06) | Inheritance |
|
||||||
|
| [07](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula07) | Polymorphism |
|
||||||
|
|
||||||
---
|
---
|
||||||
*Pode conter erros, caso encontre algum, crie um* [*ticket*](https://github.com/TiagoRG/uaveiro-leci/issues/new)
|
*Pode conter erros, caso encontre algum, crie um* [*ticket*](https://github.com/TiagoRG/uaveiro-leci/issues/new)
|
||||||
|
|
|
@ -1,177 +0,0 @@
|
||||||
package aula06;
|
|
||||||
|
|
||||||
import utils.DateYMD;
|
|
||||||
|
|
||||||
import java.util.Scanner;
|
|
||||||
|
|
||||||
public class ContactList {
|
|
||||||
private static final Scanner sin = new Scanner(System.in);
|
|
||||||
private static Contact[] contacts;
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
|
|
||||||
while (true) {
|
|
||||||
System.out.println("Selecione uma opção:");
|
|
||||||
System.out.println("1. Inserir contacto");
|
|
||||||
System.out.println("2. Alterar contacto");
|
|
||||||
System.out.println("3. Apagar contacto");
|
|
||||||
System.out.println("4. Procurar contacto");
|
|
||||||
System.out.println("5. Listar contactos");
|
|
||||||
System.out.println("0. Sair");
|
|
||||||
System.out.print("> ");
|
|
||||||
String option = sin.nextLine();
|
|
||||||
switch (option) {
|
|
||||||
case "0" -> {
|
|
||||||
sin.close();
|
|
||||||
System.exit(0);
|
|
||||||
}
|
|
||||||
case "1" -> {
|
|
||||||
System.out.print("Insira o nome: ");
|
|
||||||
String name = sin.nextLine();
|
|
||||||
System.out.print("Insira o cc: ");
|
|
||||||
String ccStr = sin.nextLine();
|
|
||||||
int cc = Integer.parseInt(ccStr);
|
|
||||||
System.out.print("Insira a data de nascimento (formado: dd-mm-yyyy): ");
|
|
||||||
String date = sin.nextLine();
|
|
||||||
String[] dateParts = date.split("-");
|
|
||||||
DateYMD birthDate = new DateYMD(Integer.parseInt(dateParts[0]), Integer.parseInt(dateParts[1]), Integer.parseInt(dateParts[2]));
|
|
||||||
System.out.print("Insira o email: ");
|
|
||||||
String email = sin.nextLine();
|
|
||||||
System.out.print("Insira o telefone: ");
|
|
||||||
String phone = sin.nextLine();
|
|
||||||
Person person = new Person(name, cc, birthDate);
|
|
||||||
|
|
||||||
Contact contact = new Contact(person, email, phone);
|
|
||||||
|
|
||||||
if (contacts == null) {
|
|
||||||
contacts = new Contact[1];
|
|
||||||
contacts[0] = contact;
|
|
||||||
} else {
|
|
||||||
if (checkIfContactExists(cc)) break;
|
|
||||||
Contact[] newContacts = new Contact[contacts.length + 1];
|
|
||||||
System.arraycopy(contacts, 0, newContacts, 0, contacts.length);
|
|
||||||
newContacts[contacts.length] = contact;
|
|
||||||
contacts = newContacts;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case "2" -> {
|
|
||||||
System.out.print("Insira o nome, email ou telefone do contacto que pretende alterar: ");
|
|
||||||
String query = sin.nextLine();
|
|
||||||
int[] indexes = searchContactsIndex(query);
|
|
||||||
System.out.printf("Contactos encontrados: %d%n", indexes.length);
|
|
||||||
|
|
||||||
if (indexes.length == 0) {
|
|
||||||
System.out.println("Não foram encontrados contactos com esse nome, email ou telefone");
|
|
||||||
} else if (indexes.length == 1) {
|
|
||||||
System.out.printf("Alterando contacto: %s%n", contacts[indexes[0]]);
|
|
||||||
System.out.print("Insira o novo telefone: ");
|
|
||||||
String phone = sin.nextLine();
|
|
||||||
System.out.print("Insira o novo email: ");
|
|
||||||
String email = sin.nextLine();
|
|
||||||
contacts[indexes[0]].setPhone(phone);
|
|
||||||
contacts[indexes[0]].setEmail(email);
|
|
||||||
} else {
|
|
||||||
Contact contact = selectContact(indexes);
|
|
||||||
System.out.printf("Alterando contacto: %s%n", contact);
|
|
||||||
System.out.print("Insira o novo telefone: ");
|
|
||||||
String phone = sin.nextLine();
|
|
||||||
System.out.print("Insira o novo email: ");
|
|
||||||
String email = sin.nextLine();
|
|
||||||
contact.setPhone(phone);
|
|
||||||
contact.setEmail(email);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case "3" -> {
|
|
||||||
System.out.print("Insira o nome, email ou telefone do contacto que pretende alterar: ");
|
|
||||||
String query = sin.nextLine();
|
|
||||||
int[] indexes = searchContactsIndex(query);
|
|
||||||
System.out.printf("Contactos encontrados: %d%n", indexes.length);
|
|
||||||
|
|
||||||
if (indexes.length == 0) {
|
|
||||||
System.out.println("Não foram encontrados contactos com esse nome, email ou telefone");
|
|
||||||
} else if (indexes.length == 1) {
|
|
||||||
System.out.printf("Apagando contacto: %s%n", contacts[indexes[0]]);
|
|
||||||
Contact[] newContacts = new Contact[contacts.length - 1];
|
|
||||||
System.arraycopy(contacts, 0, newContacts, 0, indexes[0]);
|
|
||||||
System.arraycopy(contacts, indexes[0] + 1, newContacts, indexes[0], contacts.length - indexes[0] - 1);
|
|
||||||
contacts = newContacts;
|
|
||||||
} else {
|
|
||||||
Contact contact = selectContact(indexes);
|
|
||||||
System.out.printf("Apagando contacto: %s%n", contact);
|
|
||||||
Contact[] newContacts = new Contact[contacts.length - 1];
|
|
||||||
System.arraycopy(contacts, 0, newContacts, 0, contact.getId());
|
|
||||||
System.arraycopy(contacts, contact.getId() + 1, newContacts, contact.getId(), contacts.length - contact.getId() - 1);
|
|
||||||
contacts = newContacts;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case "4" -> {
|
|
||||||
System.out.print("Insira o nome, email ou telefone do contacto que pretende alterar: ");
|
|
||||||
String query = sin.nextLine();
|
|
||||||
int[] indexes = searchContactsIndex(query);
|
|
||||||
System.out.printf("Contactos encontrados: %d%n", indexes.length);
|
|
||||||
|
|
||||||
if (indexes.length == 0) {
|
|
||||||
System.out.println("Não foram encontrados contactos com esse nome, email ou telefone");
|
|
||||||
} else if (indexes.length == 1) {
|
|
||||||
System.out.println(contacts[indexes[0]]);
|
|
||||||
} else {
|
|
||||||
for (int index : indexes)
|
|
||||||
System.out.printf("%s%n", contacts[index]);
|
|
||||||
}
|
|
||||||
System.out.println();
|
|
||||||
}
|
|
||||||
case "5" -> {
|
|
||||||
for (Contact contact : contacts)
|
|
||||||
System.out.printf("%s%n", contact);
|
|
||||||
System.out.println();
|
|
||||||
}
|
|
||||||
default -> System.out.println("Opção inválida!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean checkIfContactExists(int cc) {
|
|
||||||
for (Contact c : contacts) {
|
|
||||||
if (c.getPerson().getCc() == cc) {
|
|
||||||
System.out.print("Já existe um contacto para essa pessoa, pretende criar um novo? (s/n): ");
|
|
||||||
String answer = sin.nextLine();
|
|
||||||
return answer.equals("s");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static int[] searchContactsIndex(String query) {
|
|
||||||
int[] indexes = new int[contacts.length];
|
|
||||||
int index = 0;
|
|
||||||
for (int i = 0; i < contacts.length; i++) {
|
|
||||||
if (contacts[i].getPerson().getName().contains(query) || contacts[i].getEmail().contains(query) || contacts[i].getPhone().contains(query)) {
|
|
||||||
indexes[index] = i;
|
|
||||||
index++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return indexes;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Contact selectContact(int[] indexes) {
|
|
||||||
System.out.println("Foram encontrados vários contactos com esse nome, email ou telefone, selecione um:");
|
|
||||||
for (int index : indexes)
|
|
||||||
System.out.printf("%s%n", contacts[index]);
|
|
||||||
|
|
||||||
Contact contact;
|
|
||||||
do {
|
|
||||||
System.out.print("Insira o ID do contacto que pretende alterar: ");
|
|
||||||
int index = sin.nextInt();
|
|
||||||
contact = searchContactById(index);
|
|
||||||
} while (contact == null);
|
|
||||||
|
|
||||||
return contact;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Contact searchContactById(int id) {
|
|
||||||
for (Contact contact : contacts) {
|
|
||||||
if (contact.getId() == id) return contact;
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -7,10 +7,10 @@
|
||||||
|
|
||||||
### Exercise List
|
### Exercise List
|
||||||
| Exercise Number | Files Name |
|
| Exercise Number | Files Name |
|
||||||
|-----------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| 1 | [PersonTest.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula06/PersonTest.java)<br/>[Person.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula06/Person.java)<br/>[Student.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula06/Student.java)<br/>[Professor.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula06/Professor.java)<br/>[Bolser.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula06/Bolser.java) |
|
| 1 | [PersonTest.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula06/ex1/PersonTest.java)<br/>[Person.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula06/ex1/Person.java)<br/>[Student.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula06/ex1/Student.java)<br/>[Professor.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula06/ex1/Professor.java)<br/>[Bolser.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula06/ex1/Bolser.java) |
|
||||||
| 2 | [Contact.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula06/Contact.java)<br/>[ContactList.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula06/ContactList.java) |
|
| 2 | [Contact.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula06/ex2/Contact.java)<br/>[ContactList.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula06/ex2/ContactList.java) |
|
||||||
| 3 | [Vector.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula06/Vector.java)<br/>[VectorTest.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula06/VectorTest.java) |
|
| 3 | [Vector.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula06/ex3/Vector.java)<br/>[VectorTest.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula06/ex3/VectorTest.java) |
|
||||||
|
|
||||||
---
|
---
|
||||||
*Pode conter erros, caso encontre algum, crie um* [*ticket*](https://github.com/TiagoRG/uaveiro-leci/issues/new)
|
*Pode conter erros, caso encontre algum, crie um* [*ticket*](https://github.com/TiagoRG/uaveiro-leci/issues/new)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package aula06;
|
package aula06.ex1;
|
||||||
|
|
||||||
import utils.DateYMD;
|
import utils.DateYMD;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package aula06;
|
package aula06.ex1;
|
||||||
|
|
||||||
import utils.DateYMD;
|
import utils.DateYMD;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package aula06;
|
package aula06.ex1;
|
||||||
|
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
import utils.DateYMD;
|
import utils.DateYMD;
|
|
@ -1,4 +1,4 @@
|
||||||
package aula06;
|
package aula06.ex1;
|
||||||
|
|
||||||
import utils.DateYMD;
|
import utils.DateYMD;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package aula06;
|
package aula06.ex1;
|
||||||
|
|
||||||
import utils.DateYMD;
|
import utils.DateYMD;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
|
@ -1,4 +1,6 @@
|
||||||
package aula06;
|
package aula06.ex2;
|
||||||
|
|
||||||
|
import aula06.ex1.Person;
|
||||||
|
|
||||||
public class Contact {
|
public class Contact {
|
||||||
private final int id;
|
private final int id;
|
||||||
|
@ -9,7 +11,7 @@ public class Contact {
|
||||||
private static int currentId = 1;
|
private static int currentId = 1;
|
||||||
|
|
||||||
public Contact(Person person, String email, String phone) {
|
public Contact(Person person, String email, String phone) {
|
||||||
if (email == null || email.isEmpty() || phone == null || phone.isEmpty())
|
if ((email == null || email.isEmpty()) && (phone == null || phone.isEmpty()))
|
||||||
throw new IllegalArgumentException("Either email or phone must be provided");
|
throw new IllegalArgumentException("Either email or phone must be provided");
|
||||||
this.id = Contact.currentId++;
|
this.id = Contact.currentId++;
|
||||||
this.setPerson(person);
|
this.setPerson(person);
|
||||||
|
@ -34,7 +36,8 @@ public class Contact {
|
||||||
return email;
|
return email;
|
||||||
}
|
}
|
||||||
public void setEmail(String email) {
|
public void setEmail(String email) {
|
||||||
if (!email.matches("^[a-zA-Z_0-9.]+@[a-zA-Z_0-9.]+\\.[a-zA-Z_0-9]+$"))
|
if (!(email == null || email.isEmpty()) &&
|
||||||
|
!email.matches("^[a-zA-Z_0-9.]+@[a-zA-Z_0-9.]+\\.[a-zA-Z_0-9]+$"))
|
||||||
throw new IllegalArgumentException("Invalid email");
|
throw new IllegalArgumentException("Invalid email");
|
||||||
this.email = email;
|
this.email = email;
|
||||||
}
|
}
|
||||||
|
@ -43,7 +46,8 @@ public class Contact {
|
||||||
return phone;
|
return phone;
|
||||||
}
|
}
|
||||||
public void setPhone(String phone) {
|
public void setPhone(String phone) {
|
||||||
if (!phone.matches("^9[0-9]{8}$"))
|
if (!(phone == null || phone.isEmpty()) &&
|
||||||
|
!phone.matches("^9[0-9]{8}$"))
|
||||||
throw new IllegalArgumentException("Invalid phone");
|
throw new IllegalArgumentException("Invalid phone");
|
||||||
this.phone = phone;
|
this.phone = phone;
|
||||||
}
|
}
|
|
@ -0,0 +1,192 @@
|
||||||
|
package aula06.ex2;
|
||||||
|
|
||||||
|
import aula06.ex1.Person;
|
||||||
|
import utils.DateYMD;
|
||||||
|
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class ContactList {
|
||||||
|
private static final Scanner sin = new Scanner(System.in);
|
||||||
|
private static Contact[] contacts;
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
String option = menu();
|
||||||
|
switch (option) {
|
||||||
|
case "0" -> {
|
||||||
|
sin.close();
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
|
case "1" -> addContact();
|
||||||
|
case "2" -> changeContact();
|
||||||
|
case "3" -> deleteContact();
|
||||||
|
case "4" -> searchContact();
|
||||||
|
case "5" -> listContacts();
|
||||||
|
default -> System.out.println("Opção inválida!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Menu methods
|
||||||
|
private static String menu() {
|
||||||
|
System.out.println("Selecione uma opção:");
|
||||||
|
System.out.println("1. Inserir contacto");
|
||||||
|
System.out.println("2. Alterar contacto");
|
||||||
|
System.out.println("3. Apagar contacto");
|
||||||
|
System.out.println("4. Procurar contacto");
|
||||||
|
System.out.println("5. Listar contactos");
|
||||||
|
System.out.println("0. Sair");
|
||||||
|
System.out.print("> ");
|
||||||
|
return sin.nextLine();
|
||||||
|
}
|
||||||
|
private static void addContact() {
|
||||||
|
System.out.print("Insira o nome: ");
|
||||||
|
String name = sin.nextLine();
|
||||||
|
System.out.print("Insira o cc: ");
|
||||||
|
String ccStr = sin.nextLine();
|
||||||
|
int cc = Integer.parseInt(ccStr);
|
||||||
|
System.out.print("Insira a data de nascimento (formato: dd-mm-yyyy): ");
|
||||||
|
String date = sin.nextLine();
|
||||||
|
String[] dateParts = date.split("-");
|
||||||
|
DateYMD birthDate = new DateYMD(Integer.parseInt(dateParts[0]), Integer.parseInt(dateParts[1]), Integer.parseInt(dateParts[2]));
|
||||||
|
System.out.print("Insira o email: ");
|
||||||
|
String email = sin.nextLine();
|
||||||
|
System.out.print("Insira o telefone: ");
|
||||||
|
String phone = sin.nextLine();
|
||||||
|
Person person = new Person(name, cc, birthDate);
|
||||||
|
|
||||||
|
Contact contact = new Contact(person, email, phone);
|
||||||
|
|
||||||
|
if (contacts == null) {
|
||||||
|
contacts = new Contact[1];
|
||||||
|
contacts[0] = contact;
|
||||||
|
} else {
|
||||||
|
if (checkIfContactExists(cc)) return;
|
||||||
|
Contact[] newContacts = new Contact[contacts.length + 1];
|
||||||
|
System.arraycopy(contacts, 0, newContacts, 0, contacts.length);
|
||||||
|
newContacts[contacts.length] = contact;
|
||||||
|
contacts = newContacts;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private static void changeContact() {
|
||||||
|
System.out.print("Insira o nome, email ou telefone do contacto que pretende alterar: ");
|
||||||
|
String query = sin.nextLine();
|
||||||
|
int[] indexes = searchContactsIndex(query);
|
||||||
|
System.out.printf("Contactos encontrados: %d%n", indexes.length);
|
||||||
|
|
||||||
|
if (indexes.length == 0) {
|
||||||
|
System.out.println("Não foram encontrados contactos com esse nome, email ou telefone");
|
||||||
|
} else if (indexes.length == 1) {
|
||||||
|
System.out.printf("Alterando contacto: %s%n", contacts[indexes[0]]);
|
||||||
|
System.out.print("Insira o novo telefone: ");
|
||||||
|
String phone = sin.nextLine();
|
||||||
|
System.out.print("Insira o novo email: ");
|
||||||
|
String email = sin.nextLine();
|
||||||
|
contacts[indexes[0]].setPhone(phone);
|
||||||
|
contacts[indexes[0]].setEmail(email);
|
||||||
|
} else {
|
||||||
|
Contact contact = selectContact(indexes);
|
||||||
|
System.out.printf("Alterando contacto: %s%n", contact);
|
||||||
|
System.out.print("Insira o novo telefone: ");
|
||||||
|
String phone = sin.nextLine();
|
||||||
|
System.out.print("Insira o novo email: ");
|
||||||
|
String email = sin.nextLine();
|
||||||
|
contact.setPhone(phone);
|
||||||
|
contact.setEmail(email);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void deleteContact() {
|
||||||
|
System.out.print("Insira o nome, email ou telefone do contacto que pretende alterar: ");
|
||||||
|
String query = sin.nextLine();
|
||||||
|
int[] indexes = searchContactsIndex(query);
|
||||||
|
System.out.printf("Contactos encontrados: %d%n", indexes.length);
|
||||||
|
|
||||||
|
if (indexes.length == 0) {
|
||||||
|
System.out.println("Não foram encontrados contactos com esse nome, email ou telefone");
|
||||||
|
} else if (indexes.length == 1) {
|
||||||
|
System.out.printf("Apagando contacto: %s%n", contacts[indexes[0]]);
|
||||||
|
Contact[] newContacts = new Contact[contacts.length - 1];
|
||||||
|
System.arraycopy(contacts, 0, newContacts, 0, indexes[0]);
|
||||||
|
System.arraycopy(contacts, indexes[0] + 1, newContacts, indexes[0], contacts.length - indexes[0] - 1);
|
||||||
|
contacts = newContacts;
|
||||||
|
} else {
|
||||||
|
Contact contact = selectContact(indexes);
|
||||||
|
System.out.printf("Apagando contacto: %s%n", contact);
|
||||||
|
Contact[] newContacts = new Contact[contacts.length - 1];
|
||||||
|
System.arraycopy(contacts, 0, newContacts, 0, contact.getId());
|
||||||
|
System.arraycopy(contacts, contact.getId() + 1, newContacts, contact.getId(), contacts.length - contact.getId() - 1);
|
||||||
|
contacts = newContacts;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void searchContact() {
|
||||||
|
System.out.print("Insira o nome, email ou telefone do contacto que pretende alterar: ");
|
||||||
|
String query = sin.nextLine();
|
||||||
|
int[] indexes = searchContactsIndex(query);
|
||||||
|
System.out.printf("Contactos encontrados: %d%n", indexes.length);
|
||||||
|
|
||||||
|
if (indexes.length == 0) {
|
||||||
|
System.out.println("Não foram encontrados contactos com esse nome, email ou telefone");
|
||||||
|
} else if (indexes.length == 1) {
|
||||||
|
System.out.println(contacts[indexes[0]]);
|
||||||
|
} else {
|
||||||
|
for (int index : indexes)
|
||||||
|
System.out.printf("%s%n", contacts[index]);
|
||||||
|
}
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void listContacts() {
|
||||||
|
for (Contact c : contacts)
|
||||||
|
System.out.printf("%s%n", c);
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Auxiliary methods
|
||||||
|
private static boolean checkIfContactExists(int cc) {
|
||||||
|
for (Contact c : contacts) {
|
||||||
|
if (c.getPerson().getCc() == cc) {
|
||||||
|
System.out.print("Já existe um contacto para essa pessoa, pretende criar um novo? (s/n): ");
|
||||||
|
String answer = sin.nextLine();
|
||||||
|
return !answer.equals("s");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int[] searchContactsIndex(String query) {
|
||||||
|
int[] indexes = new int[contacts.length];
|
||||||
|
int index = 0;
|
||||||
|
for (int i = 0; i < contacts.length; i++) {
|
||||||
|
if (contacts[i].getPerson().getName().contains(query) || contacts[i].getEmail().contains(query) || contacts[i].getPhone().contains(query)) {
|
||||||
|
indexes[index] = i;
|
||||||
|
index++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return indexes;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Contact selectContact(int[] indexes) {
|
||||||
|
System.out.println("Foram encontrados vários contactos com esse nome, email ou telefone, selecione um:");
|
||||||
|
for (int index : indexes)
|
||||||
|
System.out.printf("%s%n", contacts[index]);
|
||||||
|
|
||||||
|
Contact contact;
|
||||||
|
do {
|
||||||
|
System.out.print("Insira o ID do contacto que pretende alterar: ");
|
||||||
|
int index = sin.nextInt();
|
||||||
|
contact = searchContactById(index);
|
||||||
|
} while (contact == null);
|
||||||
|
|
||||||
|
return contact;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Contact searchContactById(int id) {
|
||||||
|
for (Contact contact : contacts) {
|
||||||
|
if (contact.getId() == id) return contact;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package aula06;
|
package aula06.ex3;
|
||||||
|
|
||||||
public class Vector {
|
public class Vector {
|
||||||
private int[] vector;
|
private int[] vector;
|
|
@ -1,4 +1,4 @@
|
||||||
package aula06;
|
package aula06.ex3;
|
||||||
|
|
||||||
|
|
||||||
public class VectorTest {
|
public class VectorTest {
|
|
@ -0,0 +1,15 @@
|
||||||
|
# Programação Orientada a Objetos
|
||||||
|
## Aula 07
|
||||||
|
### Tópico principal da aula: Polymorphism
|
||||||
|
|
||||||
|
* [Guião](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/guides/POO-2022-aula07.pdf)
|
||||||
|
* [Slides](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/slides/POO_05_Polimorfismo.pdf)
|
||||||
|
|
||||||
|
### Exercise List
|
||||||
|
| Exercise Number | Files Name |
|
||||||
|
|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| 1 | [Shape.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula07/ex1/PersonTest.java)<br/>[Circle.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula07/ex1/Circle.java)<br/>[Rectangle.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula07/ex1/Rectangle.java)<br/>[Triangle.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula07/ex1/Triangle.java) |
|
||||||
|
| 2 | [Date.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula07/ex2/Date.java)<br/>[DateTest.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula07/ex2/DateTest.java)<br/>[DateYMD.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula07/ex2/DateYMD.java)<br/>[DateND.java](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/2semestre/poo/src/aula07/ex2/DateND.java) |
|
||||||
|
|
||||||
|
---
|
||||||
|
*Pode conter erros, caso encontre algum, crie um* [*ticket*](https://github.com/TiagoRG/uaveiro-leci/issues/new)
|
|
@ -0,0 +1,52 @@
|
||||||
|
package aula07.ex1;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public class Circle extends Shape {
|
||||||
|
private double radius;
|
||||||
|
|
||||||
|
public Circle(String color, double radius) {
|
||||||
|
this.setColor(color);
|
||||||
|
this.setRadius(radius);
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getRadius() {
|
||||||
|
return this.radius;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRadius(double radius) {
|
||||||
|
if (radius <= 0)
|
||||||
|
throw new IllegalArgumentException("Sizes must be positive.");
|
||||||
|
this.radius = radius;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getColor() {
|
||||||
|
return this.color;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setColor(String color) {
|
||||||
|
this.color = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double getArea() {
|
||||||
|
return Math.PI * Math.pow(this.radius, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double getPerimeter() {
|
||||||
|
return 2 * Math.PI * this.radius;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Shape s2) {
|
||||||
|
if (s2 instanceof Circle s2Circ)
|
||||||
|
return Objects.equals(this.color, s2Circ.color) && this.radius == s2Circ.radius;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Circle with radius " + this.radius;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,54 @@
|
||||||
|
package aula07.ex1;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public class Rectangle extends Shape {
|
||||||
|
public double side1;
|
||||||
|
public double side2;
|
||||||
|
|
||||||
|
public Rectangle(String color, double side1, double side2) {
|
||||||
|
this.setColor(color);
|
||||||
|
this.setSides(side1, side2);
|
||||||
|
}
|
||||||
|
|
||||||
|
public double[] getSides() {
|
||||||
|
return new double[] {this.side1, this.side2};
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSides(double side1, double side2) {
|
||||||
|
if (!(side1 > 0 && side2 > 0))
|
||||||
|
throw new IllegalArgumentException("Sizes must be positive.");
|
||||||
|
this.side1 = side1;
|
||||||
|
this.side2 = side2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getColor() {
|
||||||
|
return this.color;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setColor(String color) {
|
||||||
|
this.color = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Shape s2) {
|
||||||
|
if (s2 instanceof Rectangle s2Rect)
|
||||||
|
return Objects.equals(this.color, s2Rect.color) && this.side1 == s2Rect.side1 && this.side2 == s2Rect.side2;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Rectangle with sides " + this.side1 + ", " + this.side2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double getArea() {
|
||||||
|
return this.side1 * this.side2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double getPerimeter() {
|
||||||
|
return 2 * (this.side1 + this.side2);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
package aula07.ex1;
|
||||||
|
|
||||||
|
public abstract class Shape {
|
||||||
|
protected String color;
|
||||||
|
public abstract boolean equals(Shape c2);
|
||||||
|
public abstract String toString();
|
||||||
|
public abstract double getArea();
|
||||||
|
public abstract double getPerimeter();
|
||||||
|
}
|
|
@ -0,0 +1,57 @@
|
||||||
|
package aula07.ex1;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public class Triangle extends Shape {
|
||||||
|
private double side1;
|
||||||
|
private double side2;
|
||||||
|
private double side3;
|
||||||
|
|
||||||
|
public Triangle(String color, double side1, double side2, double side3) {
|
||||||
|
this.setColor(color);
|
||||||
|
this.setSides(side1, side2, side3);
|
||||||
|
}
|
||||||
|
|
||||||
|
public double[] getSides() {
|
||||||
|
return new double[] {this.side1, this.side2, this.side3};
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSides(double side1, double side2, double side3) {
|
||||||
|
if (!(side1 > 0 && side2 > 0 && side3 > 0))
|
||||||
|
throw new IllegalArgumentException("Sizes must be positive.");
|
||||||
|
this.side1 = side1;
|
||||||
|
this.side2 = side2;
|
||||||
|
this.side3 = side3;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getColor() {
|
||||||
|
return this.color;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setColor(String color) {
|
||||||
|
this.color = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Shape s2) {
|
||||||
|
if (s2 instanceof Triangle s2Triang)
|
||||||
|
return Objects.equals(this.color, s2Triang.color) && this.side1 == s2Triang.side1 && this.side2 == s2Triang.side2 && this.side3 == s2Triang.side3;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Triangle with sides " + this.side1 + ", " + this.side2 + ", " + this.side3;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double getArea() {
|
||||||
|
double p = this.getPerimeter() / 2;
|
||||||
|
return Math.sqrt(p * (p - this.side1) * (p - this.side2) * (p - this.side3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double getPerimeter() {
|
||||||
|
return this.side1 + this.side2 + this.side3;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,34 @@
|
||||||
|
package aula07.ex2;
|
||||||
|
|
||||||
|
public abstract class Date {
|
||||||
|
public abstract int getAbsDay();
|
||||||
|
public abstract int getDay();
|
||||||
|
public abstract int getMonth();
|
||||||
|
public abstract int getYear();
|
||||||
|
public abstract void increment();
|
||||||
|
public abstract void decrement();
|
||||||
|
public abstract void addDays(int days);
|
||||||
|
public abstract void removeDays(int days);
|
||||||
|
|
||||||
|
|
||||||
|
public static int monthDays(int month, int year) {
|
||||||
|
if (!validMonth(month))
|
||||||
|
return -1;
|
||||||
|
int[] daysPerMonth = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
|
||||||
|
if (month == 2 && isLeapYear(year))
|
||||||
|
return 29;
|
||||||
|
return daysPerMonth[month - 1];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean validMonth(int month) {
|
||||||
|
return month >= 1 && month <= 12;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean validDate(int day, int month, int year) {
|
||||||
|
return day >= 1 && day <= monthDays(month, year);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isLeapYear(int year) {
|
||||||
|
return year % 100 == 0 ? year % 400 == 0 : year % 4 == 0;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,101 @@
|
||||||
|
package aula07.ex2;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public class DateND extends Date {
|
||||||
|
private int absDay;
|
||||||
|
|
||||||
|
public DateND(int absDay) {
|
||||||
|
set(absDay);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void set(int absDay) {
|
||||||
|
if (absDay <= 0)
|
||||||
|
throw new IllegalArgumentException("Absolute day must be positive!");
|
||||||
|
this.absDay = absDay;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getAbsDay() {
|
||||||
|
return this.absDay;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int[] getYMD() {
|
||||||
|
int[] date = new int[3];
|
||||||
|
|
||||||
|
int tempAbsDay = this.absDay;
|
||||||
|
int year = 1999;
|
||||||
|
while (tempAbsDay > 0) {
|
||||||
|
year++;
|
||||||
|
tempAbsDay -= isLeapYear(year) ? 366 : 365;
|
||||||
|
}
|
||||||
|
date[2] = year;
|
||||||
|
tempAbsDay += isLeapYear(year) ? 366 : 365;
|
||||||
|
|
||||||
|
int month = 0;
|
||||||
|
while (tempAbsDay > 0) {
|
||||||
|
month++;
|
||||||
|
tempAbsDay -= monthDays(month, year);
|
||||||
|
}
|
||||||
|
date[1] = month;
|
||||||
|
tempAbsDay += monthDays(month, year);
|
||||||
|
date[0] = tempAbsDay;
|
||||||
|
|
||||||
|
return date;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getDay() {
|
||||||
|
return this.getYMD()[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMonth() {
|
||||||
|
return this.getYMD()[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getYear() {
|
||||||
|
return this.getYMD()[2];
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void increment() {
|
||||||
|
this.absDay++;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void decrement() {
|
||||||
|
this.absDay--;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addDays(int days) {
|
||||||
|
for (int i = 0; i < days; i++)
|
||||||
|
this.increment();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeDays(int days) {
|
||||||
|
for (int i = 0; i < days; i++)
|
||||||
|
this.decrement();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return String.format("Date: %d past 01-01-2000", this.absDay);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) return true;
|
||||||
|
if (o == null || getClass() != o.getClass()) return false;
|
||||||
|
DateND dateND = (DateND) o;
|
||||||
|
return absDay == dateND.absDay;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(absDay);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,144 @@
|
||||||
|
package aula07.ex2;
|
||||||
|
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class DateTest {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sin = new Scanner(System.in);
|
||||||
|
|
||||||
|
mainLoop: while (true) {
|
||||||
|
System.out.print("Class to test (0-Quit;1-DateYMD;2-DateND): ");
|
||||||
|
int classoption = sin.nextInt();
|
||||||
|
|
||||||
|
switch (classoption) {
|
||||||
|
case 0 -> {
|
||||||
|
sin.close();
|
||||||
|
break mainLoop;
|
||||||
|
}
|
||||||
|
case 1 -> {
|
||||||
|
DateYMD date = null;
|
||||||
|
class1Loop: while (true) {
|
||||||
|
System.out.println("Date operations:");
|
||||||
|
System.out.println("1 - Create date");
|
||||||
|
System.out.println("2 - Show current date");
|
||||||
|
System.out.println("3 - Show current date (absolute day format)");
|
||||||
|
System.out.println("4 - Increment date");
|
||||||
|
System.out.println("5 - Decrement date");
|
||||||
|
System.out.println("0 - Exit");
|
||||||
|
System.out.print("Option: ");
|
||||||
|
int option = sin.nextInt();
|
||||||
|
if (option == 0)
|
||||||
|
break class1Loop;
|
||||||
|
class1Switch: switch (option) {
|
||||||
|
case 1 -> {
|
||||||
|
System.out.print("Day: ");
|
||||||
|
int day = sin.nextInt();
|
||||||
|
System.out.print("Month: ");
|
||||||
|
int month = sin.nextInt();
|
||||||
|
System.out.print("Year: ");
|
||||||
|
int year = sin.nextInt();
|
||||||
|
date = new DateYMD(day, month, year);
|
||||||
|
System.out.println("Date created: " + date);
|
||||||
|
}
|
||||||
|
case 2 -> {
|
||||||
|
if (date == null) {
|
||||||
|
System.out.println("Date not created");
|
||||||
|
break class1Switch;
|
||||||
|
}
|
||||||
|
System.out.println("Current date: " + date);
|
||||||
|
}
|
||||||
|
case 3 -> {
|
||||||
|
if (date == null) {
|
||||||
|
System.out.println("Date not created");
|
||||||
|
break class1Switch;
|
||||||
|
}
|
||||||
|
System.out.println("Current date: " + new DateND(date.getAbsDay()));
|
||||||
|
}
|
||||||
|
case 4 -> {
|
||||||
|
if (date == null) {
|
||||||
|
System.out.println("Date not created");
|
||||||
|
break class1Switch;
|
||||||
|
}
|
||||||
|
System.out.print("Number of days to increment date by: ");
|
||||||
|
int daysToIncrement = sin.nextInt();
|
||||||
|
date.addDays(daysToIncrement);
|
||||||
|
System.out.println("Date incremented: " + date);
|
||||||
|
}
|
||||||
|
case 5 -> {
|
||||||
|
if (date == null) {
|
||||||
|
System.out.println("Date not created");
|
||||||
|
break class1Switch;
|
||||||
|
}
|
||||||
|
System.out.print("Number of days to decremente date by: ");
|
||||||
|
int daysToDecrement = sin.nextInt();
|
||||||
|
date.removeDays(daysToDecrement);
|
||||||
|
System.out.println("Date decremented: " + date);
|
||||||
|
}
|
||||||
|
default -> System.out.println("Invalid option");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case 2 -> {
|
||||||
|
DateND date = null;
|
||||||
|
class2Loop: while (true) {
|
||||||
|
System.out.println("Date operations:");
|
||||||
|
System.out.println("1 - Create date");
|
||||||
|
System.out.println("2 - Show current date");
|
||||||
|
System.out.println("3 - Show current date (YMD days format)");
|
||||||
|
System.out.println("4 - Increment date");
|
||||||
|
System.out.println("5 - Decrement date");
|
||||||
|
System.out.println("0 - Exit");
|
||||||
|
System.out.print("Option: ");
|
||||||
|
int option = sin.nextInt();
|
||||||
|
if (option == 0)
|
||||||
|
break class2Loop;
|
||||||
|
class2Switch: switch (option) {
|
||||||
|
case 1 -> {
|
||||||
|
System.out.print("Day: ");
|
||||||
|
int day = sin.nextInt();
|
||||||
|
date = new DateND(day);
|
||||||
|
System.out.println("Date created: " + date);
|
||||||
|
}
|
||||||
|
case 2 -> {
|
||||||
|
if (date == null) {
|
||||||
|
System.out.println("Date not created");
|
||||||
|
break class2Switch;
|
||||||
|
}
|
||||||
|
System.out.println("Current date: " + date);
|
||||||
|
}
|
||||||
|
case 3 -> {
|
||||||
|
if (date == null) {
|
||||||
|
System.out.println("Date not created");
|
||||||
|
break class2Switch;
|
||||||
|
}
|
||||||
|
System.out.println("Current date: " + new DateYMD(date.getDay(), date.getMonth(), date.getYear()));
|
||||||
|
}
|
||||||
|
case 4 -> {
|
||||||
|
if (date == null) {
|
||||||
|
System.out.println("Date not created");
|
||||||
|
break class2Switch;
|
||||||
|
}
|
||||||
|
System.out.print("Number of days to increment date by: ");
|
||||||
|
int daysToIncrement = sin.nextInt();
|
||||||
|
date.addDays(daysToIncrement);
|
||||||
|
System.out.println("Date incremented: " + date);
|
||||||
|
}
|
||||||
|
case 5 -> {
|
||||||
|
if (date == null) {
|
||||||
|
System.out.println("Date not created");
|
||||||
|
break class2Switch;
|
||||||
|
}
|
||||||
|
System.out.print("Number of days to decremente date by: ");
|
||||||
|
int daysToDecrement = sin.nextInt();
|
||||||
|
date.removeDays(daysToDecrement);
|
||||||
|
System.out.println("Date decremented: " + date);
|
||||||
|
}
|
||||||
|
default -> System.out.println("Invalid option");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
default -> System.out.println("Invalid option.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,111 @@
|
||||||
|
package aula07.ex2;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public class DateYMD extends Date {
|
||||||
|
private int day;
|
||||||
|
private int month;
|
||||||
|
private int year;
|
||||||
|
|
||||||
|
public DateYMD(int day, int month, int year) {
|
||||||
|
set(day, month, year);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void set(int day, int month, int year) {
|
||||||
|
if (!validDate(day, month, year))
|
||||||
|
throw new IllegalArgumentException("Invalid date");
|
||||||
|
this.day = day;
|
||||||
|
this.month = month;
|
||||||
|
this.year = year;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getAbsDay() {
|
||||||
|
int absDay = 0;
|
||||||
|
for (int i = 2000; i < this.year; i++) {
|
||||||
|
if (isLeapYear(i))
|
||||||
|
absDay += 366;
|
||||||
|
else
|
||||||
|
absDay += 365;
|
||||||
|
}
|
||||||
|
for (int i = 1; i < this.month; i++) {
|
||||||
|
absDay += monthDays(i, this.year);
|
||||||
|
}
|
||||||
|
return absDay + this.day;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getDay() {
|
||||||
|
return this.day;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMonth() {
|
||||||
|
return this.month;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getYear() {
|
||||||
|
return this.year;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void increment() {
|
||||||
|
if (this.day < monthDays(this.month, this.year))
|
||||||
|
this.day++;
|
||||||
|
else {
|
||||||
|
this.day = 1;
|
||||||
|
if (this.month < 12)
|
||||||
|
this.month++;
|
||||||
|
else {
|
||||||
|
this.month = 1;
|
||||||
|
this.year++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void decrement() {
|
||||||
|
if (this.day > 1)
|
||||||
|
this.day--;
|
||||||
|
else {
|
||||||
|
this.day = monthDays(this.month == 1 ? 12 : this.month-1, this.year);
|
||||||
|
if (this.month > 1)
|
||||||
|
this.month--;
|
||||||
|
else {
|
||||||
|
this.month = 12;
|
||||||
|
this.year--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addDays(int days) {
|
||||||
|
for (int i = 0; i < days; i++)
|
||||||
|
this.increment();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeDays(int days) {
|
||||||
|
for (int i = 0; i < days; i++)
|
||||||
|
this.decrement();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return String.format("%02d-%02d-%04d", this.day, this.month, this.year);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) return true;
|
||||||
|
if (o == null || getClass() != o.getClass()) return false;
|
||||||
|
DateYMD dateYMD = (DateYMD) o;
|
||||||
|
return day == dateYMD.day && month == dateYMD.month && year == dateYMD.year;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(day, month, year);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue