可編程邏輯器件圖形繪制方法及裝置的制造方法
【技術領域】
[0001]本發明涉及可編程邏輯器件領域,具體涉及一種可編程邏輯器件圖形繪制方法及
目.0
【背景技術】
[0002]現場可編程邏輯陣列(Field Programmable Gate Arrays即FPGA)是一種預先做好的硅器件,是一種典型的可編程邏輯器件,它能通過編程而實現幾乎所有類型的數字電路或者數字系統。由大量的邏輯塊、存儲器、DSP(Digital Signal Processor,數字信號處理器)來實現。由于FPGA是可編程的器件,所以其電路設計軟件(Electronic DesignAUtomat1n,EDA)尤為重要,其中,布局規劃、映射、布局和布線是芯片邏輯的主要流程。
[0003]EDA作為芯片設計軟件,必然需要根據模型抽象出FPGA邏輯門的邏輯結構和布線的方式以及時序等信息,使得設計更加直觀易懂。FPGA大量的邏輯門和海量的線路對整個芯片在EDA中展示有著很高的性能要求。因此,為了提高這些大量圖形元素在EDA中的繪制速度,設計者更加準確、流暢的操作邏輯對象,需要更加高效的圖形模型和繪制方法。現有方法中對于大量圖形對象的采取的辦法是全部繪制或者進行抽樣繪制。抽樣繪制即為了提高效率大部分的內容不進行繪制,只繪制認為感興趣的部分,這樣做的好處是能加快繪制速度,提高響應速度。然而,現有的方法如果全部繪制,則大量圖形情況下響應很慢,甚至出現卡頓、閃屏現象,繪制效率低,且用戶體驗不好;而抽樣繪制,只繪制部分對象,則缺乏整體感,用戶所關注的對象存在缺失,不利于設計者進行很好的設計。
【發明內容】
[0004]本發明要解決的主要技術問題是,提供一種可編程邏輯器件圖形繪制方法及裝置,解決現有FPGA圖形全部繪制時存在的響應慢、效率低,用戶體驗滿意度差,而抽樣繪制時又會導致缺乏整體感,不利于設計者設計的問題。
[0005]為解決上述技術問題,本發明提供一種可編程邏輯器件圖形繪制方法,包括:
[0006]構建可編程邏輯器件當前待繪制區域的基礎元素層,所述基礎元素層包含所述可編程邏輯器件當前待繪制區域的所有元件和以及各元件之間的所有連接線路;
[0007]從所述基礎元素層選擇出所述可編程邏輯器件當前待繪制區域的設計元素構成電路設計層;所述設計元素包括當前設計電路在所述可編程邏輯器件當前待繪制區域所用到的所有目標元件以及所述各目標元件之間的當前用到的目標連接線路。
[0008]在本發明的一種實施例中,構建所述可編程邏輯器件當前待繪制區域的基礎元素層包括:
[0009]根據所述可編程邏輯器件的區域與元件對應關系庫,構建所述可編程邏輯器件當前待繪制區域的基礎元件層;所述區域與元件對應關系庫包含可編程邏輯器件各區域包含的元件以及各元件的位置信息;
[0010]根據所述可編程邏輯器件的區域與線路對應關系庫,構建所述可編程邏輯器件當前待繪制區域的基礎線路層,所述區域與元件對應關系庫包含可編程邏輯器件各區域的各元件之間的所有線路連接關系;
[0011]將所述基礎元件層與所述基礎線路層疊加得到包含所述可編程邏輯器件當前待繪制區域所有元件以及各元件之間所有連接線路的基礎元素層。
[0012]在本發明的一種實施例中,從所述基礎元素層選擇出所述可編程邏輯器件當前待繪制區域的設計元素構成電路設計層包括:
[0013]根據預設的元件設計表從所述基礎元件層中選擇出當前設計電路所用到的所有目標元件構成設計元件層;
[0014]根據預設的線路設計表從所述基礎線路層中選擇出所述各目標元件之間當前用到的目標連接線路構成設計線路層;
[0015]將所述設計元件層和設計線路層疊加得到包含所述可編程邏輯器件當前待繪制區域所用到的所有目標元件以及所述各目標元件之間的當前用到的目標連接線路的電路設計層。
[0016]在本發明的一種實施例中,還包括:
[0017]根據用戶的對象選擇指令從所述電路設計層中選中對應的目標對象構成選中對象層,所述目標對象包含目標元件和/或目標連接線路;
[0018]根據用戶的更新指令對所述目標對象進行更新。
[0019]在本發明的一種實施例中,所述基礎元件層、基礎線路層、設計元件層、設計線路層和選中對象層從下往上依次疊加。
[0020]在本發明的一種實施例中,還包括:
[0021]根據層更新指令從所述基礎元件層、基礎線路層、設計元件層、設計線路層和選中對象層中選中待更新的目標層;
[0022]刪除選中的目標層以及目標層以上的層,并根據所述層更新指令中的更新策略對所刪除的層進行重構。
[0023]在本發明的一種實施例中,還包括:
[0024]當所述基礎元素層和所述電路設計層發生平移且平移后至少一部分仍保留時,在平移后的至少一部分空白區域構建所述可編程邏輯器件對應待繪制區域的基礎元素層和電路設計層,并與所述保留部分的基礎元素層和電路設計層進行拼接。
[0025]為了解決上述問題,本發明還提供了一種可編程邏輯器件圖形繪制裝置,包括:
[0026]基礎元素層構建模塊,用于構建可編程邏輯器件當前待繪制區域的基礎元素層,所述基礎元素層包含所述可編程邏輯器件當前待繪制區域的所有元件和以及各元件之間的所有連接線路;
[0027]電路設計層構建模塊,用于從所述基礎元素層選擇出所述可編程邏輯器件當前待繪制區域的設計元素構成電路設計層;所述設計元素包括當前設計電路在所述可編程邏輯器件當前待繪制區域所用到的所有目標元件以及所述各目標元件之間的當前用到的目標連接線路。
[0028]在本發明的一種實施例中,所述基礎元素層構建模塊包括基礎元件層構建子模塊、基礎線路層構建子模塊和第一疊加子模塊;
[0029]所述基礎元件層構建子模塊用于根據所述可編程邏輯器件的區域與元件對應關系庫,構建所述可編程邏輯器件當前待繪制區域的基礎元件層;所述區域與元件對應關系庫包含可編程邏輯器件各區域包含的元件以及各元件的位置信息;
[0030]所述基礎線路層構建子模塊用于根據所述可編程邏輯器件的區域與線路對應關系庫,構建所述可編程邏輯器件當前待繪制區域的基礎線路層,所述區域與元件對應關系庫包含可編程邏輯器件各區域的各元件之間的所有線路連接關系;
[0031]所述第一疊加子模塊用于將所述基礎元件層與所述基礎線路層疊加得到包含所述可編程邏輯器件當前待繪制區域所有元件以及各元件之間所有連接線路的基礎元素層。
[0032]在本發明的一種實施例中,所述電路設計層構建模塊包括設計元件層構建子模塊、設計線路層子模塊和第二疊加子模塊;
[0033]所述設計元件層構建子模塊用于根據預設的元件設計表從所述基礎元件層中選擇出當前設計電路所用到的所有目標元件構成設計元件層;
[0034]所述設計線路層子模塊用于根據預設的線路設計表從所述基礎線路層中選擇出所述各目標元件之間當前用到的目標連接線路構成設計線路層;
[0035]所述第二疊加子模塊用于將所述設計元件層和設計線路層疊加得到包含所述可編程邏輯器件當前待繪制區域所用到的所有目標元件以及所述各目標元件之間的當前用到的目標連接線路的電路設計層。
[0036]在本發明的一種實施例中,還包括選中層構建模塊和對象更新模塊;
[0037]所述選中層構建模塊用于根據用戶的對象選擇指令從所述電路設計層中選中對應的目標對象構成選中對象層,所述目標對象包含目標元件和/或目標連接線路;
[0038]所述對象更新模塊用于根據用戶的更新指令對所述目標對象進行更新。
[0039]在本發明的一種實施例中,還包括層更新模塊和重構模塊;所述基礎元件層、基礎線路層、設計元件層、設計線路層和選中對象層從下往上依次疊加;
[0040]所述層更新模塊用于根據層更新指令從所述基礎元件層、基礎線路層、設計元件層、設計線路層和選中對象層中選中待更新的目標層;
[0041]所述重構模塊用于刪除選中的目標層以及目標層以上的層,并根據所述層更新指令包含的更新策略對所刪除的層進行重構。
[0042]在本發明的一種實施例中,還包括拼接模塊,用于當所述基礎元素層和所述電路設計層發生平移且平移后至少一部分保留時,在平移后的至少一部分空白區域構建所述可編程邏輯器件對應待繪制區域的基礎元素層和電路設計層,并與所述保留部分的基礎元素層和電路設計層進行拼接。
[0043]本發明的有益效果是:
[0044]本發明提供的可編程邏輯器件圖形繪制方法及裝置,在對如FPGA等可編程器件進行圖形繪制時,先構建可編程邏輯器件當前待繪制區域的基礎元素層,所構建的基礎元素層包含可編程邏輯器件當前待繪制區域的所有元件和以及各元件之間的所有連接線路,該基礎元素層顯示級別低,修改頻率低、更新對象數量多,因此作為底層的基礎層;然后再根據當前設計電路從基礎元素層選擇出當前待繪制區域所用到的所有目標元件以及各目標元件之間的當前用到的目標連接線路構成電路設計層;這樣就完成了可編程邏輯器件圖形的一次繪制。采用本發明提供的方案至少具備以下好處:
[0045]本發明提供的方案采用分層繪制,先構建得到包含所有基礎元素的基礎元素層,然后再根據當前設計選中所涉及到的目標元件及當前用到的目標連接線路即可得到設計電路,因此在繪制不同設計電路時,可以通過在基礎元素層基礎上選擇不同設計電路對應的目標元