verilog语言问题 FPGA开发中verilog语言一个小问题求解

\u7528verilog\u8bed\u8a00\u4e0b\u603b\u662f\u51fa\u73b0\u8fd9\u4e2a\u95ee\u9898\u2026\u2026

reg ready,process_en
......
assign process_en=~rd1;

\u8fd9\u4e2a\u4f60\u5b9a\u4e49\u4e86process_en\u662f reg\u7c7b\u578b\uff0c
assign \u7684\u5de6\u8fb9\u53ea\u80fd\u7528wire\u7c7b\u578b\uff0c\u4e0d\u80fd\u7528reg\u7c7b\u578b

module ShitReg(cp, rst, din, dout);

input cp;
input rst;
input din;
output reg [7:0] dout;

reg regin;

key_clk FF0(cp, din, regin);

always @(posedge cp or posedge rst)
begin
if(rst)
dout = 8'b11111111;
//else begin
dout = dout << 1;
dout[0] = regin;
//end
end

endmodule

module key_clk(clk, in, out); //\u53bb\u6296\u52a8
input clk;
input in;
output reg out;
reg in1;
reg in2;
reg count; //\u8ba1\u6570\u5668\u5bbd\u5ea6\uff1f\uff1f\uff1f

always @( posedge clk)//CLK 50M
begin
count <= count+1;
if(count == 500000)
begin
in1 <= in;
count <= 0;
end
in2 <= in1;
out <= in2 & (!in1);
end
endmodule

\u4ee3\u7801\u5199\u7684\u5f88\u4e0d\u89c4\u8303\uff0c\u95ee\u9898\u8f83\u591a\uff5e

你这是非常典型的新手错误,在ISE下的错误说明为:Multi-source in Unit <ws> on signal <timer1<3>>; this signal is connected to multiple drivers.就是说变量被连在多个驱动上。
原因在于你定义的reg型变量NO以及time1和time2都在两个always块中进行了赋值,要知道reg型变量一般只能在一个always块内使用,在其它块中最多也只能读取数值或者进行比较判断,不能再进行赋值,否则就会出现这个问题。time1的4位,加上time2的四位,再加上NO,就是那九个错误了

else if(timer3==4'h0&&timer2==4'h0&&timer1==4'h0&&timer0==4'h0)
begin
{timer3,timer2,timer1,timer0}<={timer3,timer2,timer1,timer0};
end
也许是我太笨,我完全看不出你写“当a,b,c,d都为0,就把a,b,c,d的值赋给a,b,c,d”这样的句子的作用是什么。
——Medied.Lee

大号被封的路过……
问题已经看出来了,你这个问题很有代表性,很多新手都会犯
等我明天解了封再告诉你答案……
居然知道帐号也能被封,没天理了!!!

  • 鍏充簬Verilog璇█鐨闂
    绛旓細棣栧厛锛屼笉鑳藉湪澶氫釜杩涚▼涓鍚屼竴涓俊鍙疯祴鍊硷紝杩欎細寮曡捣绔炰簤銆傜紪璇戜篃浼氬嚭閿欍傚叾娆★紝灏介噺浣跨敤IF宓屽锛屼繚璇佷换鎰忔椂鍒诲彧鏈変竴涓狪F璇彞瀵圭洰鏍囪祴鍊笺傛垨鑰呬娇鐢–ASE璇彞銆傚鏋滀娇鐢ㄤ簡澶氫釜IF璇彞骞跺垪锛屽彧浼氬啀鏈鍚庝竴涓狪F璇彞瀵圭洰鏍囪祴鍊笺傛湜閲囩撼
  • Verilog璇█,璇硶閿欒?
    绛旓細鍦╝lways鍚庡姞涓夽(*)锛屽惁鍒欐晱鎰熶俊鍙蜂細涓嶉棿鏂Е鍙戝鑷村穿婧冦
  • Verilog璇█:璇锋牴鎹互涓嬩袱鏉¤鍙,浠庨夐」涓壘鍑烘纭瓟妗堛(鎴戠煡閬撶瓟妗...
    绛旓細(1) 绛旀1鍜2 瑙f瀽锛欰=2'hFF;鐩稿綋浜嶢=2'b11;'h浠h〃鍗佸叚杩涘埗鏁,FF杞崲鎴愪簩杩涘埗灏辨槸1111_1111,鍓嶉潰鐨勬暟瀛2浠h〃浣嶆暟,灏辨槸鍙彇浣2浣.鑰孉琚畾涔変负reg[7:0] A; 灏辨槸鏈韩鏈8浣,鎵浠ョ瓟妗堟槸1鍜2 (2)绛旀4 瑙f瀽锛欱=8'bZ0鏄簩杩涘埗琛ㄧず鐨,2杩涘埗鐨0鍙兘琛ㄧず涓涓綅,鎵浠ュ氨鍙湁涓涓0,鍦ㄦ渶...
  • verilog璇█闂
    绛旓細浣犺繖鏄潪甯稿吀鍨嬬殑鏂版墜閿欒锛屽湪ISE涓嬬殑閿欒璇存槑涓猴細Multi-source in Unit <ws> on signal <timer1<3>>; this signal is connected to multiple drivers.灏辨槸璇村彉閲忚杩炲湪澶氫釜椹卞姩涓娿傚師鍥犲湪浜庝綘瀹氫箟鐨剅eg鍨嬪彉閲廚O浠ュ強time1鍜宼ime2閮藉湪涓や釜always鍧椾腑杩涜浜嗚祴鍊硷紝瑕佺煡閬搑eg鍨嬪彉閲忎竴鑸彧鑳藉湪涓涓猘lways...
  • verilog璇█绋嬪簭闂?
    绛旓細閭d釜鏄姞鍑忔硶鐨勭粨鏋滃嚭鐜颁簡婧㈠嚭锛屽彇鍙嶅姞1锛屼竴鑸兘鏄璐熸暟鍙樻垚姝f暟鐨勬搷浣溿傝繖涓湴鏂归鍏堝垽鏂璪it15鏄笉鏄紝濡傛灉鏄0锛屽啀鍒ゆ柇bit14锛屽鏋渂it14涓1锛屽氨鍋氫竴涓彇鍙嶅姞1锛屼粠璐熸暟鍙樻垚姝f暟銆
  • 瀛︿範Verilog HDL璇█杩囩▼涓叧浜庝笁绉嶅父鐢ㄨ祴鍊艰鍙ョ殑鍥版儜!
    绛旓細2008-12-27 鐫$湢鐨勫洶鎯! 2011-11-23 濡備綍瀛︿範verilog HDL璇█ 2016-09-08 鍏充簬verilog hdl璇█鐨勪竴浜涢棶棰 2013-07-07 Verilog HDL 璇█闂 2010-09-02 verilog hdl璇█缂栫▼鐨勯棶棰 2 2011-08-03 濡備綍瀛︿範Verilog 璇█? 47 2009-04-14 姹傚姪!鎳倂erilog HDL璇█鐨勬潵 14 鏇村绫讳技闂 > 璧嬪...
  • 绱姞鍣verilog璇█缂栫▼闂
    绛旓細涓や釜闂锛1銆乤ccum_k==8'd16 绛変綘鍙戠幇璁℃暟鍣ㄥ凡缁忕瓑浜16锛屽疄闄呬俊鍙疯緭鍑烘椂宸茬粡鍙堣繃浜嗕竴涓椂閽熷懆鏈熶簡锛岀浉褰撲簬姣忛17涓暟杈撳嚭涓娆°俛ccum_k浠0寮濮嬪埌14涓鍏辨墠鏄崄浜斾釜锛屽嵆accum_k==14鏃跺氨搴旇杈撳嚭骞舵竻闆朵簡銆2銆乪lse accum_k <= 0;浣犵殑浣胯兘淇″彿鏄庝箞瀹氫箟鐨勶紵浣胯兘鐨勪綔鐢ㄥ簲璇ユ槸锛氭湁鏁堟椂姝e父宸ヤ綔锛...
  • verilog HDL 璇█鍩虹闂
    绛旓細verilog HDL鐨刴odule閲屼竴鑸敱鍧楄鍙ョ粍鎴,鍧楄鍙ユ棦鏈夊苟琛屽潡鍙堟湁涓茶鍧,鍧椾笌鍧椾箣闂存槸骞惰鎵ц,椤哄簭鍧楀唴鏄覆琛屾墽琛,骞惰鍧楀唴鏄苟琛屾墽琛.姣斿浣犵殑渚嬪瓙涓殑涓や釜always璇彞灏辨槸涓や釜骞惰鍧,杩欎袱涓猘lways浼氬悓鏃舵墽琛.
  • verilog涓瘎瀛樺櫒鐨勫垵濮嬪闂,
    绛旓細1銆侀鍏堬紝verilog鏄‖浠舵弿杩璇█锛屼笉鏄蒋浠剁紪绋嬭瑷锛屾墍浠ユ病鏈夆滄墽琛屸濈殑姒傚康锛屼篃娌℃湁鈥滈粯璁ゅ垵濮嬪尖濈殑姒傚康锛2銆佷綘杩欏嚑鍙ユ弿杩扮殑鏄竴涓粍鍚堥昏緫寰幆(combinational Loop)锛岃繖鏄‖浠惰璁¢噷鐨勯敊璇紝鍒濆鑰呭線寰浼氬嚭鐜拌繖绉嶉敊璇紱3銆佸鏋滈潪瑕佹妸浣犵殑涓滆タ鈥滆浆鍖栤濅负纭欢鐨勮瘽锛屽涓嬪浘鎵绀猴細...
  • Verilog璇█鐨勯毦鐐规槸浠涔?
    绛旓細VerilogHDL鏄竴绉嶇‖浠舵弿杩璇█锛屽涔犺鍖烘渶鍏稿瀷鐨勫氨鏄涓篎PGA璁捐鍏跺疄灏辨槸verilog璁捐銆侳PGA璁捐鏈川涓婃槸纭欢璁捐锛寁erilog鏄敤鏉ユ弿杩扮數璺殑銆傚缓璁弬鑰冩槑寰锋壃鐐规嫧FPGA鍩虹瑙嗛浠ュ強銆婃槑寰锋壃鐐规嫧FPGA楂樻墜杩涢樁銆嬭繖涔︺
  • 扩展阅读:verilog assign ... verilog菜鸟教程 ... c语言入门 ... fpga经典设计100例 ... verilog语言实现74138 ... verilog语法大全 ... verilog always ... verilog语言入门教程视频 ... verilog经典教程夏宇闻 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网