微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > VerilogHDL 麻烦大家给个思路

VerilogHDL 麻烦大家给个思路

时间:10-02 整理:3721RD 点击:
地址总线来选择我的内部寄存器,数据总线给出值(内部相应寄存器接收),然后A信号按照数据总线给出的值进行相应的输出.
reg[1:0] sel;//选择寄存器,低位是A信号的选择开关(0为关闭,1为开启).高位是主时钟是否分频(1为2分频,0为不分频) reg[19:0] cnt;//A信号的输出个数.
比如:sel = 2'b11; cnt = 5000; 则:主时钟为2分频,A信号输出5000个主时钟方波.并且输出5000个方波后,A信号停止,等待下一次的开启. 请问我如何写啊,给点思路?

........................
wire load;// this is  the control line to update sel, and cnt;

reg [20:0] count ; // one more bit than cnt;

always @ ( posedge clk, negedge rst )
    if ( ! rst ) begin
              count <= 0;
    end else if ( load ) begin
        count <= cnt << sel[1];   // if half frequency, double the count
    end else if ( count != 0 )
        count <= count -1;
assign output = sel[1] ? count[1]: count[0];

count <= cnt << sel[1];   // if half frequency, double the count
我输出的cnt是主控器传过来的,你这样做不就不符合规定了吗?

感謝你的分享
多了一個參考文獻

上一篇:关于verilog
下一篇:请教系统延时的问题

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top