我做verilog HDL的练习题,简单时序逻辑电路的设计,在quartus中做的代码在modelsim仿真时出现了错误!

源代码//half_clk.v:modulehalf_clk(reset,clk_in,clk_out);inputclk_in,reset;outputclk_out;... 源代码 // half_clk.v:

module half_clk(reset,clk_in,clk_out);
input clk_in,reset;
output clk_out;
reg clk_out;

always @(posedge clk_in)
begin
if(!reset) clk_out=0;
else clk_out=~clk_out;
end
endmodule
这个没有问题,就是modelsim利用的测试模块的源代码,出现了错误
测试模块的源代码:
//------------------- clk_Top.v -----------------------------

`timescale 1ns/100ps
`define clk_cycle 50

module clk_Top.v
reg clk,reset;
wire clk_out;

always #`clk_cycle clk = ~clk;
initial
begin
clk = 0;
reset = 1;
#100 reset = 0;
#100 reset = 1;
#10000 $stop;
end

half_clk half_clk(.reset(reset),.clk_in(clk),.clk_out(clk_out));

endmodule
出现的错误:** Error: C:/altera/72/myproject/half_clk/simulation/modelsim/half_clk_Top.v(6): near ".": syntax error, unexpected '.', expecting ';'
不知道在测试模块的源代码中如何修改
展开
 我来答
ssrfwcl
2010-11-11
知道答主
回答量:21
采纳率:0%
帮助的人:27.3万
展开全部

首先,在测试模块下,你的输入时钟为clk_in,而不是clk,所以应该把   clk = ~clk;替换为clk_in=~clk_in;在initial下把clk=0改成clk_in=0;另外,在modelsim下创建testbench的时候,由source——>show language templates可以得到测试模块的模板,只需对输入进行定义和初始化,以下是我做修改后在modelsim6.2下的测试模块的程序:

`timescale 1ns/100ps 

`define clk_cycle 50 

 

module half_clk_tb  ; 

 

  reg    clk_in   ; 

  wire    clk_out   ; 

  reg    reset   ; 

  always  #`clk_cycle  clk_in = ~clk_in; 

initial 

  begin 

     clk_in = 0; 

     reset = 1; 

    #100 reset = 0; 

    #100 reset = 1; 

    #10000 $stop; 

  end 

  half_clk  

   half_clk   ( 

       .clk_in (clk_in ) ,

      .clk_out (clk_out ) ,

      .reset (reset ) ); 

endmodule 

以下插图是我仿真后的结果:

富港检测技术(东莞)有限公司_
2024-05-27 广告
ISTA3E程序是对相同产品的集合包装的综合模拟性能测试,集合包装件被定义为将一个产品、多个产品或包装件放置在滑板或托盘上,固定在一起或是作为一个单元运输。例如:一台机器由带瓦楞底托的托盘上、瓦楞侧围、顶盖包装,用缠绕膜缠绕在托盘上。用于评... 点击进入详情页
本回答由富港检测技术(东莞)有限公司_提供
霂璇尹凝伪9x
2010-11-11 · TA获得超过195个赞
知道答主
回答量:180
采纳率:0%
帮助的人:101万
展开全部
half_clk half_clk_new(.reset(reset),.clk_in(clk),.clk_out(clk_out));

换个名字试试

你这里的标点符号不是在中文状态下输入的吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
青蛙王子不吃虫
2010-11-11 · TA获得超过2886个赞
知道答主
回答量:47
采纳率:100%
帮助的人:37.3万
展开全部
错误已经报出是在调用的 half_clk_Top.v 代码第六行出现语法错误,你找到这段代码看看第六行的前后有没有落下一个分号。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
毋梦苼pl
2010-11-11 · TA获得超过324个赞
知道答主
回答量:111
采纳率:0%
帮助的人:64.8万
展开全部
module clk_Top.v 改成 module clk_Top;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式