636|4

2901

帖子

0

TA的资源

纯净的硅(高级)

modelsim仿真的问题 [复制链接]

我看夏宇闻老师的《Verilog 数字系统设计教程》第十一章例组合逻辑二一个三态数据通路控制器

代码:

`define ON 1'b1
`define OFF 1'b0

module zhlj2(LinkBusSwitch,outbuf,inbuf,bus,clk);
input LinkBusSwitch;
input[7:0] outbuf;
output [7:0] inbuf;
input clk;
inout [7:0] bus;

wire LinkBusSwitch;
wire [7:0] outbuf;
reg [7:0]  inbuf;
wire [7:0]  bus;

assign bus=(LinkBusSwitch == `ON)  ? outbuf : 8'hzz;

always @(posedge clk) 
	begin
		if(!LinkBusSwitch)
			inbuf<=bus;
	end
	
	
endmodule

仿真代码:

`timescale 1 ns/ 1 ps
module zhlj2_vlg_tst();
// constants                                           
// general purpose registers
//reg eachvec;
// test vector input registers
//reg [7:0] treg_bus;
reg clk;
reg [7:0] outbuf;
// wires                                               
reg LinkBusSwitch;
wire [7:0]  bus;
wire [7:0]  inbuf;

// assign statements (if any)                          
//assign bus = treg_bus;
zhlj2 i1 (
// port map - connection between master ports and signals/registers   
	.LinkBusSwitch(LinkBusSwitch),
	.bus(bus),
	.clk(clk),
	.inbuf(inbuf),
	.outbuf(outbuf)
);


initial                                                
begin                                                  
// code that executes only once                        
// insert code here --> begin 
	//begin
		LinkBusSwitch=0;
		clk=0;
	//end
	forever
		#5 clk=~clk;
 end
 
// --> end                                             
   initial
		begin
 
			
			#20 outbuf=15;
			#20 outbuf=38;
			#20 LinkBusSwitch=1;
			
			#20 outbuf=122;
			#20 outbuf=238;
			#20 outbuf=72;
			
			#20 LinkBusSwitch=0;
			#20 outbuf=55;
			#20 outbuf=0;
			$finish;
		end
	
                                             
endmodule

有一处波形不对,就是outbuf=238时,显示-18.

波形图如下:

0.jpg

请问高手,怎么回事?谢谢!

最新回复

我把数据位宽改为9位就好了,[8:0]. 难道把数据当成了有符号数?   详情 回复 发表于 2023-3-26 10:18
个人签名为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

回复

90

帖子

0

TA的资源

一粒金砂(中级)

outbuf 改reg类型试试,一旦线与或线或,结果会变。



回复

3925

帖子

4

TA的资源

版主

数据类型转换错误导致?


回复

2901

帖子

0

TA的资源

纯净的硅(高级)

改成reg类型后,编译出错:

1.jpg

个人签名为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

回复

2901

帖子

0

TA的资源

纯净的硅(高级)

我把数据位宽改为9位就好了,[8:0].

难道把数据当成了有符号数?

个人签名为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

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

相关帖子
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/5 下一条
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表