模糊的图片点击后即可看到清晰的原图
BCD七段数码管的转换模块
module sevenseg ( data, ledsegments);
input [3:0] data;
output [6:0] ledsegments;
reg [6:0] ledsegments;
always @ (*)
begin
case(data)
// gfe_dcba // 7段LED数码管的位段编号
// 654_3210 // DE2板上的信号位编号
0: ledsegments = 7'b100_0000; // DE2C板上的数码管为共阳极接法。
1: ledsegments = 7'b111_1001;
2: ledsegments = 7'b010_0100;
3: ledsegments = 7'b011_0000;
4: ledsegments = 7'b001_1001;
5: ledsegments = 7'b001_0010;
6: ledsegments = 7'b000_0010;
7: ledsegments = 7'b111_1000;
8: ledsegments = 7'b000_0000;
9: ledsegments = 7'b001_0000;
default: ledsegments = 7'b111_1111; // 其它值时全灭。
endcase
end
endmodule
板载50MHz信号使用方法
- 在Add Symbol界面里选择MegaWizard Plug-In Manager
- 直接点击Next
- 在左侧选项栏找到 Altera PLL v XX.X (e.g. 13.1);然后把右侧改为Verilog HDL;在output file栏里追加 pll.v;点击Next (如果你的板子不是叫De1-Soc,可能要修改Cyclone V那一栏)
- 稍等片刻,会弹出 Altera-PLL 的配置界面。用下图配置,即可得到一个频率为5MHz的时钟。(Device Speed Grade的选项6是针对De1-Soc板子,请根据你的板子具体选择)特别注意Reference Clock Frequency 选为50MHz,禁用掉 locked output port
点击Finish,大功告成
在设计图里面把refclk连到板载的50MHz引脚
选择Tools > TimeQuest Timing Analyzer > New SDC file , 在新的SDC中输入(注意
get_ports
后必须有一个空格,后面大括号里就是你的50M信号输入引脚名称):
create_clock -name "CLK_50M" -period 20.000ns [get_ports {CLK_50M}]
derive_pll_clocks
derive_clock_uncertainty
De1-Soc管脚分配
型号:Cyclone V - 5CSEMA5F31C6
//PIN ASSIGNMENTS OF DE1-SOC BOARD
//2016-09-12 BY ZWB
To, Location
//系统时钟
CLOCK_50 , PIN_AF14
CLOCK2_50, PIN_AA16
CLOCK3_50 , PIN_Y26
CLOCK4_50 , PIN_K14
HPS_CLOCK1_25, PIN_D25
HPS_CLOCK2_25, PIN_F25
//拨动开关
SW[0] , PIN_AB12
SW[1] , PIN_AC12
SW[2] , PIN_AF9
SW[3] , PIN_AF10
SW[4] , PIN_AD11
SW[5] , PIN_AD12
SW[6] , PIN_AE11
SW[7] , PIN_AC9
SW[8] , PIN_AD10
SW[9] , PIN_AE12
//防抖按键开关
KEY[0] , PIN_AA14
KEY[1] , PIN_AA15
KEY[2] , PIN_W15
KEY[3] , PIN_Y16
//LED灯
LEDR[0] , PIN_V16
LEDR[1] , PIN_W16
LEDR[2] , PIN_V17
LEDR[3] , PIN_V18
LEDR[4] , PIN_W17
LEDR[5] , PIN_W19
LEDR[6] , PIN_Y19
LEDR[7] , PIN_W20
LEDR[8] , PIN_W21
LEDR[9] , PIN_Y21
//七段数码管
HEX0[0] , PIN_AE26
HEX0[1] , PIN_AE27
HEX0[2] , PIN_AE28
HEX0[3] , PIN_AG27
HEX0[4] , PIN_AF28
HEX0[5] , PIN_AG28
HEX0[6] , PIN_AH28
HEX1[0] , PIN_AJ29
HEX1[1] , PIN_AH29
HEX1[2] , PIN_AH30
HEX1[3] , PIN_AG30
HEX1[4] , PIN_AF29
HEX1[5] , PIN_AF30
HEX1[6] , PIN_AD27
HEX2[0] , PIN_AB23
HEX2[1] , PIN_AE29
HEX2[2] , PIN_AD29
HEX2[3] , PIN_AC28
HEX2[4] , PIN_AD30
HEX2[5] , PIN_AC29
HEX2[6] , PIN_AC30
HEX3[0] , PIN_AD26
HEX3[1] , PIN_AC27
HEX3[2] , PIN_AD25
HEX3[3] , PIN_AC25
HEX3[4] , PIN_AB28
HEX3[5] , PIN_AB25
HEX3[6] , PIN_AB22
HEX4[0] , PIN_AA24
HEX4[1] , PIN_Y23
HEX4[2] , PIN_Y24
HEX4[3] , PIN_W22
HEX4[4] , PIN_W24
HEX4[5] , PIN_V23
HEX4[6] , PIN_W25
HEX5[0] , PIN_V25
HEX5[1] , PIN_AA28
HEX5[2] , PIN_Y27
HEX5[3] , PIN_AB27
HEX5[4] , PIN_AB26
HEX5[5] , PIN_AA26
HEX5[6] , PIN_AA25