查询表look up table 用verilog怎么写呢?急!
时间:10-02
整理:3721RD
点击:
大家好! 我最近想用查找表做东西,但是搞不清楚什么算查找表。 用case语句写的算是查找表吗 ?还是要把数据做成一个ROM,然后读数? 希望大家指点下 !
最好能给个代码示例!
非常感谢!
最好能给个代码示例!
非常感谢!
基本上逻辑的东西 都会用查找表给你实现了。你说的CASE就是其中之一
谢谢你 那用ROM 存数 再实现 那是怎么回事呢?
1)Xilinx的话,用coregen生成ROM的NGC,在生成过程中导入.coe文件(存储的数据)。
或者2)自己先定义个wire[m:0] mem[n:0];
assign mem[0]=x1,
mem[1]=x2,
....
mem[n-1]=xn;
以后再用ROM代替。
用ROM實現的話,
建議您可以先將MATLAB或C或其他程式語言simulation的結果存成2進制或16進制格式的檔案。
接下來再RTL Code中使用以下Code
$readmemh("xxx.pat", mem);
其中readmemh為16進制檔案,亦可用 readmemb為2進制檔案
xxx.pat為您用MATLAB或C或其他程式所寫出的檔案
mem為存放的記憶體名稱,名稱可自訂
如此一來,您就可以由mem的位址來找出該記憶體位址的資料
case实现很简单的
用ROM的话,就要通过指令去取了,还要靠软件
LZ所要描述的是查表实现某项功能,而非FPGA的LUT吧?
