6284|3

63

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

quartus ii9.0中怎么看哪些寄存器被综合掉了,特权大哥的johnson [复制链接]

试验中大家注意看rtl代码没,我根据他视频写的程序,一些寄存器没有了,用网上的方法没作用,在综合报告中也没看到
代码如下:
module ledflow(
                                clk,rst_n,
                                led,s1_n,s2_n,s3_n);
input clk;                                //时钟信号
input rst_n;                        //复位信号
output[3:0] led;                //二极管0显示
input        s1_n,s2_n,s3_n;                        //3个独立按键

reg        led_dir        ;         //1'b1:low to high        1'b0:high to low
reg        led_on        ;        //1'b1:on        1'b0:off
//------------------------------------------------------------
reg[23:0]        cnt;
always @ (posedge clk or negedge rst_n)
                if(!rst_n)        cnt <= 24'd0;
                else cnt <= cnt + 1'b1;

//--------------------------------------------------------------
reg[3:0] led_r;               
always @ (posedge clk or negedge rst_n)
                if(!rst_n)        led_r <= 4'b0001;
                else if(cnt == 24'hfffffe && led_on)  
                        begin
                                if(led_dir) led_r <= {led[2:0],led[3]};                //low to high
                                else                  led_r <= {led[0],led[3:1]};                //high to low       
                        end
assign led = led_r;

/***********************************************************************\
           
           the code blow is for keyboard scan
           
\***********************************************************************/
                       
reg[2:0] key_rst /* synthesis preserve */;
always @ (posedge clk or negedge rst_n)
                if(!rst_n)        key_rst <= 3'b111;
                else key_rst <= {s3_n,s2_n,s1_n};

//-----------------------------------------------------------------               
reg[2:0] key_rst_r /* synthesis preserve */;
always @ (posedge clk or negedge rst_n)                
                if(!rst_n)        key_rst_r <= 3'b111;
                else key_rst_r <= key_rst;

//当key_rst由1变成0时,led_an的值由低变高,维持一个时钟周期
wire[2:0]        key_an = key_rst_r & (~key_rst);
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
reg[19:0]        count/* synthesis preserve */;
always @ (posedge clk or negedge rst_n)
                if(!rst_n)        count <= 20'd0;
                else if(key_an)        count        <= 20'd0;
                else count <= count + 1'b1;
               
reg[2:0] low_sw;      
always @ (posedge clk or negedge rst_n)
        if(!rst_n)        low_sw <= 3'b111;
        else if(cnt == 20'hfffff)       
                low_sw <= {s3_n,s2_n,s1_n};
                               
/*******************************************************************************/
reg[2:0] low_sw_r;      
always @ (posedge clk or negedge rst_n)
                if(!rst_n)        low_sw_r <= 3'b111;
                else low_sw_r <= low_sw;
//当寄存器low_w由1变成0时,led_ctrl的值变为高,维持一个时钟周期               
wire[2:0] led_ctrl = low_sw_r[2:0] & (~low_sw[2:0]);

//=============================================================================               
always @ (posedge clk or negedge rst_n)
        if(!rst_n) begin                                                        //按键值初始化
                led_on = 1'b1;
                led_dir= 1'b0;
                end
        else begin                                                                   //
                if(led_ctrl[0]) led_on <= ~led_on;
                if(led_ctrl[1]) led_dir <= 1'b0;
                if(led_ctrl[2]) led_dir <= 1'b1;
        end
endmodule                               


rtl图如下
此帖出自FPGA/CPLD论坛

最新回复

寄存器类型综合出来本来就不一定就是寄存器 verlog书上介绍类型的时候就讲了  详情 回复 发表于 2012-2-21 19:29
点赞 关注
 

回复
举报

63

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

未命名.JPG (140.84 KB, 下载次数: 2)

未命名.JPG
此帖出自FPGA/CPLD论坛
 
 

回复

63

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
Key_rst 和key_rst_r   count 都没有了

图中综合报告中没有寄存器被综合掉的报告

360截图-8356781.jpg (17.25 KB, 下载次数: 1)

360截图-8356781.jpg
此帖出自FPGA/CPLD论坛
 
 
 

回复

1012

帖子

0

TA的资源

五彩晶圆(初级)

4
 

回复 板凳 prayer_hong 的帖子

寄存器类型综合出来本来就不一定就是寄存器
verlog书上介绍类型的时候就讲了
此帖出自FPGA/CPLD论坛
个人签名http://item.taobao.com/item.htm?id=12366456386
Arduino 兼容的  maple
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表