打印
[verilog]

modelsim仿真出现# Error loading design提示

[复制链接]
5682|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 这就非常尴尬了 于 2016-4-20 13:40 编辑

什么原因,新人求指教:

主程序:

module speed_select_rx(clk,rst_n,bps,bps_start,clk_bps);//波特率设定

input clk;   //25M时钟
input rst_n;  //复位信号
input bps_start; //接收到信号以后,波特率时钟信号置位,当接收到uart_rx传来的信号以后,模块开始运行
input [1:0] bps;
output clk_bps; //接收数据中间采样点

reg[12:0] cnt;//分频计数器
reg[12:0] cnt_end;
reg clk_bps_r;//波特率时钟寄存器

reg[2:0] uart_ctrl;//波特率选择寄存器

always @(bps or negedge rst_n)
begin
   if(!rst_n) clk_bps_r<=1'b0;
   else case(bps)
     2'b00 : cnt_end<=5208;
     2'b01 : cnt_end<=2604;
     2'b10 : cnt_end<=1302;
     2'b11 : cnt_end<=651;
     default : cnt_end=651;
     endcase
end

always @(posedge clk or negedge rst_n)
  if(!rst_n)
   cnt<=13'd0;
  else if((cnt==cnt_end)|| !bps_start)//判断计数是否达到1个脉宽
   cnt<=13'd0;
  else
   cnt<=cnt+1'b1;//波特率时钟启动
   
always @(posedge clk or negedge rst_n) begin
  if(!rst_n)
   clk_bps_r<=1'b0;
  else if(cnt== (cnt_end/2))//当波特率计数到一半时,进行采样存储
   clk_bps_r<=1'b1;
  else
   clk_bps_r<=1'b0;
end
assign clk_bps = clk_bps_r;//将采样数据输出给uart_rx模块
endmodule

testbench程序:

module speed_select_rx_testbench;

reg clk;   //25M时钟
reg rst_n;  
reg bps_start; //接收到信号以后,波特率时钟信号置位,当接收到uart_rx传来的信号以后,模块开始运行
reg [1:0] bps;
wire clk_bps; //接收数据中间采样点,

initial
begin
#0 rst_n=1'b0;
#20 rst_n=1'b1;
    bps_start=1'b1;
    bps=2'b11;

#200000 bps=2'b00;
end

initial
begin
#0 clk=1'b0;
forever
#10 clk=~clk;
end
speed_select_rx_testbench(
.clk(clk),
.rst_n(rst_n),
.bps(bps),
.bps_start(bps_start),
.clk_bps(clk_bps));
endmodule

相关帖子

沙发
这就非常尴尬了|  楼主 | 2016-4-20 13:41 | 只看该作者
有木有前辈帮忙看看呀,拜托了

使用特权

评论回复
板凳
xuander| | 2016-4-21 09:51 | 只看该作者

这问题应当与程序内容无关。

软件没**,或者工程的构成有问题,
找个教程,先保证操作步骤正确。


使用特权

评论回复
地板
wsz910919| | 2016-4-26 11:57 | 只看该作者
你的主程序的没有实例化

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝