微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 两个进程共用一组输出的寄存器?

两个进程共用一组输出的寄存器?

时间:10-02 整理:3721RD 点击:
我的程序里有两个不相干的进程共用一组输出,综合的时候就会报错。不知道这样的话怎么解决?再增加一组寄存器的话资源就浪费了,有没有其他方法?

[讨论]两个进程共用一组输出的寄存器?
我想到用task或者module的话实现,可是这样综合出来应该还是增加了寄存器吧!

[讨论]两个进程共用一组输出的寄存器?
放到一个进程里,用if-else区分开。

[讨论]两个进程共用一组输出的寄存器?
但是想这样的两个进程
always @(reset or c1)
data_out<=c1;
always @(posedge reset or posedge clk)
...
因为上一个进程我是要让c1的变化马上传给data_out,第二个进程中我有一个从存储器中取出数据输出的语句。两个always block合在一起,触发信号不能决定呀!一个是电平触发,一个是边沿触发

[讨论]两个进程共用一组输出的寄存器?
那就不应该是一个输出

[讨论]两个进程共用一组输出的寄存器?
把c1作为异步置数端如何

[讨论]两个进程共用一组输出的寄存器?
具体应该怎么写呢?

[讨论]两个进程共用一组输出的寄存器?
module counter (reset_n, data_load, clk, c1, data_out);
input reset_n;
input data_load;
input clk;
input [7:0] c1;
output [7:0] data_out;
reg [7:0] data_out;
always @(posedge clk) begin
if (~reset_n) data_out <= 8'd0;
else if (data_load) data_out <= c1;
else data_out <= data_out + 8'd1;
end
endmodule

[讨论]两个进程共用一组输出的寄存器?
楼上的c1应该是同步置数吧! 我的要求是异步置数。问题已经解决了,谢谢大家的帮忙

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

网站地图

Top