使用函数实现数据大小端转换
生活随笔
收集整理的這篇文章主要介紹了
使用函数实现数据大小端转换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用函數實現數據大小端轉換
題目描述
在數字芯片設計中,經常把實現特定功能的模塊編寫成函數,在需要的時候再在主模塊中調用,以提高代碼的復用性和提高設計的層次,分別后續的修改。
請用函數實現一個4bit數據大小端轉換的功能。實現對兩個不同的輸入分別轉換并輸出。
接口的信號圖如下:
知識點
在 Verilog 中,可以利用任務(關鍵字為 task)或函數(關鍵字為 function),將重復性的行為級設計進行提取,并在多個地方調用,來避免重復代碼的多次編寫,使代碼更加的簡潔、易懂。
函數只能在模塊中定義,位置任意,并在模塊的任何地方引用,作用范圍也局限于此模塊。函數主要有以下幾個特點:
- 不含任何延遲、時序或時序控制邏輯。–只能是組合邏輯
- 至少有一個輸入變量。
- 只有一個返回值(返回值的變量就是函數名),且沒有輸出。
- 不含有非阻塞賦值語句。
- 函數可以調用其他函數,但是不能調用任務。
Verilog 函數聲明格式如下:
function [range-1:0] function_id ;input_declaration ;other_declaration ;procedural_statement ; endfunction其中:函數在聲明時,會隱式的聲明一個寬度為 range、 名字為 function_id 的寄存器變量,函數的返回值通過這個變量進行傳遞。當該寄存器變量沒有指定位寬時,默認位寬為 1。
函數通過指明函數名與輸入變量進行調用。函數結束時,返回值被傳遞到調用處。
函數調用格式如下:
function_id(input1, input2, …);總結
以上是生活随笔為你收集整理的使用函数实现数据大小端转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多功能数据处理器
- 下一篇: 苹果Black Unity回环运动表带亮