为内部的连接线。BEGINu0f_suberPORTMAPxi
x0yi
y0diff_outdiff0sub_i
si
sub_outa0。u1f_suberPORTMAPxi
x1yi
y1diff_outdiff1sub_i
a0sub_outa1。u2f_suberPORTMAPxi
x2yi
y2diff_outdiff2sub_i
a1sub_outa2。u3f_suberPORTMAPxi
x3yi
y3diff_outdiff3sub_i
a2sub_outa3。u4f_suberPORTMAPxi
x4yi
y4diff_outdiff4sub_i
a3sub_outa4。u5f_suberPORTMAPxi
x5yi
y5diff_outdiff5sub_i
a4sub_outa5。u6f_suberPORTMAPxi
x6yi
y6diff_outdiff6sub_i
a5sub_outa6。u7f_suberPORTMAPxi
x7yi
y7diff_outdiff7sub_i
a6sub_outsout。ENDARCHITECTUREs8。
38设计一个求补码的程序,输入数据是一个有符号的8位二进制原码数。
解:59设计一个求补码的程序,输入数据是一个有符号的8位二进制数。LIBRARYIEEE。
USEIEEESTD_LOGIC_1164ALL。USEIEEESTD_LOGIC_UNSIGNEDALL。ENTITYorg_patchISPORTorg_dataINSTD_LOGIC_VECTOR7DOWNTO0。原码输入
patch_dataOUTSTD_LOGIC_VECTOR7DOWNTO0。补码输出ENDorg_patch。ARCHITECTUREBHVOForg_patchISBEGINPROCESSorg_data
BEGINIForg_data70THENpatch_dataorg_data。org_data0,补码原码。elsepatch_dataorg_data7
otorg_data6DOWNTO01。org_data0,补码原码取反1。ENDIF。
ENDPROCESS。ENDBHV。
f310libraryieee。useieeestd_logic_1164all。useieeestd_logic_u
sig
edall。
e
tityaddisportai
std_logic_vector7dow
to0。
bi
std_logic_vector7dow
to0。cii
std_logic。cooutstd_logic。cou
toutstd_logic_vector7dow
to0。e
dadd。
architecturebhvofaddis
begi
processabcivariabledatastd_logic_vector1dow
to0。variablecstd_logic。
begi
cci。
for
i
0to7loopdata0a
0b
0c。cou
t
data0。cdata1。e
dloop。coc。e
dprocess。e
dbhv。
314用循环语句设计一个7人投票表决器,及一个4位4输入最大数值检测电路。
解:57用循环语句设计一个7人投票表决器,及一个4位4输出最大数值检测电路。LIBRARYIEEE。USEIEEESTD_LOGIC_1164ALL。USEIEEESTD_LOGIC_UNSIGNEDALL。
ENTITYvote_7IS
PORTDININSTD_LOGIC_VECTOR6DOWNTO0。7位表决输入1同意,0不同意
G_4OUTSTD_LOGIC。
超过半数指示
CNTHOUTSTD_LOGIC_VECTOR2DOWNTO0。表决结果统计数
ENDvote_7。
ARCHITECTUREBHVOFvote_7IS
BEGIN
PROCESSDIN
fVARIABLEQSTD_LOGIC_VECTOR2DOWNTO0。
BEGINQ