1
我從堪薩斯州熔岩紙得到了一段代碼,可行。哈斯克爾/堪薩斯熔岩移位寄存器錯誤
counter :: Signal CLK Bool -> Signal CLK Bool -> Signal CLK Int
counter restart inc = loop
where
reg = register 0 loop
reg' = mux restart (0, reg)
loop = mux inc (reg' + 1, reg')
現在我試圖在另一個功能,與另一個功能,這是行不通的。
shiftReg_d2f :: Signal CLK Bool -> Signal CLK Bool -> [Signal CLK Bool] -> [Signal CLK Bool] -> [Signal CLK Bool]
shiftReg_d2f load shift wordIn fieldIn = fieldOut
where
fieldOut = register 0 fieldOut''
shiftField = drop (length wordIn) fieldOut ++ wordIn
fieldOut' = muxl shift fieldOut shiftField
fieldOut'' = muxl load fieldOut' fieldIn
現在,我得到了以下錯誤:
- 無法匹配,期望與實際類型
Signal clk0 a0
(3次) - 無法比擬預期型
Signal i0 Bool
與實際類型[Signal i0 Bool]
型[Signal i0 Bool]
- 無法匹配預期類型
Signal i Bool -> Signal i Bool -> Signal i Bool
與實際類型Signal i Bool
我該怎麼做?
感謝您的幫助