DE2-115 16x4 Priority Encoder (Using Data flow assign )
//需 Import pin assignments DE2_115_pin_assignments
module Encoder(
//input CLOCK_50, // 50 MHz clock
//input [3:0] KEY, // Pushbutton[3:0]
input [17:0] SW, // Toggle Switch[17:0]
//output [6:0] HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,HEX6,HEX7, // Seven Segment Digits
output [8:0] LEDG, // LED Green
output [17:0] LEDR // LED Red
// inout [35:0] GPIO_0,GPIO_1, // GPIO Connections
// LCD Module 16X2
/*
output LCD_ON, // LCD Power ON/OFF
output LCD_BLON, // LCD Back Light ON/OFF
output LCD_RW, // LCD Read/Write Select, 0 = Write, 1 = Read
output LCD_EN, // LCD Enable
output LCD_RS, // LCD Command/Data Select, 0 = Command, 1 = Data
inout [7:0] LCD_DATA, // LCD Data bus 8 bits
input [2:0] mess, // MESSAGE STATUS (see lcd_test)
input [1:0] isServer // SERVER STATUS (see lcd_test)
*/
);
// All inout port turn to tri-state
//assign GPIO_0 = 36'hzzzzzzzzz;
//assign GPIO_1 = 36'hzzzzzzzzz;
// turn LCD ON
//assign LCD_ON = 1'b1;
//assign LCD_BLON = 1'b1;
// blank unused 7-segment digits
// blank unused 7-segment digits
//assign HEX0 = 7'b111_1111;
//assign HEX1 = 7'b111_1111;
//assign HEX2 = 7'b111_1111;
//assign HEX3 = 7'b111_1111;
//assign HEX4 = 7'b111_1111;
//assign HEX5 = 7'b111_1111;
//assign HEX6 = 7'b111_1111;
//assign HEX7 = 7'b111_1111;
assign LEDR=SW;
prio_enco_16x4( LEDG[3:0],SW[15:0],SW[17] );
endmodule
module prio_enco_16x4(d_out, d_in ,en);
output [3:0] d_out;
input [15:0] d_in ;
input en;
assign d_out = ( (en==1'b1) && (d_in[15] ==1'b1 )) ? 4'b1111:
((en==1'b1) &&(d_in[14] ==1'b1 )) ? 4'b1110:
((en==1'b1) &&(d_in[13] ==1'b1 )) ? 4'b1101:
((en==1'b1) &&(d_in[12] ==1'b1 )) ? 4'b1100:
((en==1'b1) &&(d_in[11] ==1'b1 )) ? 4'b1011:
((en==1'b1) &&(d_in[10] ==1'b1 )) ? 4'b1010:
((en==1'b1) &&(d_in[9] ==1'b1 )) ? 4'b1001:
((en==1'b1) &&(d_in[8] ==1'b1 )) ? 4'b1000:
((en==1'b1) &&(d_in[7] ==1'b1 )) ? 4'b0111:
((en==1'b1) &&(d_in[6] ==1'b1 )) ? 4'b0110:
((en==1'b1) &&(d_in[5] ==1'b1 )) ? 4'b0101:
((en==1'b1) &&(d_in[4] ==1'b1 )) ? 4'b0100:
((en==1'b1) &&(d_in[3] ==1'b1 )) ? 4'b0011:
((en==1'b1) &&(d_in[2] ==1'b1 )) ? 4'b0010:
((en==1'b1) &&(d_in[1] ==1'b1 )) ? 4'b0001:
((en==1'b1) &&(d_in[0] ==1'b1 )) ? 4'b0000: 4'bxxxx ;
endmodule
訂閱:
張貼留言 (Atom)
2024_09 作業3 以Node-Red 為主
2024_09 作業3 (以Node-Red 為主 Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker 2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...
-
python pip 不是内部或外部命令 -- 解決方法 要安裝 Pyqt5 1. 首先,開啟命令提示字元。 2. 輸入 pip3 install pyqt5 好像不能執行 ! ! 錯誤顯示 : ‘ pip3 ’ 不是內部或外部命令、可執行的程式或批...
-
課程講義 下載 11/20 1) PPT 下載 + 程式下載 http://www.mediafire.com/file/cru4py7e8pptfda/106%E5%8B%A4%E7%9B%8A2-1.rar 11/27 2) PPT 下載...
-
• 認 識 PreFix、InFix、PostFix PreFix(前序式):* + 1 2 + 3 4 InFix(中序式): (1+2)*(3+4) PostFix(後序式):1 2 + 3 4 + * 後 序式的運算 例如: 運算時由 後序式的...
沒有留言:
張貼留言