第一篇博客:timegen學習記錄


timegen學習記錄

最近重新從零開始學習FPGA,把基礎打扎實。用visio畫波形圖,感覺這畫波形圖的效率不高、使用不夠方便。自己是用過timegen軟件,感覺畫得比較快,方便時序對齊。但指導老師說,timegen畫的圖不方便導出到文檔、不方便后期修改,交作業也都是用visio的格式。突然在csdn上看到有timegen波形圖導出到visio里面修改的方法,於是轉載,把方法整理一下。

 

TimeGen官網下載鏈接:http://www.xfusionsoftware.com/download_timegen.html

百度網盤下載鏈接:https://pan.baidu.com/s/1Fn1wnjyFr3PCbBmQobMBsQ 提取碼:628a

 

畫完之后去掉背景logo:

(1)View-TimeGen Logo去掉勾(即去掉右下角的字符);
View-Bounding Rectangle去掉勾(去掉四周黑色邊框);

(2)File-Export-Enhanced MetaFile(.emf),導出為.emf文件;

(3)打開visio軟件,打開該文件,選擇*.emf

 

打開文件后,①可以右鍵點擊圖片-組合-取消組合,②也可以左鍵選中該圖片,點擊上方的組合-取消組合。取消組合后就可以隨意刪除了。

可以在visio中修改,並重新另存為.vsdx的格式。

timegen的help FAQ鏈接:http://www.xfusionsoftware.com/timegenhowto.html

 

TIME GEN  學習筆記【原創:翩若驚鴻】

1.TIME GEN可以做什么?

TIME GEN是一個比較高效的波形繪制軟件,可以用於繪畫波形,在IC設計領域,硬件設計領域,集成電路領域使用的比較多。

以FPGA邏輯設計為例,編寫源代碼時,某個模塊的功能構建通常需要FSM實現特定的時序控制、流程控制。而FSM有效的設計方法是,使用“狀態圖(visio繪制)+時序圖(TIME GEN繪制)”組合,快速定義模塊功能,提高設計效率。

另外,很多模塊之間的接口信號的時序關系,也可以通過TIME GEN 繪制。

TIME GEN不僅可以將繪制波形以圖片的方式保存下來,還可以以ASCII碼的格式復制到源代碼文件中,作為注釋跟隨設計文件存在。​

File-Export-show ascii waveforms,然后復制,到verilog、vhdl等設計文件中粘貼即可;

 

2.以一個簡單FSM設計為例

1)功能:

前端緩存FIFO(first word first through模式,W8xD256)​​寫滿16個數據,prog_empty信號拉低,FSM觸發緩存FIFO讀動作,將數據按照幀格式解析( 示例僅解析2個寄存器),送入后端邏輯;

2)FSM模塊接口:

 1 module  fr_unpack_fsm(
 2     input            clk,
 3     input            reset,
 4     input            fifo_prog_empty,
 5     output            fifo_rd_en,
 6     input    [7:0]    fifo_rd_data,​
 7     output    [7:0]    reg_1,
 8     output    [7:0]    reg_2,
 9     output    [5:0]    state
10 );​
View Code

 

3)狀態圖

 

下節具體記錄使用TIME GEN繪制時序圖步驟。

3.使用TIME GEN繪制時序圖

3.1​雙擊啟動TIME GEN

​​我使用的版本是TIEM GEN 3.2,界面如下圖。

 

菜單欄:文件/編輯/視圖/添加/模式/幫助

工具欄:新建/打開/保存;剪切/復制/打印;撤銷/返回;時鍾/信號/總線/分割;屬性;ASCII;幫助;刪除時鍾周期;增加時鍾周期;時鍾周期延長;時鍾周期縮短;增加信號高度;減小信號高度;減小信號行距;增加信號行距

快捷工具條:​選擇;信號高低繪制1/信號高阻態繪制/信號高低繪制2;添加文本;添加標簽1/添加標簽2;增加曲線箭頭/增加折線箭頭/增加直線箭頭/增加懸浮直線箭頭;增加時間間斷;增加波形無效區域/擦除波形無效區域;增加波形延時/減少波形延時

3.2 波形設計

1)添加時鍾

 添加時鍾,選擇工具欄CLK圖標,點擊一下時鍾信號就出現了。​

 

​2)添加信號、總線

添加信號,選擇工具欄SIG​圖標,點擊一下信號就出現了。

同樣,添加總線,選擇工具欄BUS圖標,點擊一下總線信號也出現。

根據FSM設計要求,reset、fifo_prog_empty、fifo_rd_en是信號,fifo_rd_data 、reg_1、 reg_2、state則為總線信號。因此依次添加3個信號、4個總線信號。

信號未修改屬性前,均使用默認名稱。

3)修改信號屬性

添加完信號后,工作模式保持在繪制模式,需要先將工作模式轉換到編輯模式,才能進行信號屬性修改。

點擊菜單欄mode圖標,選擇edit模式​。

然后,直接雙擊信號名稱進行修改,也可選擇信號后,點擊工具欄SIG ATTR,進行修改。

 

​4)繪制信號波形

信號波形的繪制,主要使用快捷工具條:Hi Lo、Hi-z、Bus工具。

以reset信號為例,要將reset信號在clk第2個周期上升沿到來后下拉,可以點擊Hi Lo圖標,然后在reset信號波形上clk第2個周期上升沿后位置,開始拖動鼠標,即可獲取如下波形。

 

​依此方法,設計信號波形。

5)添加時間間斷

在復位完成后,fifo_prog_empty的下拉到來時刻是不確定的,因此需要用時間間斷來表征這種不確定性。

單擊工具條​時間間斷圖標,選中該功能,在所有信號的時鍾3周期單擊,添加時間間斷標識。

 

​6)完成波形設計,並添加文字注釋

 

7)添加信號關聯性注釋

本設計中,fifo_prog_empty信號的下拉,觸發了幀解析動作,因此單擊工具條的曲線箭頭圖標,標注信號關聯性。

要修改箭頭的屬性,可以選中箭頭后右擊,修改,如下圖,將箭頭顏色改為紅色。​

 

​8)標注波形無效區域

所謂波形無效區域,也可以理解為設計不關心的區域。標注此類區域,有助於界定設計用不需要處理的時序部分,和信號無效區域。

 

9)增加信號延時

FPGA的設計,必須考慮信號輸出延時帶來的影響。TIME GEN可以很好地使用增加延時的工具來調整波形輸出延時。​

以fifo_prog_empty信號為例,要推遲該信號的延時,可以選擇該信號的CLK-4時段,單擊工具條DELAY圖標,推遲fifo_prog_empty的下拉時刻。​也可以直接在編輯模式下,將鼠標移動到該信號的下降沿,直接拖動下降沿向右移動。

 

​10)添加時間標簽

​為上一步中增加的時間延時,添加時間標簽。選中工具條時間標簽圖標后,單擊fifo_prog_empty在CLK-4時段的波形,放置到時間標簽的起點,然后單擊fifo_prog_empty下拉時刻波形,放置時間標簽的終點,完成時間標簽的添加。

可以選中時間標簽,修改屬性。

 

至此,使用TIME GEN設計FSM時序完成。

 

附上原文鏈接如下:

原文鏈接1: https://blog.csdn.net/tafengtianya/article/details/80184601

原作者:tafengtianya 來源:CSDN

原文鏈接2: http://blog.sina.com.cn/s/blog_75c020ef0102x1u2.html

原作者:翩若驚鴻 來源:新浪博客 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM