📄 lcd_top.srr
字号:
#Build: Synplify 9.4A1, Build 169R, Jun 11 2008
#install: D:\Actel\Libero\Libero_v8.4\Synplify\synplify_94A1
#OS: 6.0
#Hostname: LUAIN-PC
#Implementation: synthesis
#Thu Jan 29 16:31:03 2009
$ Start of Compile
#Thu Jan 29 16:31:03 2009
Synplicity Verilog Compiler, version 1.0, Build 061R, built Jun 30 2008
Copyright (C) 1994-2008, Synplicity Inc. All Rights Reserved
@I::"D:\Actel\Libero\Libero_v8.4\Synplify\synplify_94A1\lib\proasic\fusion.v"
@I::"D:\Actelprj\LCD_1602\smartgen\PLL_1M\PLL_1M.v"
@I::"D:\Actelprj\LCD_1602\hdl\Clock_Gen.v"
@I::"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v"
@I::"D:\Actelprj\LCD_1602\hdl\LCD_Top.v"
Verilog syntax check successful!
Selecting top level module LCD_Top
@N: CG364 :"D:\Actel\Libero\Libero_v8.4\Synplify\synplify_94A1\lib\proasic\fusion.v":2043:7:2043:9|Synthesizing module VCC
@N: CG364 :"D:\Actel\Libero\Libero_v8.4\Synplify\synplify_94A1\lib\proasic\fusion.v":1224:7:1224:9|Synthesizing module GND
@N: CG364 :"D:\Actel\Libero\Libero_v8.4\Synplify\synplify_94A1\lib\proasic\fusion.v":2974:7:2974:9|Synthesizing module PLL
@N: CG364 :"D:\Actel\Libero\Libero_v8.4\Synplify\synplify_94A1\lib\proasic\fusion.v":260:7:260:12|Synthesizing module PLLINT
@N: CG364 :"D:\Actelprj\LCD_1602\smartgen\PLL_1M\PLL_1M.v":5:7:5:12|Synthesizing module PLL_1M
@N: CG364 :"D:\Actelprj\LCD_1602\hdl\Clock_Gen.v":4:7:4:15|Synthesizing module Clock_Gen
@N: CG179 :"D:\Actelprj\LCD_1602\hdl\Clock_Gen.v":34:27:34:33|Removing redundant assignment
@W: CS148 :"D:\Actelprj\LCD_1602\hdl\Clock_Gen.v":14:12:14:13|Undriven input OADIVRST, tying to 0
@N: CG364 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":6:7:6:16|Synthesizing module LCD_Driver
@A:"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Feedback mux created for signal Data_Second_Buf[111:0]. Did you forget the set/reset assignment for this signal? Specifying a reset value will improve timing and area
@A:"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Feedback mux created for signal Data_First_Buf[111:0]. Did you forget the set/reset assignment for this signal? Specifying a reset value will improve timing and area
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_First_Buf[3] is always 0, optimizing ...
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_First_Buf[4] is always 0, optimizing ...
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_First_Buf[5] is always 0, optimizing ...
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_First_Buf[7] is always 0, optimizing ...
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_Second_Buf[1] is always 0, optimizing ...
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_Second_Buf[4] is always 0, optimizing ...
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_Second_Buf[7] is always 0, optimizing ...
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <7> of Data_First_Buf[111:0]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <5> of Data_First_Buf[111:0]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <4> of Data_First_Buf[111:0]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <3> of Data_First_Buf[111:0]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <7> of Data_Second_Buf[111:0]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <4> of Data_Second_Buf[111:0]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <1> of Data_Second_Buf[111:0]
@N: CG364 :"D:\Actelprj\LCD_1602\hdl\LCD_Top.v":4:7:4:13|Synthesizing module LCD_Top
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_First_Buf[12] is always 0, optimizing ...
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_First_Buf[13] is always 0, optimizing ...
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_First_Buf[15] is always 0, optimizing ...
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_Second_Buf[12] is always 0, optimizing ...
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_Second_Buf[15] is always 0, optimizing ...
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <15> of Data_Second_Buf[111:8]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <12> of Data_Second_Buf[111:8]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <15> of Data_First_Buf[111:8]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <13> of Data_First_Buf[111:8]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <12> of Data_First_Buf[111:8]
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_Second_Buf[20] is always 0, optimizing ...
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_Second_Buf[23] is always 0, optimizing ...
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_First_Buf[21] is always 0, optimizing ...
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_First_Buf[23] is always 0, optimizing ...
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <23> of Data_First_Buf[111:16]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <21> of Data_First_Buf[111:16]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <23> of Data_Second_Buf[111:16]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <20> of Data_Second_Buf[111:16]
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_Second_Buf[28] is always 0, optimizing ...
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_Second_Buf[31] is always 0, optimizing ...
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_First_Buf[31] is always 0, optimizing ...
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <31> of Data_First_Buf[111:24]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <31> of Data_Second_Buf[111:24]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <28> of Data_Second_Buf[111:24]
@N: CL201 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Trying to extract state machine for register state
Extracted state machine for register state
State machine has 8 reachable states with original encodings of:
0000
0001
0010
0011
0100
0101
0110
0111
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_Second_Buf[39] is always 0, optimizing ...
@W: CL189 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Register bit Data_First_Buf[39] is always 0, optimizing ...
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <39> of Data_First_Buf[111:32]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <39> of Data_Second_Buf[111:32]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <2> of Data_First_Buf[2:0]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <1> of Data_First_Buf[2:0]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <3> of Data_Second_Buf[3:2]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <6> of Data_Second_Buf[6:5]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <11> of Data_Second_Buf[11:8]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <14> of Data_Second_Buf[14:13]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <22> of Data_Second_Buf[22:21]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <19> of Data_Second_Buf[19:16]
@W: CL171 :"D:\Actelprj\LCD_1602\hdl\LCD_Driver.v":42:0:42:5|Pruning Register bit <27> of Data_Second_Buf[27:24]
@END
Process took 0h:00m:01s realtime, 0h:00m:01s cputime
# Thu Jan 29 16:31:03 2009
###########################################################]
Synplicity Proasic Technology Mapper, Version 9.4.0, Build 055R, Built Jul 2 2008 07:11:59
Copyright (C) 1994-2008, Synplicity Inc. All Rights Reserved
Product Version Version 9.4A1
@N: MF249 |Running in 32-bit mode.
Automatic dissolve at startup in view:work.Clock_Gen(verilog) of U1(PLL_1M)
@W: BN132 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Removing sequential instance U2.Data_Second_Buf[2], because it is equivalent to instance U2.Data_Second_Buf[5]
@W: BN132 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Removing sequential instance U2.Data_Second_Buf[0], because it is equivalent to instance U2.Data_Second_Buf[5]
Finished RTL optimizations (Time elapsed 0h:00m:02s; Memory used current: 87MB peak: 88MB)
@N: MF238 :"d:\actelprj\lcd_1602\hdl\clock_gen.v":35:25:35:37|Found 10 bit incrementor, 'un6_count_1[9:0]'
@N:"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Found counter in view:work.LCD_Driver(verilog) inst disp_count[3:0]
Encoding state machine work.LCD_Driver(verilog)-state[7:0]
original code -> new code
0000 -> 00000001
0001 -> 00000010
0010 -> 00000100
0011 -> 00001000
0100 -> 00010000
0101 -> 00100000
0110 -> 01000000
0111 -> 10000000
@W: MO150 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Register big Data_Second_Buf[47] is always 0, optimizing ...
@W: MO150 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Register big Data_First_Buf[47] is always 0, optimizing ...
@W: MO150 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Register big Data_Second_Buf[55] is always 0, optimizing ...
@W: MO150 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Register big Data_First_Buf[55] is always 0, optimizing ...
@W: MO150 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Register big Data_Second_Buf[63] is always 0, optimizing ...
@W: MO150 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Register big Data_First_Buf[63] is always 0, optimizing ...
@W: MO150 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Register big Data_Second_Buf[71] is always 0, optimizing ...
@W: MO150 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Register big Data_First_Buf[71] is always 0, optimizing ...
@W: MO150 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Register big Data_Second_Buf[79] is always 0, optimizing ...
@W: MO150 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Register big Data_First_Buf[79] is always 0, optimizing ...
@W: MO150 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Register big Data_Second_Buf[87] is always 0, optimizing ...
@W: MO150 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Register big Data_First_Buf[87] is always 0, optimizing ...
@W: MO150 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Register big Data_Second_Buf[95] is always 0, optimizing ...
@W: MO150 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Register big Data_First_Buf[95] is always 0, optimizing ...
@W: MO150 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Register big Data_Second_Buf[103] is always 0, optimizing ...
@W: MO150 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Register big Data_First_Buf[103] is always 0, optimizing ...
@W: MO150 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Register big Data_Second_Buf[111] is always 0, optimizing ...
@W: MO150 :"d:\actelprj\lcd_1602\hdl\lcd_driver.v":42:0:42:5|Register big Data_First_Buf[111] is always 0, optimizing ...
Finished factoring (Time elapsed 0h:00m:02s; Memory used current: 88MB peak: 89MB)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -