本人,是做单片机开发的,前些天老板分配个CPLD项目给我,我现在想问一下,如果我想控制某一个特定的IO口输出某一电平,该怎么做? 也就是说:以前单片机可以通过直接对端口复实现对IO的操作,但是CPLD如何做呢?
比如说: /* 多路选择器,a为1则选择b,为0则选择c,结果输出到数码管显示 a: key1 b: dial[3:0] c: dial[7:4] */ module mux(a,b,c,d,en);
input a; input[3:0]b; input[3:0]c; output[7:0] d; reg[7:0] d; output[7:0]en;
wire[3:0] d_tmp;
assign en=8'b11111110;
assign d_tmp=a? b:c;
always@(d_tmp) begin case(d_tmp) 4'b0000: d=8'b0000_0011; 4'b0001: d=8'b1001_1111; 4'b0010: d=8'b0010_0101; 4'b0011: d=8'b0000_1101; 4'b0100: d=8'b1001_1001; 4'b0101: d=8'b0100_1001; 4'b0110: d=8'b0100_0001; 4'b0111: d=8'b0001_1111; 4'b1000: d=8'b0000_0001; 4'b1001: d=8'b0001_1001; 4'b1010: d=8'b0001_0001; 4'b1011: d=8'b1100_0001; 4'b1100: d=8'b0110_0011; 4'b1101: d=8'b1000_0101; 4'b1110: d=8'b0110_0001; 4'b1111: d=8'b0111_0001; endcase end endmodule
我的数码管应该接到cpld哪个IO上呢? |