TA的每日心情 | 开心 2014-5-14 13:12 |
---|
签到天数: 180 天 连续签到: 1 天 [LV.7]常住居民III
|
看了看黑金的ps2程序,没看懂,决定使用特权同学的代码
ps2模块写一个命令测试模块- module cmd_control_module
- (
- CLK, RSTn,
- PS2_Done_Sig, PS2_Data,
- Data_Out
- );
- input CLK;
- input RSTn;
- input PS2_Done_Sig;
- input [7:0]PS2_Data;
- output [3:0]Data_Out;
-
- /*****************************/
-
- reg [3:0]rData;
-
- always @ ( posedge CLK or negedge RSTn )
- if( !RSTn )
- begin
- rData <= 4'b0001;
- end
- else if( PS2_Done_Sig )
- case( PS2_Data )
-
- 8'h1d:
- rData <= { rData[2:0], rData[3] };
-
- 8'h22:
- rData <= { rData[0], rData[3:1] };
-
- 8'h14:
- rData <= { rData[0], rData[1], rData[2], rData[3] };
-
- endcase
-
- /***********************************/
-
- assign Data_Out = rData;
-
- /***********************************/
-
- endmodule
复制代码 再写一个顶层模块:- module top(
- pclk,
- pdata,
- parity_error,
- CLK,
- RSTn,
- LED
- );
- input pclk; // PS_2 clock input
- input pdata; // PS_2 pdata input
- wire[7:0] scan_code; // Scan_code output
- output parity_error; // Parity output
- wire rdy; // pdata ready output
- // ps P(
- // .pclk(pclk),
- // .pdata(pdata),
- // .scan_code(scan_code),
- // .parity_error(parity_error),
- // .rdy(rdy)
- // );
- ps2 P(
- .CLK(CLK),
- .RSTn(RSTn),
- .iCe(1'b1),
- .pclk(pclk),
- .pdata(pdata),
- .scan_code(scan_code),
- .rdy(rdy)
- );
- output [3:0] LED;
- input CLK, RSTn;
- cmd_control_module U2
- (
- .CLK( CLK ),
- .RSTn( RSTn ),
- .PS2_Done_Sig( rdy ), // input - from U1
- .PS2_Data( scan_code ), // input - from U1
- .Data_Out( LED ) // output - to top
- );
- endmodule
复制代码 按下W时,LED向右奔跑,X向走奔跑,按下ctrl时左右交换
tcl文件- #------------------GLOBAL--------------------#
- set_global_assignment -name RESERVE_ALL_UNUSED_PINS "AS INPUT TRI-STATED"
- set_global_assignment -name ENABLE_INIT_DONE_OUTPUT OFF
- #复位引脚
- set_location_assignment PIN_M1 -to RSTn
- #时钟引脚
- set_location_assignment PIN_R9 -to CLK
- #数码管对应的引脚
- #LED对应的引脚
- set_location_assignment PIN_J1 -to LED[0]
- set_location_assignment PIN_J2 -to LED[1]
- set_location_assignment PIN_K1 -to LED[2]
- set_location_assignment PIN_K2 -to LED[3]
- #PS2对应的引脚
- set_location_assignment PIN_E7 -to pdata
- set_location_assignment PIN_D8 -to pclk
复制代码 Verilog写了两天了,明天把VGA、LCD、串口写出来,可以写几个综合的模块了
|
|