fpga verilog里一个模块的时钟有2种以上的选择 ,怎么实现 5

两种很容易assignclk_out=clk_sel?clk1:clk0;就可以了那要有3种时钟选择时怎么实现??... 两种很容易 assign clk_out=clk_sel?clk1:clk0; 就可以了 那要有3种时钟选择时 怎么实现?? 展开
 我来答
whyyxn水瓶座
2014-09-04
知道答主
回答量:16
采纳率:0%
帮助的人:12.2万
展开全部
在always模块里用case语句吧,这样调理清晰,我给个例子,程序贴上来之后排版有点乱,你自己排一下版吧

always @(*)
begin
case(lte_switch)
2'h1 : begin // tx only
txnrx_txon = 1'b1;
enable_rxon = 1'b1;
paon = 1'b1;
lna_on = 1'b0;
rfsw = 1'b1;
end
2'h2 : begin // rx only
txnrx_txon = 1'b0;
enable_rxon = 1'b1;
paon = 1'b0;
lna_on = 1'b1;
rfsw = 1'b0;
end
2'h3 : begin
txnrx_txon = 1'b0;
enable_rxon = 1'b0;
paon = 1'b0;
lna_on = 1'b0;
rfsw = 1'b0;
end
default:begin // normal
txnrx_txon = T2K_GPIO14 ;
enable_rxon = T2K_GPIO0 ;
paon = T2K_GPIO15 ;
lna_on = ~paon ;
rfsw = T2K_GPIO14 ;
end
endcase
end
更多追问追答
追问
always @(*)  是上电  就一直执行这个模块吗? *  代表无条件执行?

程序里哪个的输入 输出变量 都是什么啊?代表什么意思啊?
追答
我看你是很初学的吧,always语句的敏感列表,针对组合逻辑的话,用*表示对后面语句块中所有输入变量的变化都是敏感的。估计你暂时不能理解;
程序的输入输出变量你不要管,那是我自己的程序摘出来的。
你现在可以好好学一下always块语句和case语句的用法,很有用的。找本书来看
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式