📄 importn7bits.tdf
字号:
TITLE "Byte-serial import of N*7 bits";%program imports N*7 bits of data through one 8-bit IO expander for franticlow-to-high MSB = clock highword (contains 7-bits address)high-to-low MSB = clock lowword (contains 7-bits data) + clockoutupdated from "import14bits.tdf" (by Eric Funke 16th march 2000)Age van Dalfsen, 29th March 2000updated to accomodate 7 more bits. Eric Funke, 10th august 2000updated to accomodate 14 more bits. Eric Funke, 18th september 2000At this moment "address" can be 0..4, therefore giving 7 * 7bits output.%CONSTANT NDELAY = 20;SUBDESIGN importN7bits(clock : INPUT;data[7..0] : INPUT;Xout[69..0] : OUTPUT;--27--35)VARIABLEXoutbuf0[6..0] : DFFE;Xoutbuf1[6..0] : DFFE;Xoutbuf2[6..0] : DFFE;Xoutbuf3[6..0] : DFFE;Xoutbuf4[6..0] : DFFE;Xoutbuf5[6..0] : DFFE;Xoutbuf6[6..0] : DFFE;Xoutbuf7[6..0] : DFFE;Xoutbuf8[6..0] : DFFE;Xoutbuf9[6..0] : DFFE;lowword[6..0],highword[6..0] : DFFE;MSB_delay[NDELAY-1..0] : DFF;MSB_transup,MSB_transdown : DFF;MSB_transdown_delay : DFF;BEGINMSB_delay0.d = data7;MSB_delay0.clk = clock;MSB_delay[NDELAY-1..1].d = MSB_delay[NDELAY-2..0].q;MSB_delay[].clk = clock;MSB_transup.clk = clock;MSB_transup.d = ((MSB_delay[NDELAY-2].q) AND (NOT MSB_delay[NDELAY-1].q));MSB_transdown.clk = clock;MSB_transdown.d = ((NOT MSB_delay[NDELAY-2].q) AND (MSB_delay[NDELAY-1].q));MSB_transdown_delay.clk = clock;MSB_transdown_delay.d = MSB_transdown.q;highword[].d = data[6..0];highword[].clk = clock;highword[].ena = MSB_transup.q;lowword[].d = data[6..0];lowword[].clk = clock;lowword[].ena = MSB_transdown.q;Xoutbuf0[].clk = clock;Xoutbuf1[].clk = clock;Xoutbuf2[].clk = clock;Xoutbuf3[].clk = clock;Xoutbuf4[].clk = clock;Xoutbuf5[].clk = clock;Xoutbuf6[].clk = clock;Xoutbuf7[].clk = clock;Xoutbuf8[].clk = clock;Xoutbuf9[].clk = clock;CASE (highword[].q) ISWHEN 0 => Xoutbuf0[].d = lowword[].q; Xoutbuf0[].ena = MSB_transdown_delay.q;WHEN 1 => Xoutbuf1[].d = lowword[].q; Xoutbuf1[].ena = MSB_transdown_delay.q;WHEN 2 => Xoutbuf2[].d = lowword[].q; Xoutbuf2[].ena = MSB_transdown_delay.q;WHEN 3 => Xoutbuf3[].d = lowword[].q; Xoutbuf3[].ena = MSB_transdown_delay.q;WHEN 4 => Xoutbuf4[].d = lowword[].q; Xoutbuf4[].ena = MSB_transdown_delay.q;WHEN 5 => Xoutbuf5[].d = lowword[].q; Xoutbuf5[].ena = MSB_transdown_delay.q;WHEN 6 => Xoutbuf6[].d = lowword[].q; Xoutbuf6[].ena = MSB_transdown_delay.q;WHEN 7 => Xoutbuf7[].d = lowword[].q; Xoutbuf7[].ena = MSB_transdown_delay.q; WHEN 8 => Xoutbuf8[].d = lowword[].q; Xoutbuf8[].ena = MSB_transdown_delay.q; WHEN 9 => Xoutbuf9[].d = lowword[].q; Xoutbuf9[].ena = MSB_transdown_delay.q; END CASE;Xout[69..63] = Xoutbuf9[].q;Xout[62..56] = Xoutbuf8[].q;Xout[55..49] = Xoutbuf7[].q;Xout[48..42] = Xoutbuf6[].q;Xout[41..35] = Xoutbuf5[].q;Xout[34..28] = Xoutbuf4[].q;Xout[27..21] = Xoutbuf3[].q;Xout[20..14] = Xoutbuf2[].q;Xout[13..7] = Xoutbuf1[].q;Xout[6..0] = Xoutbuf0[].q;END;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -