邊緣檢測工程:Ascii轉十六進制模塊代碼解析
本文爲明德揚原創文章,轉載請註明出處!
Ascii轉十六進制模塊的功能:將ASCII所對應的16進制數,轉成實質的16進制數。
一、 設計架構
上圖是Ascii碼錶對應的數據。我們從圖中可以獲取到如下關鍵信息。
1.Ascii碼0~ 9對應的十六進制數爲8’h30~ 8’h39,也就是說收到ASCII碼的16進制數8’h30~ 8’h39時,就轉成0~9,也就是減去8’h30。
2. Ascii碼A~ F對應的十六進制數爲8’h41~ 8’h46,也就是說收到ASCII碼的16進制數8’h41~ 8’h46時,就轉成A~F,也就是減去8’h37。
3.Ascii碼a~ f對應的十六進制數爲8’h61~ 8’h66,也就是說收到ASCII碼的16進制數8’h61~ 8’h66時,就轉成a~f,也就是減去8’h57。
本模塊的功能,是對ASCII碼的09,af,A~F進行轉換,其他數據不轉換,不在此範圍的,數據無效。例如:
當din=8’h31(字符1),且din_vld = 1,則dout=4’h1,dout_vld=1;
當din=8’h41(大寫字母A)時,且din_vld=1,則dout=4’d10,dout_vld=1;
如果輸入的ASCII不在數字09,AF,a~f的時候,dout_vld就輸出0。
當din=8’h49(大寫字母I)時,且din_vld=1,則dout=0,dout_vld=0。
二、 信號的意義
三、參考代碼