原创 Verilog中Task语句可综合设计实例

2008-11-2 11:10 7643 7 10 分类: FPGA/CPLD
此程序在Xilinx ISE综合工具中实现了综合和布局布线后仿真,功能正确。感兴趣的可以一起讨论研究。

`timescale 1ns / 1ps

module TaskLearn(clk , reset , signal);

input clk , reset;
output reg signal;
reg [3:0]counter;

reg [3:0]state;
parameter idle   = 4'b0000;
parameter state1 = 4'b0001;
parameter state2 = 4'b0010;
parameter state3 = 4'b0100;
parameter state4 = 4'b1000;

always@(posedge clk)
begin
if(reset)
    begin
    state <= idle;
    signal <= 1'bZ;
    end
else
    case(state)
        idle:
            begin
            state <= state1;
            signal <= 1;
            end
        state1:
            begin
            signal <= 0;
            hold_10_clk(state2);
            end
        state2:
            begin
            signal <= 1;
            state <= state3;
            end
        state3:
            begin
            hold_10_clk(state4);
            //state <= state4;综合报告中采用两种方法资源使用几乎一样
            signal <= 0;
            end
        state4:
            begin
            state <= state1;
            signal <= 1;
            end
        default:
          state <= idle;
    endcase
end
//-----------------------------------------------------------------------------
//延时10个周期控制
task hold_10_clk;
    input  [3:0]s;
    if(counter < 10)
        counter <= counter + 1;
    else
    begin
        counter <= 0;
        state <= s;
    end
endtask
//-----------------------------------------------------------------------------
endmodule
PARTNER CONTENT

文章评论3条评论)

登录后参与讨论

用户153210 2014-12-28 00:01

是的

用户1002534 2014-3-13 22:30

你好,那个任务中,counter是如何 加 1的,受到 系统时钟 clk的控制码,在clk的上升沿 实现 加 1吗,谢谢

用户413491 2012-2-28 13:30

module TaskLearn( input clk , input reset , output reg signal); reg [3:0]counter; reg [3:0]state; parameter idle = 4'b0000, state1 = 4'b0001, state2 = 4'b0010, state3 = 4'b0100, state4 = 4'b1000;
相关推荐阅读
用户153210 2015-02-01 10:18
Debussy-54v9-NT设置默认编辑器为Notepad++
软件版本: Debussy 5.4v9 Notepad++ 6.7.4  Je suis Charlie edition 设置步骤 安装好上面两个软件后,将Notepad++的安装目录设置为环境变量...
用户153210 2015-01-31 13:53
SPWM控制器的全数字设计
    一个SPWM控制器的数字设计。此为系统框图,完整的系统曾在CycloneII FPGA上验证过,正弦ROM采用2048,经地址变换后相当于4096,此系统优点在于SPWM的各项指标均可以灵...
用户153210 2015-01-31 13:49
Debussy-54v9-NT安装步骤
1、  双击安装文件Debussy-54v9-NT.exe, 2、  如下图所示:               3、   **过程: 双击debussy-54v9-crack.exe,...
用户153210 2015-01-28 21:45
在modelsim中添加altera库
1.       去除ModelSim安装根目录下的“modelsim.ini”文件的只读属性。 2.       在ModelSim安装根目录下新建文件夹altera,并在altera目录中新建子...
用户153210 2008-12-10 15:18
恒精度频率计的VHDL可综合代码
采用时钟频率为2MHz,不同的时钟频率需要修改相应的参数。在此只给出本时钟下的程序,其他时钟下请自行修正。-----------------------------------------------...
用户153210 2008-12-10 15:14
恒精度频率计的Verlog可综合代码
采用时钟频率为2MHz,不同的时钟频率需要修改相应的参数。在此只给出本时钟下的程序,其他时钟下请自行修正。module Cymometer(clk, reset, signal, FreqNs, Fr...
EE直播间
更多
我要评论
3
7
关闭 站长推荐上一条 /3 下一条