设计一个双优先编码器,不仅能识别出最高优先级,还能在8个请求输入中找出第二高优先级的确认(verilog) 优先编码器只对同时输入的信号中的优先级别最高的一个信号编码?

\u4f7f\u7528Verilog\u8bed\u53e5 \uff0c \u5982\u4f55\u4f7f\u4e00\u4e2a\u53cc\u4f18\u5148\u7f16\u7801\u5668\u80fd\u57288\u4e2a\u8bf7\u6c42\u8f93\u5165\u4e2d\u627e\u51fa\u7b2c\u4e8c\u9ad8\u4f18\u5148\u7ea7\u7684\u786e\u8ba4\u4fe1\u53f7

Verilog\u548cVHDL\u7684\u5e02\u573a\u4efd\u989d\u5404\u5360\u4e00\u534a\u3002\u6211\u7528\u53ea\u4f1a\u7528VHDL\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\uff1a
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;

entity priority2 is
port(
R: in STD_LOGIC_VECTOR(0 to 7);
A,B: out STD_LOGIC_VECTOR(2 downto 0);
E1,E2: buffer STD_LOGIC
);
end priority2;

architecture priority2_arch of priority2 is
begin
process(R,E1,E2)
begin
A <="000";B <="000";E1 <='0';E2 <='0';
for i in 0 to 7 loop
if R(i)= '1' and E1= '0' then
A <=CONV_STD_LOGIC_VECTOR(i,3);E1 <='1';
elsif R(i)='1'and E2='0' then
B <=CONV_STD_LOGIC_VECTOR(I,3);E2 <='1';
end if;
end loop;
end process;
end priority2_arch;
\u5e0c\u671b\u53ef\u4ee5\u5e2e\u52a9\u5230\u4f60\u3002

\u4f18\u5148\u7f16\u7801\u5668\u5728\u6709\u591a\u4e2a\u8f93\u5165\u4fe1\u53f7\u8981\u6c42\u7f16\u7801\u65f6\uff0c\u4f1a\u9009\u62e9\u8f93\u5165\u7684\u4fe1\u53f7\u4e2d\u7684\u7ea7\u522b\u6700\u9ad8\u7684\u4e00\u4e2a\u4fe1\u53f7\u4f18\u5148\u7f16\u7801\u3002

module double_pri_encode(
input [11:0] req,

output reg [3:0] first,
output [3:0] second
);

reg[11:0] reg_req;
wire[11:0] wire_req;

assign wire_req = reg_req;

wire wire_en;
reg reg_en;
assign wire_en = reg_en;

always@(*)
begin
reg_en=0;
first=4'bzzzz;
reg_req=req;
if( req[11] )
begin
reg_req[11]=0;
first=4'b1011;
reg_en=1;
end
else if( req[10] )
begin
reg_req[10]=0;
first=4'b1010;
reg_en=1;
end
else if( req[9] )
begin
reg_req[9]=0;
first=4'b1001;
reg_en=1;
end
else if( req[8] )
begin
reg_req[8]=0;
first=4'b1000;
reg_en=1;
end
else if( req[7] )
begin
reg_req[7]=0;
first=4'b0111;
reg_en=1;
end
else if( req[6] )
begin
reg_req[6]=0;
first=4'b0110;
reg_en=1;
end
else if( req[5] )
begin
reg_req[5]=0;
first=4'b0101;
reg_en=1;
end
else if( req[4] )
begin
reg_req[4]=0;
first=4'b0100;
reg_en=1;
end
else if( req[3] )
begin
reg_req[3]=0;
first=4'b0011;
reg_en=1;
end
else if( req[2] )
begin
reg_req[2]=0;
first=4'b0010;
reg_en=1;
end
else if( req[1] )
begin
reg_req[1]=0;
first=4'b0001;
reg_en=1;
end
else
begin
reg_req[0]=0;
first=4'b0001;
reg_en=0;
end
end

en_code en_code1(
. a(reg_req),
. ena(wire_en),
. code(second)
);
endmodule

怎么金燕华过了四年还出同一个题目!现在又来了

哎,我也想知道答案啊,金燕华大才啊!

楼上的答案太经典了~~

大哥,你老师是金燕华吧?自己做吧...

  • 璁捐涓涓弻浼樺厛缂栫爜鍣,涓嶄粎鑳借瘑鍒嚭鏈楂樹紭鍏堢骇,杩樿兘鍦8涓姹傝緭鍏ヤ腑鎵...
    绛旓細reg_req[1]=0;first=4'b0001;
  • 浼樺厛缂栫爜鍣鍙鍚屾椂杈撳叆鐨勪俊鍙蜂腑鐨勪紭鍏堢骇鍒渶楂樼殑涓涓淇″彿缂栫爜銆
    绛旓細濡傛灉鍚屾椂鏈変袱涓垨浠ヤ笂鐨勮緭鍏ヤ綔鐢ㄤ簬浼樺厛缂栫爜鍣紝浼樺厛绾ф渶楂樼殑杈撳叆灏嗕細琚紭鍏堣緭鍑恒備笅鍥炬槸涓浣4绾匡紞2绾跨紪鐮佸櫒鐨勪緥瀛愶紝鍏朵腑鏈楂樹紭鍏堢骇鐨勮緭鍏ュ湪鍔熻兘琛ㄧ殑宸︿晶锛岃屸渪鈥濅唬琛ㄦ棤鍏抽」锛屽嵆鍙槸1涔熷彲鏄0锛屼篃灏辨槸璇翠笉璁烘棤鍏抽」鐨勫兼槸浠涔堬紝閮戒笉褰卞搷杈撳嚭锛屽彧鏈夋渶楂樹紭鍏堢骇鐨勮緭鍏ユ湁鍙樺寲鏃讹紝杈撳嚭鎵嶄細鏀瑰彉銆
  • 浼樺厛缂栫爜鍣鍦ㄤ换浣曟椂鍒诲彧鑳鏈変竴涓杈撳叆绔湁鏁堝悧
    绛旓細浼樺厛缂栫爜鍣鍦ㄤ换浣曟椂鍒诲彧鑳芥湁涓涓緭鍏ョ鏈夋晥銆備紭鍏堢紪鐮佸櫒涓鏃跺埢鍏佽鏈変竴涓湁鏁堣緭鍏ヤ俊鍙凤紝鍚屾椂鏈変袱涓垨涓や釜浠ヤ笂杈撳叆淇″彿瑕佹眰缂栫爜鏃讹紝杈撳嚭绔細鍑虹幇閿欒銆
  • 浼樺厛缂栫爜鍣鏈夊摢浜涘姛鑳?
    绛旓細鍔熻兘澶氾紝鍙綔鍙岀ǔ鎬併佸瘎瀛樺櫒銆佺Щ浣嶅瘎瀛樺櫒銆佹尟鑽″櫒銆佸崟绋虫併佸垎棰戣鏁板櫒绛夊姛鑳姐 74LS74杩欎釜闆嗘垚鍧楁槸涓涓弻D瑙﹀彂鍣紝鍏跺姛鑳芥瘮杈冪殑澶氾紝鍙敤浣滃瘎瀛樺櫒锛岀Щ浣嶅瘎瀛樺櫒锛屾尟鑽″櫒锛屽崟绋虫侊紝鍒嗛璁℃暟鍣ㄧ瓑鍔熻兘銆備笅闈㈡垜浠互TTL涓妯¢泦鎴愮數璺74LS147涓轰緥浠嬬粛8421鈫払CD鐮浼樺厛缂栫爜鍣鐨勫姛鑳姐10绾-4绾8421 BCD鐮佷紭鍏堢紪鐮...
  • 浠涔堟槸浼樺厛缂栫爜鍣
    绛旓細闂涓锛氫紭鍏堢紪鐮佸櫒鏄粈涔堟剰鎬濆憿 浼樺厛缂栫爜鍣ㄥ氨鏄厑璁稿悓鏃跺湪鍑犱釜杈撳叆绔湁杈撳叆淇″彿锛岀紪鐮佸櫒鎸夎緭鍏ヤ俊鍙锋帓瀹氱殑浼樺厛椤哄簭锛屽彧瀵瑰悓鏃惰緭鍏ョ殑鍑犱釜淇″彿涓紭鍏堟潈鏈楂樼殑涓涓繘琛岀紪鐮併傞棶棰樹簩锛氫紭鍏堢紪鐮佸櫒涓轰粈涔堣瀵硅緭鍏ヤ俊鍙疯瀹氫紭鍏堢骇鍒紵 鎵璋浼樺厛缂栫爜鍣紝鏈剰灏辨槸鎸囧涓紪鐮佷俊鍙峰悓鏃舵湁鏁堟椂锛屽彧鍝嶅簲鏈楂樹紭鍏堢骇鐨...
  • 浼樺厛缂栫爜鍣鏄粈涔?
    绛旓細浼樺厛缂栫爜鍣鏄竴绉嶆暟瀛楅昏緫鐢佃矾锛岀敤浜庡皢澶氫釜杈撳叆淇″彿缂栫爜涓哄崟涓緭鍑轰俊鍙凤紝鍚屾椂鑰冭檻杈撳叆淇″彿鐨勪紭鍏堢骇銆備紭鍏堢紪鐮佸櫒鐨勫伐浣滃師鐞嗘槸锛屽綋澶氫釜杈撳叆淇″彿鍚屾椂鏈夋晥鏃讹紝鍙湁浼樺厛绾ф渶楂樼殑杈撳叆淇″彿瀵瑰簲鐨勮緭鍑轰細琚縺娲汇備紭鍏堢骇閫氬父鏄牴鎹緭鍏ヤ俊鍙风殑浜岃繘鍒跺兼垨鐗瑰畾鐨勭數璺璁捐鏉ョ‘瀹氱殑銆備緥濡傦紝鍦ㄤ竴涓4浣嶄簩杩涘埗浼樺厛缂栫爜鍣ㄤ腑锛...
  • 涓轰粈涔堣鐢浼樺厛缂栫爜鍣?
    绛旓細浼樺厛缂栫爜鍣ㄦ槸涓绉嶅皢澶氫釜淇″彿杈撳叆鍚堝苟鎴愪竴涓緭鍑轰俊鍙风殑缂栫爜鍣ㄣ傚畠閫氬父鐢ㄤ簬鎺у埗绯荤粺涓殑浼樺厛绾у喅绛栬繃绋嬶紝浠ョ‘淇濋珮浼樺厛绾т换鍔′紭鍏堟墽琛屻備娇鐢浼樺厛缂栫爜鍣ㄥ彲浠鏂逛究鍦板疄鐜板涓緭鍏ヤ俊鍙风殑绠$悊鍜屾帶鍒讹紝骞朵笖鍙互绠鍖栫數璺璁捐鍜屼唬鐮佸疄鐜般備紭鍏堢紪鐮佸櫒閫氬父灏嗗涓緭鍏ヤ俊鍙风殑浼樺厛绾ц繘琛岀紪鐮侊紝浠ョ‘瀹氬摢涓俊鍙峰叿鏈夋渶楂樼殑浼樺厛绾с...
  • 浼樺厛缂栫爜鍣鍙鍚屾椂杈撳叆鐨勪俊鍙蜂腑鐨勪紭鍏堢骇鍒渶楂樼殑涓涓淇″彿缂栫爜?
    绛旓細浼樺厛缂栫爜鍣鍦ㄦ湁澶氫釜杈撳叆淇″彿瑕佹眰缂栫爜鏃讹紝浼氶夋嫨杈撳叆鐨勪俊鍙蜂腑鐨勭骇鍒渶楂樼殑涓涓俊鍙蜂紭鍏堢紪鐮併
  • 鏁板瓧鐢靛瓙浼樺厛缂栫爜鍣棰樼洰:浼樺厛缂栫爜鍣ㄨ緭鍏ヤ负銆傘傘,(浼樺厛绾у埆鏈楂),杈 ...
    绛旓細鏁板瓧鐢靛瓙浼樺厛缂栫爜鍣ㄦ槸涓绉嶈兘鎺ユ敹澶氫釜杈撳叆淇″彿锛屾牴鎹緭鍏ヤ俊鍙风殑浼樺厛绾ц繘琛岀紪鐮佺殑璁惧銆備竴鑸儏鍐典笅锛屼紭鍏堢骇杈冮珮鐨勮緭鍏ヤ俊鍙蜂細琚紪鐮佸櫒棣栧厛澶勭悊銆傛垜鏃犳硶鐪嬪埌鍏蜂綋鐨勯鐩紝鎵浠ュ亣璁鹃鐩腑缁欏畾鐨勬槸涓涓4浣嶄簩杩涘埗鏁扮殑浼樺厛缂栫爜鍣紝瀹冩帴鏀跺洓涓緭鍏ヤ俊鍙 A, B, C, D锛屽搴旂殑浜岃繘鍒剁紪鐮佷负 000A锛000B锛001C锛010...
  • 浼樺厛缂栫爜鍣鏈変粈涔堜綔鐢ㄥ憿?
    绛旓細浠h〃杈撳叆鐨勬槸鍗佽繘鍒舵暟0銆4涓緭鍑虹鍙嶆槧杈撳叆鍗佽繘鍒舵暟鐨凚CD鐮佺紪鐮杈撳嚭銆74LS147浼樺厛缂栫爜鍣鐨勮緭鍏ョ鍜岃緭鍑虹閮芥槸浣庣數骞虫湁鏁堬紝鍗冲綋鏌愪竴涓緭鍏ョ浣庣數骞0鏃讹紝4涓緭鍑虹灏变互浣庣數骞0鐨勮緭鍑哄叾瀵瑰簲鐨8421 BCD缂栫爜銆傚綋9涓緭鍏ュ叏涓1鏃讹紝4涓緭鍏ュ嚭涔熷叏涓1锛屼唬琛ㄨ緭鍏ュ崄杩涘埗鏁0鐨8421 BCD缂栫爜杈撳嚭銆
  • 扩展阅读:常用的编码器有哪三种 ... 编码器接线颜色对照表 ... 编码器型号对照表 ... 设计4线2线优先编码器 ... 四线编码器接线 ... 4根线编码器接线图 ... 国产十大编码器 ... 电机编码器在哪个位置 ... 优先编码器有哪些 ...

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