集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1605|回复: 2

初学者菜鸟求救求救~~~~

[复制链接]
gameson131 发表于 2010-11-7 15:57:48 | 显示全部楼层 |阅读模式
小弟准备要交功课,涉及到quartus 7.2同埋modelsim se6.0这两个软件,求各位大虾救救我。

练习二. 简单时序逻辑电路的设计

目的:掌握基本时序逻辑电路的实现。

在Verilog HDL 中,相对于组合逻辑电路,时序逻辑电路也有规定的表述方式。在可综

合的Verilog HDL 模型,我们通常使用always 块和 @(posedge clk)或 @(negedge clk)的结构来表述时序逻辑。下面是一个1/2 分频器的可综合模型。

// 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


在always 块中,被赋值的信号都必须定义为reg 型,这是由时序逻辑电路的特点所决定的。

对于reg 型数据,如果未对它进行赋值,仿真工具会认为它是不定态。为了能正确地观察到

仿真结果,在可综合风格的模块中我们通常定义一个复位信号reset,当reset 为低电平时,

对电路中的寄存器进行复位。

测试模块的源代码:

//------------------- 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



我在最后仿真的时候,modelsim报错
** Error: C:/altera/72/half_clk.v/simulation/modelsim/clk_Top.v(6): near ".":  expecting: ';'




我重新做了N次还是错,我想究竟是不是这条代码原本就有问题....求各位达人救救我

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
jzphome 发表于 2010-11-8 11:00:54 | 显示全部楼层
always #`clk_cycle clk = ~clk  延时到底是多少啊? 语法也不对 应该为 always #5 clk_cycle clk = ~clk
reset = 1;

#100 reset = 0;

#100 reset = 1;

reset 先置0 后置1 就复位了 为什么还要置0?? 难道还要复位??
weibode01 发表于 2010-11-8 11:16:03 | 显示全部楼层
不太懂用那个MODELSIM
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-5-18 17:17 , Processed in 0.120096 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表