"); //-->
是这样的,一个测试中写一个下面的一段代码:
//--------------------------------------------------
// VGA色彩信号产生
reg[23:0] vga_rgb; // VGA色彩显示寄存器
always @ (posedge clk or negedge rst_n)
if(!rst_n) vga_rgb <= 24'd0;
else if(!valid) vga_rgb <= 24'd0;
else vga_rgb <= 24'hff_00_ff;
//r,g,b控制液晶屏颜色显示
assign lcd_r = vga_rgb[23:16];
assign lcd_g = vga_rgb[15:8];
assign lcd_b = vga_rgb[7:0];
很明显,这段代码里的vga_rgb寄存器的bit15-7是不变的,始终为低。而这样的代码在仿真时,vga_rgb的值却出现了一些意外:
也就是vga_rgb的bit15-7虽然我们让他始终保持低电平,但是仿真结果却是高阻态。为什么呢?回头看看综合报告:

说明vga_rgb[8:15]被综合掉了,即所谓removed registers,所以这个8位寄存器不存在了, 仿真时也就只能以8’hzz代替了。将代码改成:
//--------------------------------------------------
// VGA色彩信号产生
reg[23:0] vga_rgb; // VGA色彩显示寄存器
always @ (posedge clk or negedge rst_n)
if(!rst_n) vga_rgb <= 24'd0;
else if(!valid) vga_rgb <= 24'd0;
else vga_rgb <= 24'hff_ff_ff;
//r,g,b控制液晶屏颜色显示
assign lcd_r = vga_rgb[23:16];
assign lcd_g = vga_rgb[15:8];
assign lcd_b = vga_rgb[7:0];
这样vga_rgb的所以24个寄存器都可能出现变化,所以也就不会被综合掉,那么仿真后是否正常呢?
得到预期的结果。即所谓寄存器不一定是寄存器,关键还是要看综合报告。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
Vicor更高密度 - 电源在更小的空间容纳更多功能
移动测绘成像:不仅仅是高分辨率
安森美携手英伟达,共推下一代AI数据中心加速向800V直流供电方案转型
AD7714 的工作原理及其应用
AD7705or06 的原理与应用
十倍整流电路
七倍压整流电路(一)
GD32 MCU高效控制方案,多维赋能家电全场景变频驱动
pc104上编译WINDML例子的问题(vbe版本)
车载电驱“芯”引擎:RIGOL功率半导体动态性能测试解决方案解析
输出电压调节
将 DC/DC 转换器改造为高性能的全功能电池充电器
用软件定义SoC实现专业音频接口灵活转换
[求助]急!!想买一块开发板,请教各位大虾!!!
AD590在啤酒发酵温度控制系统中的应用
5G时代蜂窝物联网的设计考量
输出电压可调的稳压式多倍整流电路
AD7705or06及其应用
ROHM推出实现业界超低电路电流的超小尺寸CMOS运算放大器
五桥串桥高压整流电路
尼得科旗下品牌恩布拉科压缩机将在印度建厂
Rhapsody 6.0 released
Microchip PIC24F Android 附件开发平台
ad7705应用原理
单相全桥PWM整流电路原理图
Groq 削减 2025 年收入预期 15 亿美元,对三星晶圆厂造成打击
请教大家如何在vxworks下利用串口驱动moden拨号上网?
大嘴业话:Intel 部门调整 揭开“英阿大战”序幕
Vishay Gen 3 650V和1200V SiC肖特基二极管在提高效率的同时增强电绝缘性
a