集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 11347|回复: 10

verilog怎么才会自动生成ram或rom?

[复制链接]
CCIE 发表于 2010-6-28 00:58:16 | 显示全部楼层 |阅读模式
verilog怎么才会自动生成ram或rom?
下面的代码编译后报告中提示用到了1024memory bits,以前编过一些程序,用到过reg型变量,也用过case语句,但没使用到memory bits,不知道为什么在这个程序中占用了一些memory bits。请大家帮我看看,先谢了。这是一个4*4键盘程序,实际中可以用的
module key(clk,col,row,key_value,flag_out);
input clk;
input [3:0] col;
output [3:0] row,key_value;
output flag_out;
reg [3:0] row,key_value;
reg flag_out;
reg [3:0] x_value,keyval;
reg [7:0] xy_value;
reg hit_flag;
always @(posedge clk)// 时钟1ms,循环行扫描发生电路
begin
if(x_value==4'b0111)
x_value<=4'b1110;
else
x_value<={x_value[2:0],1'b1};
row<=x_value;
end
always @(posedge clk)
begin
if(col==4'b1111)
if (hit_flag==1)//在按键发生后输出键值及通知信号flag_out=1
begin
flag_out<=1;
hit_flag<=0;
key_value<=keyval;
end
else
flag_out<=0;//没有按键flag_out=0
else
begin //扫描到按键时进行键值译码
flag_out<=0; //译码过程中不输出
hit_flag<=1;//说明有按键了
xy_value<={col,row};
case(xy_value)
8'b11101110:keyval<=4'b0000;//0
8'b11011110:keyval<=4'b0001;//1
8'b10111110:keyval<=4'b0010;//2
8'b01111110:keyval<=4'b0011;//3
8'b11101101:keyval<=4'b0100;//4
8'b11011101:keyval<=4'b0101;//5
8'b10111101:keyval<=4'b0110;//6
8'b01111101:keyval<=4'b0111;//7
8'b11101011:keyval<=4'b1000;//8
8'b11011011:keyval<=4'b1001;//9
8'b10111011:keyval<=4'b1010;//A
8'b01111011:keyval<=4'b1011;//B
8'b11100111:keyval<=4'b1100;//C
default:keyval<=4'b0000;
endcase
end
end
endmodule
ATA 发表于 2010-6-28 02:18:32 | 显示全部楼层
大家给点想法吧,不管对的还是错的
FFT 发表于 2010-6-28 03:28:03 | 显示全部楼层
好象是CASE语句综合成的~!
ATA 发表于 2010-6-28 05:22:55 | 显示全部楼层
是啊,这里的存储器是case语句生成的,但以前写过的七段码译码电路也有case,但却没生成存储器,这是为什么呢?
longtime 发表于 2010-6-28 06:34:24 | 显示全部楼层
case是不是都会生成LUT(差不多就是mem)啊?请教一下
       
<br>
<br>
LZ以前的七段码译码电路是不是用组合逻辑写的?用的阻塞赋值?
CHA 发表于 2010-6-28 08:16:48 | 显示全部楼层
这个应该是在综合CASE语句对KEYVAL的赋值时产生的。楼主可以看看SYNPLICITY的综合工具手册,其中RAM或ROM的引用可以用CASE语句完成。希望对LZ有用。
CHAN 发表于 2010-6-28 09:57:41 | 显示全部楼层
case不一定都会生成mem,我试过的。我的七段码译码电路的确是用组合逻辑写的,阻塞赋值
interi 发表于 2010-6-28 10:40:54 | 显示全部楼层
谢谢你的指点!
ups 发表于 2010-6-28 11:30:13 | 显示全部楼层
是不是就是说在时序逻辑下的case语句就能生成mem了?请教一下大家
HANG 发表于 2010-6-28 12:41:14 | 显示全部楼层
看不明白!!!!!!!!
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-24 09:25 , Processed in 0.068801 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表