2016-09-27 24 views
0

我想創建一個TCL或perl腳本,它將比較位數和總位數算,如果有不匹配然後將0在開頭: 文件的部分內容:需要幫助來創建TCL或Perl腳本,它可以計算總位數,如果有不匹配,那麼腳本應該爲其餘位添加0

// DEBUG: TDO  : 16'b1 
// DEBUG: STEP # : 3 
// DEBUG: TDI  : 35'b1011101001011110100000100100100 
// DEBUG: TDO  : 35'b0xx001011101001011110100000100100100 
// DEBUG: LOAD_DR (35 , 35'b1011101001011110100000100100100) ; 
// DEBUG: STEP # : 4 
// DEBUG: LOAD_NOP (2) ; 
// DEBUG: STEP # : 5 
// DEBUG: TDI  : 8'b1011101001011110100000100100101 
// DEBUG: TDO  : 8'b100 
// DEBUG: LOAD_DR (35 , 35'b1011101001011110100000100100101) ; 

這裏,對於一些TDO,位是不完整的。 對於例如: 8'b100,這裏只有3位,但數字是8,所以無論這種場景在那裏,我需要在剩下的位開始放置額外的0。對於8'b100輸出應該是8' b 100和這個腳本應該替換原來的文件該位不會影響文件的任何其他內容:由腳本進行必要的更改後的預計產量爲8'b100

部分內容

// DEBUG: STEP # : 5 
// DEBUG: TDI  : 8'b1011101001011110100000100100101 
// DEBUG: TDO  : 8'b00000100 

有人請幫助我。 TCL腳本是可取的,但Perl也很好。

在此先感謝。

+0

喜@DaveCross,我處於TCL/perl腳本的初始階段,所以我需要幫助來創建這個腳本。如果您有任何想法,請幫助我。我會非常感激。謝謝! – Nishant

+0

爲什麼第二個TDO線有「x」字符? –

回答

1

我不會給你代碼,因爲這不是Stack Overflow的用處。但是我會通過程序員如何考慮這個任務來討論你。編程就是將任務分解爲更小的任務。那麼我們需要在這裏做什麼?

  • 在同一時間讀取你的輸入線(它從何而來?是是一個文件?難道管道輸送到你的程序讓你從標準輸入讀嗎?)
  • 認識到你需要的線調查。你如何識別包含二進制數字的行?
  • 對於不需要處理的行,請將它們不改變地寫入輸出(是否爲文件?)
  • 對於需要處理的行,如何將數據拆分爲可以使用的令牌調查?
  • 你如何測量二進制數的長度?
  • 二進制數的正確長度是多少?
  • 如何將二進制數字填充到正確的長度?

想想這些問題的答案。如果任何問題太大而無法回答,那就考慮將其分解成更小的問題。您可以通過查看任務規範來回答一些問題。其中一些你需要通過閱讀編程語言參考書來獲得答案。

嘗試一下。當你有代碼執行某些操作時(即使它不能解決問題的每一部分),請回到這裏並更新你的問題以包含你的代碼。解釋什麼可行,以及你遇到什麼問題。詢問我們明確的問題。我們會盡力幫助你。

+0

謝謝。在獲得幫助後,我可以繼續進行。 – Nishant