微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 查询表look up table 用verilog怎么写呢?急!

查询表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吧?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top